|
TiledArray
0.7.0
|
Value array. More...
#include <val_array.h>


Public Types | |
| typedef ValArray< T > | ValArray_ |
| This object type. More... | |
| typedef SizeArray< T >::size_type | size_type |
| size type More... | |
| typedef SizeArray< T >::value_type | value_type |
| Element type. More... | |
| typedef SizeArray< T >::reference | reference |
| Reference type. More... | |
| typedef SizeArray< T >::const_reference | const_reference |
| Const reference type. More... | |
| typedef SizeArray< T >::pointer | pointer |
| Data pointer type. More... | |
| typedef SizeArray< T >::const_pointer | const_pointer |
| Const data pointer type. More... | |
| typedef SizeArray< T >::difference_type | difference_type |
| Difference type. More... | |
| typedef SizeArray< T >::iterator | iterator |
| Iterator type. More... | |
| typedef SizeArray< T >::const_iterator | const_iterator |
| Const iterator type. More... | |
Public Member Functions | |
| ValArray () | |
| ValArray (const size_type n) | |
| template<typename Value , typename std::enable_if< std::is_convertible< value_type, Value >::value >::type * = nullptr> | |
| ValArray (const size_type n, const Value &value) | |
| template<typename Arg > | |
| ValArray (const size_type n, const Arg *const arg) | |
| template<typename Arg , typename Op > | |
| ValArray (const size_type n, const Arg *MADNESS_RESTRICT const arg, const Op &op) | |
| template<typename U , typename Op > | |
| ValArray (const ValArray< U > &arg, const Op &op) | |
| template<typename Left , typename Right , typename Op > | |
| ValArray (const size_type n, const Left *MADNESS_RESTRICT const left, const Right *MADNESS_RESTRICT const right, const Op &op) | |
| template<typename U , typename V , typename Op > | |
| ValArray (const ValArray< U > &left, const ValArray< V > &right, const Op &op) | |
| ValArray (const ValArray_ &other) | |
| ValArray_ & | operator= (const ValArray_ &other) |
| ~ValArray () | |
| template<typename U , typename Op > | |
| void | binary (const ValArray< U > &arg, const Op &op) |
| Binary vector operation. More... | |
| template<typename U , typename V , typename Op > | |
| void | binary (const ValArray< U > &left, const ValArray< V > &right, const Op &op) |
| Binary vector operation. More... | |
| template<typename U , typename Op > | |
| void | unary (const ValArray< U > &arg, const Op &op) |
| Unary vector operation. More... | |
| template<typename U , typename Result , typename Op > | |
| Result | reduce (const ValArray< U > &arg, Result &result, const Op &op) |
| Binary reduce operation. More... | |
| template<typename U , typename V , typename Op > | |
| void | row_reduce (const ValArray< U > &left, const ValArray< V > &right, const Op &op) |
| Reduce row operation. More... | |
| template<typename U , typename Op > | |
| void | row_reduce (const ValArray< U > &arg, const Op &op) |
| Reduce row operation. More... | |
| template<typename U , typename V , typename Op > | |
| void | col_reduce (const ValArray< U > &left, const ValArray< V > &right, const Op &op) |
| Reduce column operation. More... | |
| template<typename U , typename Op > | |
| void | col_reduce (const ValArray< U > &arg, const Op &op) |
| Reduce column operation. More... | |
| template<typename U , typename V , typename Op > | |
| void | outer (const ValArray< U > &left, const ValArray< V > &right, const Op &op) |
| Outer operation. More... | |
| template<typename U , typename V , typename Op > | |
| void | outer_fill (const ValArray< U > &left, const ValArray< V > &right, const Op &op) |
| Outer fill operation. More... | |
| template<typename U , typename V , typename A , typename Op > | |
| void | outer_fill (const ValArray< U > &left, const ValArray< V > &right, const ValArray< A > &a, const Op &op) |
| Outer operation. More... | |
| void | swap (ValArray_ &other) |
| template<typename U > | |
| bool | operator== (const ValArray< U > &other) const |
| template<typename U > | |
| bool | operator!= (const ValArray< U > &other) const |
Static Public Attributes | |
| static const std::size_t | alignment = TILEDARRAY_DEFAULT_ALIGNMENT |
Value array.
This is minimal wrapper around a dynamically allocated array. The array may be shared and includes a reference counter.
| T | The element type of the array |
Definition at line 44 of file val_array.h.
| typedef SizeArray<T>::const_iterator TiledArray::detail::ValArray< T >::const_iterator |
Const iterator type.
Definition at line 56 of file val_array.h.
| typedef SizeArray<T>::const_pointer TiledArray::detail::ValArray< T >::const_pointer |
Const data pointer type.
Definition at line 53 of file val_array.h.
| typedef SizeArray<T>::const_reference TiledArray::detail::ValArray< T >::const_reference |
Const reference type.
Definition at line 51 of file val_array.h.
| typedef SizeArray<T>::difference_type TiledArray::detail::ValArray< T >::difference_type |
Difference type.
Definition at line 54 of file val_array.h.
| typedef SizeArray<T>::iterator TiledArray::detail::ValArray< T >::iterator |
Iterator type.
Definition at line 55 of file val_array.h.
| typedef SizeArray<T>::pointer TiledArray::detail::ValArray< T >::pointer |
Data pointer type.
Definition at line 52 of file val_array.h.
| typedef SizeArray<T>::reference TiledArray::detail::ValArray< T >::reference |
Reference type.
Definition at line 50 of file val_array.h.
| typedef SizeArray<T>::size_type TiledArray::detail::ValArray< T >::size_type |
size type
Definition at line 48 of file val_array.h.
| typedef ValArray<T> TiledArray::detail::ValArray< T >::ValArray_ |
This object type.
Definition at line 47 of file val_array.h.
| typedef SizeArray<T>::value_type TiledArray::detail::ValArray< T >::value_type |
Element type.
Definition at line 49 of file val_array.h.
|
inline |
Definition at line 113 of file val_array.h.
|
inlineexplicit |
Definition at line 115 of file val_array.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 176 of file val_array.h.
|
inline |
Definition at line 206 of file val_array.h.
|
inline |
Binary vector operation.
Perform a binary vector operation where this array is the left-hand argument and arg is the right-hand argument. The data elements are modified by: op(*this[i], arg[i]).
| U | The element type of arg |
| Op | The binary operation |
| arg | The right-hand argument |
| op | The binary operation |
| TiledArray::Exception | When the size of arg is not equal to the size of this array. |
Definition at line 246 of file val_array.h.

