AFF --- A container for numbers (array) by Friederich and Forbriger.
aff Namespace Reference

Root namespace of library. More...

Namespaces

 anonymous_namespace{dump.cc}
 
 anonymous_namespace{dump_array.h}
 
 func
 
 util
 Internal utilities.
 

Classes

class  AllocException
 Exception thrown in case of allocation error. More...
 
class  Array
 Full multi-dimensional array functionality.This is the full array class template. It adds no additional functionality to its base class aff::ConstArray. But it provied acess to all member functions of the base, also to functions that allow data modification. More...
 
class  Browser
 Browser. More...
 
class  CArray
 Interface class to raw memory (C style array) More...
 
class  ConstArray
 Array base classThis is a multidimensional (array) container that uses a strided memory layout (Fortran shape) and counted references to data in global memory. For examples see the various test programs. More...
 
class  ConstCArray
 Interface class to raw memory (C style array) More...
 
class  ConstSeries
 base class More...
 
class  ConstSharedHeap
 This is the base class for const elements. More...
 
class  CSeries
 access Series contents through raw memory More...
 
class  Exception
 Base class for exceptions. More...
 
class  FortranArray
 Class to provide Fortran interface values. More...
 
class  Iterator
 Iterator. More...
 
class  LinearShape
 Shape for class aff::Series. More...
 
class  Series
 A base class for time series and spectra. More...
 
class  Shaper
 Shaper class for Fortran layout. More...
 
class  SharedHeap
 A template class to share heap memory for different array projections. More...
 
class  SimpleRigidArray
 A very basic rigid array class (with deep inline copy). More...
 
class  Strided
 Shape for a rectangular array layout. More...
 

Typedefs

typedef unsigned short int Tdim
 Type to hold an array dimensionality. More...
 
typedef size_t Tsize
 Type to hold the size of an array dimension. More...
 
typedef ptrdiff_t Tsubscript
 Type to hold an array's subscript value. More...
 

Functions

template<class T >
aff::Series< T > series_from_array (const aff::Array< T > &array)
 create a series container from an array container. More...
 
template<class T >
aff::ConstSeries< T > series_from_array (const aff::ConstArray< T > &array)
 create a series container from an array container. More...
 
template<class T >
aff::Array< T > array_from_series (const aff::Series< T > &array)
 create an array container from a series container. More...
 
template<class T >
aff::ConstArray< T > array_from_series (const aff::ConstSeries< T > &array)
 create an array container from a series container. More...
 
template<class T >
aff::Series< T > series_from_raw_memory (T *pointer, const unsigned int size)
 create a series class from raw memory. More...
 
void dump (const Strided &shape, std::ostream &os)
 dump shape More...
 
void dump_map (const Strided &shape, const Tdim &i, std::ostream &os)
 dump index mapping of shape More...
 
template<class S , class T >
void deepcopy (const S &source, T &target)
 deep copy More...
 
template<class T >
void dump_array_values (const ConstArray< T > &array, const Tdim &i=(Strided::Mmax_dimen-1), std::ostream &os=std::cout)
 Dump array values only. More...
 
template<class T >
void dump_array (const ConstArray< T > &array, const Tdim &i=(Strided::Mmax_dimen-1), std::ostream &os=std::cout)
 Dump array values. More...
 
template<class T >
void dump (const ConstArray< T > &array, std::ostream &os=std::cout)
 Dump array shape. More...
 
template<typename T >
void dump (const aff::ConstSeries< T > &series, std::ostream &os=std::cout)
 Dump series contents. More...
 
template<typename T >
void dump_layout (const aff::ConstSharedHeap< T > &sharedheap, std::ostream &os=std::cout)
 Dump heap layout. More...
 
template<typename T >
void dump (const aff::ConstSharedHeap< T > &sharedheap, std::ostream &os=std::cout)
 Dump heap contents. More...
 
template<class T , Tsize N>
void dump (const aff::SimpleRigidArray< T, N > &array, std::ostream &os=std::cout)
 Dump aff::SimpleRigidArray. More...
 
template<class T >
const AFF_OPERATORS_CLASS< T > & operator+= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<class T >
const AFF_OPERATORS_CLASS< T > & operator*= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<class T >
const AFF_OPERATORS_CLASS< T > & operator/= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<class T >
const AFF_OPERATORS_CLASS< T > & operator-= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<typename T , Tsize N>
inline_product (const SimpleRigidArray< T, N > &array)
 Product of all elements. More...
 
template<typename T , Tsize N>
inline_sum (const SimpleRigidArray< T, N > &array)
 Sum of all elements. More...
 
template<typename T , Tsize N>
bool inline_anysmaller (const SimpleRigidArray< T, N > &A, const SimpleRigidArray< T, N > &B)
 Returns true if any of A is smaller than corresponding B. More...
 
template<typename T , Tsize N>
bool inline_anylarger (const SimpleRigidArray< T, N > &A, const SimpleRigidArray< T, N > &B)
 Returns true if any of A is larger than corresponding B. More...
 
template<typename T1 , typename T2 , Tsize N>
bool inline_anylarger (const SimpleRigidArray< T1, N > &A, const SimpleRigidArray< T2, N > &B)
 Returns true if any of A is larger than corresponding B. More...
 
template<typename T , Tsize N>
inline_innerproduct (const SimpleRigidArray< T, N > &A, const SimpleRigidArray< T, N > &B)
 Returns inner product. More...
 
template<typename T1 , typename T2 , Tsize N>
T1 inline_innerproduct (const SimpleRigidArray< T1, N > &A, const SimpleRigidArray< T2, N > &B)
 Returns inner product. More...
 
template<typename T , Tsize N>
inline_strideproduct (const SimpleRigidArray< T, N > &A, const SimpleRigidArray< T, N > &B)
 Returns strided product. More...
 
template<class C >
aff::util::Slice< C > slice (const C &c)
 Wrapper function to select correct type. More...
 
template<class C >
aff::util::Subarray< C > subarray (const C &c)
 Wrapper function to select correct type. More...
 
template<class T >
AFF_OPERATORS_CLASS< T > operator+ (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > operator+ (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
template<class T >
AFF_OPERATORS_CLASS< T > operator* (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > operator* (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
template<class T >
AFF_OPERATORS_CLASS< T > operator/ (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > operator/ (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
template<class T >
AFF_OPERATORS_CLASS< T > operator- (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > operator- (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > operator+ (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > operator* (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > operator/ (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > operator- (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & operator+= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & operator*= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & operator/= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & operator-= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 

Detailed Description

Root namespace of library.

This namespace contains all modules of the library (see Modules of the library). Here you should find all components, the user needs to work with this library.