AARE
Data analysis library for PSI hybrid detectors
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes
aare::NDArray< T, Ndim > Class Template Reference

#include <NDArray.hpp>

Public Types

using value_type = T
 

Public Member Functions

 NDArray ()
 
 NDArray (std::array< ssize_t, Ndim > shape)
 
 NDArray (std::array< ssize_t, Ndim > shape, T value)
 
 NDArray (NDView< T, Ndim > span)
 
 NDArray (NDArray &&other)
 
 NDArray (const NDArray &other)
 
 ~NDArray ()
 
auto begin ()
 
auto end ()
 
NDArrayoperator= (NDArray &&other)
 
NDArrayoperator= (const NDArray &other)
 
NDArray operator+ (const NDArray &other)
 
NDArrayoperator+= (const NDArray &other)
 
NDArray operator- (const NDArray &other)
 
NDArrayoperator-= (const NDArray &other)
 
NDArray operator* (const NDArray &other)
 
NDArrayoperator*= (const NDArray &other)
 
NDArray operator/ (const NDArray &other)
 
template<typename V >
NDArrayoperator/= (const NDArray< V, Ndim > &other)
 
NDArray< bool, Ndim > operator> (const NDArray &other)
 
bool operator== (const NDArray &other) const
 
bool operator!= (const NDArray &other) const
 
NDArrayoperator= (const T &)
 
NDArrayoperator+= (const T &)
 
NDArray operator+ (const T &)
 
NDArrayoperator-= (const T &)
 
NDArray operator- (const T &)
 
NDArrayoperator*= (const T &)
 
NDArray operator* (const T &)
 
NDArrayoperator/= (const T &)
 
NDArray operator/ (const T &)
 
NDArrayoperator&= (const T &)
 
void sqrt ()
 
NDArrayoperator++ ()
 
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type operator() (Ix... index)
 
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type operator() (Ix... index) const
 
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T >::type value (Ix... index)
 
T & operator() (int i)
 
const T & operator() (int i) const
 
T * data ()
 
std::byte * buffer ()
 
ssize_t size () const
 
size_t total_bytes () const
 
std::array< ssize_t, Ndim > shape () const noexcept
 
ssize_t shape (ssize_t i) const noexcept
 
std::array< ssize_t, Ndim > strides () const noexcept
 
std::array< ssize_t, Ndim > byte_strides () const noexcept
 
NDView< T, Ndim > span () const
 
void Print ()
 
void Print_all ()
 
void Print_some ()
 
void reset ()
 

Private Attributes

std::array< ssize_t, Ndim > shape_
 
std::array< ssize_t, Ndim > strides_
 
ssize_t size_
 
T * data_
 

Member Typedef Documentation

◆ value_type

template<typename T , ssize_t Ndim = 2>
using aare::NDArray< T, Ndim >::value_type = T

Constructor & Destructor Documentation

◆ NDArray() [1/6]

template<typename T , ssize_t Ndim = 2>
aare::NDArray< T, Ndim >::NDArray ( )
inline

◆ NDArray() [2/6]

template<typename T , ssize_t Ndim = 2>
aare::NDArray< T, Ndim >::NDArray ( std::array< ssize_t, Ndim >  shape)
inlineexplicit

◆ NDArray() [3/6]

template<typename T , ssize_t Ndim = 2>
aare::NDArray< T, Ndim >::NDArray ( std::array< ssize_t, Ndim >  shape,
value 
)
inline

◆ NDArray() [4/6]

template<typename T , ssize_t Ndim = 2>
aare::NDArray< T, Ndim >::NDArray ( NDView< T, Ndim >  span)
inline

◆ NDArray() [5/6]

template<typename T , ssize_t Ndim = 2>
aare::NDArray< T, Ndim >::NDArray ( NDArray< T, Ndim > &&  other)
inline

◆ NDArray() [6/6]

template<typename T , ssize_t Ndim = 2>
aare::NDArray< T, Ndim >::NDArray ( const NDArray< T, Ndim > &  other)
inline

◆ ~NDArray()

template<typename T , ssize_t Ndim = 2>
aare::NDArray< T, Ndim >::~NDArray ( )
inline

Member Function Documentation

◆ begin()

template<typename T , ssize_t Ndim = 2>
auto aare::NDArray< T, Ndim >::begin ( )
inline

◆ buffer()

template<typename T , ssize_t Ndim = 2>
std::byte * aare::NDArray< T, Ndim >::buffer ( )
inline

◆ byte_strides()

template<typename T , ssize_t Ndim = 2>
std::array< ssize_t, Ndim > aare::NDArray< T, Ndim >::byte_strides ( ) const
inlinenoexcept

◆ data()

template<typename T , ssize_t Ndim = 2>
T * aare::NDArray< T, Ndim >::data ( )
inline

◆ end()

template<typename T , ssize_t Ndim = 2>
auto aare::NDArray< T, Ndim >::end ( )
inline

◆ operator!=()

template<typename T , ssize_t Ndim>
bool aare::NDArray< T, Ndim >::operator!= ( const NDArray< T, Ndim > &  other) const

◆ operator&=()

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator&= ( const T &  mask)

◆ operator()() [1/4]

