|
| | MHO_NDArrayWrapper () |
| |
| | MHO_NDArrayWrapper (const MHO_NDArrayWrapper &obj) |
| |
| | MHO_NDArrayWrapper (const std::size_t *dim) |
| |
| | MHO_NDArrayWrapper (XValueType *ptr, const std::size_t *dim) |
| |
| virtual | ~MHO_NDArrayWrapper () |
| |
| template<typename... XIndexTypeS> |
| std::enable_if<(sizeof...(XIndexTypeS)==RANK), XValueType & >::type | at (XIndexTypeS... idx) |
| | at(): same as operator(...) but with bounds checking with bounds checking More...
|
| |
| template<typename... XIndexTypeS> |
| std::enable_if<(sizeof...(XIndexTypeS)==RANK), const XValueType & >::type | at (XIndexTypeS... idx) const |
| | at(): same as const operator(...) but with bounds checking with bounds checking More...
|
| |
| iterator | begin () |
| |
| const_iterator | cbegin () const |
| |
| const_iterator | cend () const |
| |
| bool | CheckIndexValidity (const index_type &idx) const |
| |
| const_iterator | citerator_at (std::size_t offset) const |
| |
| MHO_NDArrayWrapper * | Clone () |
| | clone functionality - creates a deep copy of this MHO_NDArrayWrapper object. More...
|
| |
| virtual void | Copy (const MHO_NDArrayView< XValueType, RANK > &rhs) |
| |
| virtual void | Copy (const MHO_NDArrayWrapper &rhs) |
| |
| const_stride_iterator | cstride_begin (std::size_t stride) const |
| |
| const_stride_iterator | cstride_end (std::size_t stride) const |
| |
| const_stride_iterator | cstride_iterator_at (std::size_t offset, std::size_t stride) const |
| |
| iterator | end () |
| |
| XValueType * | GetData () |
| | access to underlying data pointer (unsafe) More...
|
| |
| const XValueType * | GetData () const |
| |
| std::size_t | GetDimension (std::size_t idx) const |
| | Getter for dimension. More...
|
| |
| index_type | GetDimensionArray () const |
| | Getter for dimension array. More...
|
| |
| const std::size_t * | GetDimensions () const |
| | get the dimensions/shape of the array More...
|
| |
| void | GetDimensions (std::size_t *dim) const |
| | Getter for dimensions, fills passed array. More...
|
| |
| index_type | GetIndicesForOffset (std::size_t offset) |
| | invert (memory) offset into array to indexes of the associated element More...
|
| |
| std::size_t | GetOffsetForIndices (const std::size_t *index) |
| | compute (memory) offset into array from a set of indexes More...
|
| |
| std::size_t | GetRank () const |
| | Getter for the rank (dimensionality) of the array. More...
|
| |
| std::size_t | GetSize () const |
| | get the total size of the array More...
|
| |
| std::size_t | GetStride (std::size_t idx) const |
| |
| index_type | GetStrideArray () const |
| |
| const std::size_t * | GetStrides () const |
| | Getter for element strides (along each dimension) More...
|
| |
| void | GetStrides (std::size_t *strd) const |
| | Getter for strides (along each dimension), fills passed array. More...
|
| |
| iterator | iterator_at (std::size_t offset) |
| |
| template<typename... XIndexTypeS> |
| std::enable_if<(sizeof...(XIndexTypeS)==RANK), XValueType & >::type | operator() (XIndexTypeS... idx) |
| | access operator, accepts multiple indices (,,...,) but does no bounds checking More...
|
| |
| template<typename... XIndexTypeS> |
| std::enable_if<(sizeof...(XIndexTypeS)==RANK), const XValueType & >::type | operator() (XIndexTypeS... idx) const |
| | const reference access operator, accepts multiple indices (,,...,) but does no bounds checking More...
|
| |
| MHO_NDArrayWrapper & | operator*= (const MHO_NDArrayWrapper &anArray) |
| | operator*= in place point-wise multiplication by another array More...
|
| |
| template<typename T > |
| std::enable_if< std::is_same< XValueType, T >::value or std::is_integral< T >::value or std::is_floating_point< T >::value, MHO_NDArrayWrapper & >::type | operator*= (T aScalar) |
| | operator*= in place multiplication by a scalar factor More...
|
| |
| MHO_NDArrayWrapper & | operator+= (const MHO_NDArrayWrapper &anArray) |
| | operator+= in place point-wise addition by another array More...
|
| |
| template<typename T > |
| std::enable_if< std::is_same< XValueType, T >::value or std::is_integral< T >::value or std::is_floating_point< T >::value, MHO_NDArrayWrapper & >::type | operator+= (T aScalar) |
| | operator+= in place addition by a scalar amount More...
|
| |
| MHO_NDArrayWrapper & | operator-= (const MHO_NDArrayWrapper &anArray) |
| | operator-= in place point-wise subtraction by another array More...
|
| |
| template<typename T > |
| std::enable_if< std::is_same< XValueType, T >::value or std::is_integral< T >::value or std::is_floating_point< T >::value, MHO_NDArrayWrapper & >::type | operator-= (T aScalar) |
| | operator+= in place addition by a scalar amount More...
|
| |
| MHO_NDArrayWrapper & | operator= (const MHO_NDArrayWrapper &rhs) |
| |
| XValueType & | operator[] (std::size_t i) |
| |
| const XValueType & | operator[] (std::size_t i) const |
| |
| virtual void | Resize (const std::size_t *dim) |
| | Destroys contents and resizes using passed dimensions. More...
|
| |
| template<typename... XDimSizeTypeS> |
| std::enable_if<(sizeof...(XDimSizeTypeS)==RANK), void >::type | Resize (XDimSizeTypeS... dim) |
| | Resize function that destroys contents and resizes according to dimension arguments. More...
|
| |
| void | SetArray (const XValueType &obj) |
| | set all elements in the array to a certain value More...
|
| |
| void | SetExternalData (XValueType *ptr, const std::size_t *dim) |
| | set data pointer to externally managed array with associated dimensions More...
|
| |
| template<typename... XIndexTypeS> |
| std::enable_if<(sizeof...(XIndexTypeS)==RANK), MHO_NDArrayView< XValueType, count_instances_of_type< const char *, sizeof...(XIndexTypeS) - 1, XIndexTypeS... >::value > >::type | SliceView (XIndexTypeS... idx) |
| | creates a slice-view of the array (given n < RANK indexes), return the remaining chunk of the array with freely spanning indexes the placeholder for the free-spanning indexes is the character ":" for example: a ndarray X of RANK=3, and sizes [4,12,32], then SliceView(":",3,":") returns an MHO_NDArrayView of RANK=2, and dimensions [4,32] starting at the location of X(0,3,0), and spanning the data covered by X(":",3,":") Data of the slice-view points to data owned by original array X More...
|
| |
| stride_iterator | stride_begin (std::size_t stride) |
| |
| stride_iterator | stride_end (std::size_t stride) |
| |
| stride_iterator | stride_iterator_at (std::size_t offset, std::size_t stride) |
| |
| template<typename... XIndexTypeS> |
| std::enable_if<(sizeof...(XIndexTypeS)< RANK), MHO_NDArrayView< XValueType, RANK -(sizeof...(XIndexTypeS)) > >::type | SubView (XIndexTypeS... idx) |
| | creates a sub-view of the array (given n < RANK leading indexes), return the remaining chunk of the array with freely spanning indexes for example: a ndarray X of RANK=3, and sizes [4,12,32], then SubView(2) returns an MHO_NDArrayView of RANK=2, and dimensions [12,32] starting at the location of X(2,0,0). Data of the subview points to data owned by X More...
|
| |
| XValueType & | ValueAt (const index_type &idx) |
| |
| const XValueType & | ValueAt (const index_type &idx) const |
| |
| void | ZeroArray () |
| | set all elements in the array to zero More...
|
| |
| | MHO_ExtensibleElement () |
| |
| virtual | ~MHO_ExtensibleElement () |
| |
| void | Accept (MHO_Visitor *aVisitor) override |
| | Visits all extensions of MHO_ExtensibleElement using given visitor. More...
|
| |
| template<class XExtensionType > |
| MHO_ExtendedElement< XExtensionType > * | AsExtension () |
| | Returns an extension of type XExtensionType if found in the list of extensions. More...
|
| |
| template<class XExtensionType > |
| bool | HasExtension () const |
| | Checks if an extensible element has a specific extension type. More...
|
| |
| template<class XExtensionType > |
| MHO_ExtendedElement< XExtensionType > * | MakeExtension () |
| | Creates and adds a new extension of type XExtensionType to the list of extensions. More...
|
| |
| | MHO_Element () |
| |
| virtual | ~MHO_Element () |
| |
template<typename XValueType, std::size_t RANK>
class hops::MHO_NDArrayWrapper< XValueType, RANK >
Class MHO_NDArrayWrapper.
MHO_NDArrayWrapper is a class to represent a n-dimensional array (implemented around a 1-d memory array)
- Author
- J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
- Date
- Mon May 11 15:51:26 2020 -0400
Thu 13 Aug 2020 02:53:11 PM EDT