Description of types, which is meta-information like what is the number of elements of some array-like type. More...
#include <FiberType.hpp>
Description of types, which is meta-information like what is the number of elements of some array-like type.
This class is supposed to describe the properties of a fiber space, and thus is applicable only to homogeneous types. It supports types as used in Tensor algebra and Geometric algebra, but NOT types such as generic types in C++ .
override int FiberType< T >::element_index | ( | const int | i[] | ) | const [inline, virtual] |
Information about the organization of elements of a multi-ranked object.
The index i must be smaller than rank().
Implements FiberTypeBase.
override int FiberType< T >::grade | ( | ) | const [inline, virtual] |
The grade of this vector type, a multivector quantity from geometric algebra.
Note that at this point mixed multivectors (sums of vectors of multple grades) are NOT supported.
Implements FiberTypeBase.
override unsigned FiberType< T >::multiplicity | ( | ) | const [inline, virtual] |
How many atomic elements construct this type.
Note that in memory there might be more than that due to alignment issues, see mem_size().
Implements FiberTypeBase.
override int FiberType< T >::rank | ( | ) | const [inline, virtual] |
For tensorial objects, specify the rank.
A matrix has rank two, a vector has rank one. Scalars have rank zero. The number of elements (multiplicity() ) can at most be chart_dimension() to the power of rank().
Implements FiberTypeBase.