|
inline |
Binary vector operation.
Perform a binary vector operation with left and right, and store the result in this array. The data elements are given by: *this[i] = op(left[i], right[i]).
| U | The element type of arg |
| Op | The binary operation |
| left | The left-hand argument |
| right | The right-hand argument |
| op | The binary operation |
| TiledArray::Exception | When the sizes of left and right are not equal to the size of this array. |
Definition at line 264 of file val_array.h.

|
inline |
Reduce column operation.
Reduce columns of left to this array, where columns have right.size() elements. The reduced result is computed by op(*this[j], left[i][j], right[i]).
| U | The element type of left |
| V | The element type of right |
| Op | The reduction operation |
| left | The array to be reduced of size size()*right.size() |
| right | The right-hand array |
| op | The reduction operation |
| TiledArray::Exception | When left.size() != (size() * right.size()). |
Definition at line 352 of file val_array.h.

|
inline |
Reduce column operation.
Reduce columns of arg to this array, where a columns have arg.size()/size() elements. The reduced result is computed by op(*this[i], arg[i][j]).
| U | The element type of arg |
| Op | The reduction operation |
| arg | The array to be reduced |
| op | The reduction operation |
| TiledArray::Exception | When (arg.size() % size()) != 0. |
Definition at line 368 of file val_array.h.

|
inline |
|
inline |
|
inline |
|
inline |
Outer operation.
This function use two arrays, left and right, to modify this array ( which is treated as a matrix of size left.size() * right.size() ). Elements of this array are modified by op(*this[i][j], left[i], right[j]).
| U | The left-hand argument type |
| V | The right-hand argument type |
| left | The left-hand array |
| right | The right-hand array |
| op | The outer operation |
| TiledArray::Exception | When size() != (left.size() * right.size()). |
Definition at line 386 of file val_array.h.

|
inline |
Outer fill operation.
This function use two arrays, left and right, to fill this array ( which is treated as a matrix of size left.size() * right.size() ). Elements of this array are filled by op(*this[i][j], left[i], right[j]).
| U | The left-hand argument type |
| V | The right-hand argument type |
| left | The left-hand array |
| right | The right-hand array |
| op | The outer operation |
| TiledArray::Exception | When size() != (left.size() * right.size()). |
Definition at line 404 of file val_array.h.

|
inline |
Outer operation.
This function use two arrays, left and right, to modify this array ( which is treated as a matrix of size left.size() * right.size() ). Elements of this array are modified by op(*this[i][j], left[i], right[j]).
| U | The left-hand argument type |
| V | The right-hand argument type |
| [in] | left | The left-hand array |
| [in] | right | The right-hand array |
| [out] | a | The array that will hold the result |
| [in] | op | The outer operation |
| TiledArray::Exception | When size() != (left.size() * right.size()). |
Definition at line 423 of file val_array.h.

|
inline |
Binary reduce operation.
Binary reduction operation where this object is the left-hand argument type. The reduced result is computed by op(result, *this[i], arg[i]).
| U | The element type of arg |
| Result | The result type of the reduction |
| Op | The reduction operation. |
| arg | The right-hand array argument |
| result | The initial value of the reduction |
| op | The binary reduction operation |
| TiledArray::Exception | When arg.size() != size(). |
Definition at line 300 of file val_array.h.

|
inline |
Reduce row operation.
Reduce rows of left to this array, where the size of rows is equal to right.size(). The reduced result is computed by op(*this[i], left[i][j], right[j]).
| U | The element type of left |
| V | The element type of right |
| Op | The reduction operation |
| left | The array to be reduced of size size()*right.size() |
| right | The right-hand array |
| op | The reduction operation |
| TiledArray::Exception | When left.size() != (size() * right.size()). |
Definition at line 318 of file val_array.h.

|
inline |
Reduce row operation.
Reduce rows of arg to this array, where a row have arg.size()/size() elements. The reduced result is computed by op(*this[i], arg[i][j]).
| U | The element type of arg |
| Op | The reduction operation |
| arg | The array to be reduced |
| op | The reduction operation |
| TiledArray::Exception | When (arg.size() % size()) != 0. |
Definition at line 334 of file val_array.h.

|
inline |
|
inline |
Unary vector operation.
Perform a unary vector operation, and store the result in this array. The data elements are given by: *this[i] = op(arg[i]).
| U | The element type of arg |
| Op | The binary operation |
| arg | The right-hand argument |
| op | The binary operation |
| TiledArray::Exception | When the size of arg is not equal to the size of this array. |
Definition at line 281 of file val_array.h.

|
static |
Definition at line 58 of file val_array.h.