Classes | |
| class | PHX::Array< Scalar, RankZero, void, void, void, void, void, void, void, void > |
| Specialization for an array with Rank = 0. More... | |
| class | PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void > |
| The not-preferred multi-dimensional Array interface with runtime user-defined dimension ordinates. Typically used when runtime-polymorphic arrays are passed to functions. More... | |
| struct | PHX::array_check_ordinal_is_less< 0, 8 > |
| struct | PHX::array_check_ordinal_is_less< 1, 8 > |
| struct | PHX::array_check_ordinal_is_less< 2, 8 > |
| struct | PHX::array_check_ordinal_is_less< 3, 8 > |
| struct | PHX::array_check_ordinal_is_less< 4, 8 > |
| struct | PHX::array_check_ordinal_is_less< 5, 8 > |
| struct | PHX::array_check_ordinal_is_less< 6, 8 > |
| struct | PHX::array_check_ordinal_is_less< 7, 8 > |
| struct | PHX::array_check_ordinal_is_less< 0, 7 > |
| struct | PHX::array_check_ordinal_is_less< 1, 7 > |
| struct | PHX::array_check_ordinal_is_less< 2, 7 > |
| struct | PHX::array_check_ordinal_is_less< 3, 7 > |
| struct | PHX::array_check_ordinal_is_less< 4, 7 > |
| struct | PHX::array_check_ordinal_is_less< 5, 7 > |
| struct | PHX::array_check_ordinal_is_less< 6, 7 > |
| struct | PHX::array_check_ordinal_is_less< 0, 6 > |
| struct | PHX::array_check_ordinal_is_less< 1, 6 > |
| struct | PHX::array_check_ordinal_is_less< 2, 6 > |
| struct | PHX::array_check_ordinal_is_less< 3, 6 > |
| struct | PHX::array_check_ordinal_is_less< 4, 6 > |
| struct | PHX::array_check_ordinal_is_less< 5, 6 > |
| struct | PHX::array_check_ordinal_is_less< 0, 5 > |
| struct | PHX::array_check_ordinal_is_less< 1, 5 > |
| struct | PHX::array_check_ordinal_is_less< 2, 5 > |
| struct | PHX::array_check_ordinal_is_less< 3, 5 > |
| struct | PHX::array_check_ordinal_is_less< 4, 5 > |
| struct | PHX::array_check_ordinal_is_less< 0, 4 > |
| struct | PHX::array_check_ordinal_is_less< 1, 4 > |
| struct | PHX::array_check_ordinal_is_less< 2, 4 > |
| struct | PHX::array_check_ordinal_is_less< 3, 4 > |
| struct | PHX::array_check_ordinal_is_less< 0, 3 > |
| struct | PHX::array_check_ordinal_is_less< 1, 3 > |
| struct | PHX::array_check_ordinal_is_less< 2, 3 > |
| struct | PHX::array_check_ordinal_is_less< 0, 2 > |
| struct | PHX::array_check_ordinal_is_less< 1, 2 > |
| struct | PHX::array_check_ordinal_is_less< 0, 1 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 0 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 1 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 2 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 3 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 4 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 5 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 6 > |
| struct | PHX::ArrayTagAt< Array< Scalar, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >, 7 > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, Tag1, Tag2, void, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, Tag1, Tag2, void, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, Tag1, void, void, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, Tag1, void, void, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, RankZero, void, void, void, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, NaturalOrder, void, void, void, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayAppend< Array< Scalar, FortranOrder, void, void, void, void, void, void, void, void >, TApp > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, void, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, void, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, Tag2, void, void, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, Tag2, void, void, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, Tag1, void, void, void, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, Tag1, void, void, void, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, NaturalOrder, void, void, void, void, void, void, void, void > > |
| struct | PHX::ArrayReverse< Array< Scalar, FortranOrder, void, void, void, void, void, void, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > > |
| struct | PHX::ArrayTruncate< Array< Scalar, NaturalOrder, Tag1, void, void, void, void, void, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, void, void, void, void, void, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, Tag2, void, void, void, void, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, void, void, void, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, void, void, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, void, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, void, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, void > > |
| struct | PHX::ArrayTruncate< Array< Scalar, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > > |
| struct | PHX::ArrayStrideDim< RankZero, Rank, Ordinal > |
| struct | PHX::ArrayStrideDim< FortranOrder, Rank, 0 > |
| struct | PHX::ArrayStrideDim< NaturalOrder, Rank, 0 > |
| struct | PHX::ArrayStrideDim< FortranOrder, Rank, Ordinal > |
| struct | PHX::ArrayStrideDim< NaturalOrder, Rank, Ordinal > |
| struct | PHX::Array< void, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > |
| struct | PHX::Array< void, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, void > |
| struct | PHX::Array< void, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, void, void > |
| struct | PHX::Array< void, FortranOrder, Tag1, Tag2, Tag3, Tag4, Tag5, void, void, void > |
| struct | PHX::Array< void, FortranOrder, Tag1, Tag2, Tag3, Tag4, void, void, void, void > |
| struct | PHX::Array< void, FortranOrder, Tag1, Tag2, Tag3, void, void, void, void, void > |
| struct | PHX::Array< void, FortranOrder, Tag1, Tag2, void, void, void, void, void, void > |
| struct | PHX::Array< void, FortranOrder, Tag1, void, void, void, void, void, void, void > |
| struct | PHX::Array< void, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > |
| struct | PHX::Array< void, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, void > |
| struct | PHX::Array< void, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, void, void > |
| struct | PHX::Array< void, NaturalOrder, Tag1, Tag2, Tag3, Tag4, Tag5, void, void, void > |
| struct | PHX::Array< void, NaturalOrder, Tag1, Tag2, Tag3, Tag4, void, void, void, void > |
| struct | PHX::Array< void, NaturalOrder, Tag1, Tag2, Tag3, void, void, void, void, void > |
| struct | PHX::Array< void, NaturalOrder, Tag1, Tag2, void, void, void, void, void, void > |
| struct | PHX::Array< void, NaturalOrder, Tag1, void, void, void, void, void, void, void > |
| struct | PHX::Array< void, RankZero, void, void, void, void, void, void, void, void > |
| class | PHX::ArrayDimTag |
| Abstract base class for array dimension tags supplied to the Array template class. More... | |
| class | PHX::ArrayDimension |
| An anonymous array dimension tag, which is NOT the recommended usage. More... | |
| class | PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > |
| The preferred multi-dimensional Array interface with compile-time user-defined dimension ordinates. More... | |
Enumerations | |
| enum | PHX::ArrayOrder { PHX::NaturalOrder, PHX::FortranOrder, PHX::RankZero } |
| Define Natural (C-language) or Fortran ordering of array dimensions. A RankZero array does not have an ordering. More... | |
Functions | |
| unsigned | PHX::array_stride_size (const unsigned rank, const unsigned *const stride) |
| Return the total number of members from the array stride. | |
| void | PHX::array_stride_to_natural_dimensions (const unsigned rank, const unsigned *const stride, unsigned *const dim) |
| Generate natural dimension from array stride. | |
| void | PHX::array_stride_to_natural_indices (const unsigned rank, const unsigned *const stride, const unsigned offset, unsigned *const indices) |
| Generate natural indices from array stride. | |
| void | PHX::array_check_rank (const unsigned rank, const unsigned test_rank) |
| void | PHX::array_check_ordinal (const unsigned rank, const unsigned test_ordinal) |
| void | PHX::array_check_index (const unsigned dim, const unsigned index) |
| void | PHX::array_check_offset (const unsigned size, const unsigned test_offset) |
| void | PHX::array_check_indices (const bool arg_natural, const unsigned arg_rank, const unsigned *const arg_stride, const unsigned arg_i1, const unsigned arg_i2, const unsigned arg_i3, const unsigned arg_i4, const unsigned arg_i5, const unsigned arg_i6, const unsigned arg_i7, const unsigned arg_i8) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6, const unsigned &i7, const unsigned &i8) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6, const unsigned &i7) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1, const unsigned &i2, const unsigned &i3) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1, const unsigned &i2) |
| template<ArrayOrder array_order, unsigned rank> | |
| unsigned | PHX::array_offset (const unsigned *const , const unsigned &i1) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 8 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6, const unsigned &i7, const unsigned &i8) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 7 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6, const unsigned &i7) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 6 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 5 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 4 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 3 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 2 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2) |
| template<> | |
| unsigned | PHX::array_offset< FortranOrder, 1 > (const unsigned *const ARRAY_CHECK(stride), const unsigned &i1) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 8 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6, const unsigned &i7, const unsigned &i8) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 7 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6, const unsigned &i7) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 6 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5, const unsigned &i6) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 5 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4, const unsigned &i5) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 4 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3, const unsigned &i4) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 3 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2, const unsigned &i3) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 2 > (const unsigned *const stride, const unsigned &i1, const unsigned &i2) |
| template<> | |
| unsigned | PHX::array_offset< NaturalOrder, 1 > (const unsigned *const ARRAY_CHECK(stride), const unsigned &i1) |
Given the user-defined array dimension tags Cartesian3D and Points define a function to find the centroid of an array of points.
void centroid( const Array<double,FortranOrder,Cartesian3D,Points> points ,
const Array<double,FortranOrder,Cartesian3D> x )
{
const unsigned nspace = points.dimension<0>();
const unsigned npoints = points.dimension<1>();
for ( unsigned id = 0 ; ip < npoints ; ++id ) {
x(id) = 0 ;
}
for ( unsigned ip = 0 ; ip < npoints ; ++ip ) {
for ( unsigned id = 0 ; id < npoints ; ++id ) {
x(id) += points( id , ip );
}
}
for ( unsigned id = 0 ; ip < npoints ; ++id ) {
x(id) /= npoints ;
}
}
Example of User-defined Array Dimension Tags
struct Cartesian3D : public ArrayDimTag {
enum { Size = 3 }; // Default size for this dimension.
const char * name() const ; // Supply the pure-virtual function.
static const Cartesian3D & tag(); // Runtime singleton for this tag.
};
struct Points : public ArrayDimTag {
const char * name() const ; // Supply the pure-virtual function.
static const Points & tag(); // Runtime singleton for this tag.
// NO default Size enumeration.
};
Example of Creating an Array
Given a block of memory for the collection of points, wrap it in an Array.
double * chunk = ... ; // Chunk of memory from somewhere unsigned npoints = ... ; // containing a number of points
Array<double,FortranOrder,Cartesian3D,Points> points( chunk , npoints );The points array has dimension<0> set to Cartesian3D::Size and dimension<1> set to npoints. If the npoints argument where omitted then a compilation error would be generated due to the missing Points::Size enumeration.
| enum PHX::ArrayOrder |
Define Natural (C-language) or Fortran ordering of array dimensions. A RankZero array does not have an ordering.
1.4.7