Public Types | Public Member Functions | Static Public Member Functions

FiberType< T > Class Template Reference

Description of types, which is meta-information like what is the number of elements of some array-like type. More...

#include <FiberType.hpp>

List of all members.

Public Types

Public Member Functions

Static Public Member Functions


Detailed Description

template<class T>
class FiberType< T >

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++ .


Member Function Documentation

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.