template<typename T , ssize_t Ndim = 2>
T & aare::NDArray< T, Ndim >::operator() ( int  i)
inline

◆ operator()() [2/4]

template<typename T , ssize_t Ndim = 2>
const T & aare::NDArray< T, Ndim >::operator() ( int  i) const
inline

◆ operator()() [3/4]

template<typename T , ssize_t Ndim = 2>
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type aare::NDArray< T, Ndim >::operator() ( Ix...  index)
inline

◆ operator()() [4/4]

template<typename T , ssize_t Ndim = 2>
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type aare::NDArray< T, Ndim >::operator() ( Ix...  index) const
inline

◆ operator*() [1/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator* ( const NDArray< T, Ndim > &  other)

◆ operator*() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator* ( const T &  value)

◆ operator*=() [1/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator*= ( const NDArray< T, Ndim > &  other)

◆ operator*=() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator*= ( const T &  value)

◆ operator+() [1/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator+ ( const NDArray< T, Ndim > &  other)

◆ operator+() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator+ ( const T &  value)

◆ operator++()

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator++

◆ operator+=() [1/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator+= ( const NDArray< T, Ndim > &  other)

◆ operator+=() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator+= ( const T &  value)

◆ operator-() [1/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator- ( const NDArray< T, Ndim > &  other)

◆ operator-() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator- ( const T &  value)

◆ operator-=() [1/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator-= ( const NDArray< T, Ndim > &  other)

◆ operator-=() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator-= ( const T &  value)

◆ operator/() [1/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator/ ( const NDArray< T, Ndim > &  other)

◆ operator/() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > aare::NDArray< T, Ndim >::operator/ ( const T &  value)

◆ operator/=() [1/2]

template<typename T , ssize_t Ndim = 2>
template<typename V >
NDArray & aare::NDArray< T, Ndim >::operator/= ( const NDArray< V, Ndim > &  other)
inline

◆ operator/=() [2/2]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator/= ( const T &  value)

◆ operator=() [1/3]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator= ( const NDArray< T, Ndim > &  other)

◆ operator=() [2/3]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator= ( const T &  value)

◆ operator=() [3/3]

template<typename T , ssize_t Ndim>
NDArray< T, Ndim > & aare::NDArray< T, Ndim >::operator= ( NDArray< T, Ndim > &&  other)

◆ operator==()

template<typename T , ssize_t Ndim>
bool aare::NDArray< T, Ndim >::operator== ( const NDArray< T, Ndim > &  other) const

◆ operator>()

template<typename T , ssize_t Ndim>
NDArray< bool, Ndim > aare::NDArray< T, Ndim >::operator> ( const NDArray< T, Ndim > &  other)

◆ Print()

template<typename T , ssize_t Ndim>
void aare::NDArray< T, Ndim >::Print

◆ Print_all()

template<typename T , ssize_t Ndim>
void aare::NDArray< T, Ndim >::Print_all

◆ Print_some()

template<typename T , ssize_t Ndim>
void aare::NDArray< T, Ndim >::Print_some

◆ reset()

template<typename T , ssize_t Ndim = 2>
void aare::NDArray< T, Ndim >::reset ( )
inline

◆ shape() [1/2]

template<typename T , ssize_t Ndim = 2>
std::array< ssize_t, Ndim > aare::NDArray< T, Ndim >::shape ( ) const
inlinenoexcept

◆ shape() [2/2]

template<typename T , ssize_t Ndim = 2>
ssize_t aare::NDArray< T, Ndim >::shape ( ssize_t  i) const
inlinenoexcept

◆ size()

template<typename T , ssize_t Ndim = 2>
ssize_t aare::NDArray< T, Ndim >::size ( ) const
inline

◆ span()

template<typename T , ssize_t Ndim = 2>
NDView< T, Ndim > aare::NDArray< T, Ndim >::span ( ) const
inline

◆ sqrt()

template<typename T , ssize_t Ndim = 2>
void aare::NDArray< T, Ndim >::sqrt ( )
inline

◆ strides()

template<typename T , ssize_t Ndim = 2>
std::array< ssize_t, Ndim > aare::NDArray< T, Ndim >::strides ( ) const
inlinenoexcept

◆ total_bytes()

template<typename T , ssize_t Ndim = 2>
size_t aare::NDArray< T, Ndim >::total_bytes ( ) const
inline

◆ value()

template<typename T , ssize_t Ndim = 2>
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T >::type aare::NDArray< T, Ndim >::value ( Ix...  index)
inline

Field Documentation

◆ data_

template<typename T , ssize_t Ndim = 2>
T* aare::NDArray< T, Ndim >::data_
private

◆ shape_

template<typename T , ssize_t Ndim = 2>
std::array<ssize_t, Ndim> aare::NDArray< T, Ndim >::shape_
private

◆ size_

template<typename T , ssize_t Ndim = 2>
ssize_t aare::NDArray< T, Ndim >::size_
private

◆ strides_

template<typename T , ssize_t Ndim = 2>
std::array<ssize_t, Ndim> aare::NDArray< T, Ndim >::strides_
private

The documentation for this class was generated from the following file: