IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
FieldLayout.h File Reference
#include <array>
#include <iostream>
#include <map>
#include <vector>
#include "Types/ViewTypes.h"
#include "Communicate/Communicator.h"
#include "Index/NDIndex.h"
#include "Partition/Partitioner.h"
#include "FieldLayout/FieldLayout.hpp"
Include dependency graph for FieldLayout.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ippl::FieldLayout< Dim >
struct  ippl::FieldLayout< Dim >::bound_type

Namespaces

namespace  ippl
namespace  ippl::detail

Enumerations

enum  ippl::e_cube_tag { ippl::UPPER = 0 , ippl::LOWER = 1 , ippl::IS_PARALLEL = 2 }

Functions

template<unsigned Dim>
std::ostream & ippl::operator<< (std::ostream &, const FieldLayout< Dim > &)
KOKKOS_INLINE_FUNCTION constexpr unsigned int ippl::detail::countHypercubes (unsigned int dim)
constexpr unsigned int ippl::detail::factorial (unsigned x)
constexpr unsigned int ippl::detail::binomialCoefficient (unsigned a, unsigned b)
template<unsigned Dim>
constexpr unsigned int ippl::detail::countCubes (unsigned m)
bool ippl::detail::isUpper (unsigned int face)
unsigned int ippl::detail::getFaceDim (unsigned int face)
template<unsigned Dim>
unsigned int ippl::detail::indexToFace (unsigned int index)
template<unsigned Dim, typename... CubeTags, typename = std::enable_if_t<sizeof...(CubeTags) == Dim - 1>, typename = std::enable_if_t<std::conjunction_v<std::is_same<e_cube_tag, CubeTags>...>>>
unsigned int ippl::detail::getCube (e_cube_tag tag, CubeTags... tags)
template<size_t... Idx>
unsigned int ippl::detail::getFace_impl (const std::array< e_cube_tag, sizeof...(Idx)> &args, const std::index_sequence< Idx... > &)
template<unsigned Dim>
unsigned int ippl::detail::getFace (unsigned int axis, e_cube_tag side)