npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
ArrayND.hh File Reference

Arbitrary-dimensional array template. More...

#include <vector>
#include <cassert>
#include <utility>
#include "geners/ClassId.hh"
#include "geners/CPP11_auto_ptr.hh"
#include "npstat/nm/SimpleFunctors.hh"
#include "npstat/nm/ArrayRange.hh"
#include "npstat/nm/AbsArrayProjector.hh"
#include "npstat/nm/AbsVisitor.hh"
#include "npstat/nm/LongerType.hh"
#include "npstat/nm/PreciseType.hh"
#include "npstat/nm/ProperDblFromCmpl.hh"
#include "npstat/nm/ArrayND.icc"

Go to the source code of this file.

Classes

class  npstat::ArrayND< Numeric, StackLen, StackDim >
 

Namespaces

 npstat
 

Functions

template<typename Numeric , unsigned StackLen, unsigned StackDim, typename Num2 , unsigned Len2, unsigned Dim2>
npstat::ArrayND< typename npstat::LongerType< Numeric, Num2 >::type, npstat::BiggerUInt< StackLen, Len2 >::value, npstat::BiggerUInt< StackDim, Dim2 >::value > operator+ (const npstat::ArrayND< Numeric, StackLen, StackDim > &l, const npstat::ArrayND< Num2, Len2, Dim2 > &r)
 
template<typename Numeric , unsigned StackLen, unsigned StackDim, typename Num2 , unsigned Len2, unsigned Dim2>
npstat::ArrayND< typename npstat::LongerType< Numeric, Num2 >::type, npstat::BiggerUInt< StackLen, Len2 >::value, npstat::BiggerUInt< StackDim, Dim2 >::value > operator- (const npstat::ArrayND< Numeric, StackLen, StackDim > &l, const npstat::ArrayND< Num2, Len2, Dim2 > &r)
 
template<typename Numeric , unsigned StackLen, unsigned StackDim, typename Num2 , unsigned Len2, unsigned Dim2>
npstat::ArrayND< typename npstat::LongerType< Numeric, Num2 >::type, npstat::BiggerUInt< StackLen, Len2 >::value, npstat::BiggerUInt< StackDim, Dim2 >::value > operator* (const npstat::ArrayND< Numeric, StackLen, StackDim > &l, const npstat::ArrayND< Num2, Len2, Dim2 > &r)
 
template<typename Numeric , unsigned StackLen, unsigned StackDim, typename Num2 , unsigned Len2, unsigned Dim2>
npstat::ArrayND< typename npstat::LongerType< Numeric, Num2 >::type, npstat::BiggerUInt< StackLen, Len2 >::value, npstat::BiggerUInt< StackDim, Dim2 >::value > operator/ (const npstat::ArrayND< Numeric, StackLen, StackDim > &l, const npstat::ArrayND< Num2, Len2, Dim2 > &r)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, const unsigned *shape, unsigned dim)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, const ArrayShape &shape)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2, unsigned n3)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6, unsigned n7)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6, unsigned n7, unsigned n8)
 
template<typename Numeric >
ArrayND< Numeric > npstat::externalMemArrayND (Numeric *data, unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6, unsigned n7, unsigned n8, unsigned n9)
 
template<typename Numeric >
CPP11_auto_ptr< ArrayND< Numeric > > npstat::allocExternalMemArrayND (Numeric *data, const unsigned *shape, unsigned dim)
 
template<typename Numeric >
CPP11_auto_ptr< ArrayND< Numeric > > npstat::allocExternalMemArrayND (Numeric *data, const ArrayShape &shape)
 
template<class Arr >
Arr::value_type npstat::arrayMin (const Arr &arr)
 
template<class Arr >
ArrayShape npstat::arrayArgmin (const Arr &arr)
 
template<class Arr >
Arr::value_type npstat::arrayMax (const Arr &arr)
 
template<class Arr >
ArrayShape npstat::arrayArgmax (const Arr &arr)
 
template<class Arr >
std::pair< typename Arr::value_type, typename Arr::value_type > npstat::arrayMinMax (const Arr &arr)
 
template<class Arr >
bool npstat::arrayIsNonNegative (const Arr &arr)
 
template<class Arr >
bool npstat::arrayIsDensity (const Arr &arr)
 
template<typename Num2 , typename Numeric , unsigned StackLen, unsigned StackDim>
npstat::ArrayND< Numeric, StackLen, StackDim > operator* (const Num2 &l, const npstat::ArrayND< Numeric, StackLen, StackDim > &r)
 

Detailed Description

Arbitrary-dimensional array template.

Author: I. Volobouev

October 2009

Function Documentation

◆ operator+()

template<typename Numeric , unsigned StackLen, unsigned StackDim, typename Num2 , unsigned Len2, unsigned Dim2>
npstat::ArrayND<typename npstat::LongerType<Numeric,Num2>::type, npstat::BiggerUInt<StackLen,Len2>::value, npstat::BiggerUInt<StackDim,Dim2>::value> operator+ ( const npstat::ArrayND< Numeric, StackLen, StackDim > &  l,
const npstat::ArrayND< Num2, Len2, Dim2 > &  r 
)

Element-wise arithmetic operator