|
Public Member Functions |
| ArrayDataBasicOps () |
| ~ArrayDataBasicOps () |
void | scale (pdat::ArrayData< DIM, TYPE > &dst, const TYPE &alpha, const pdat::ArrayData< DIM, TYPE > &src, const hier::Box< DIM > &box) const |
void | addScalar (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src, const TYPE &alpha, const hier::Box< DIM > &box) const |
void | add (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src1, const pdat::ArrayData< DIM, TYPE > &src2, const hier::Box< DIM > &box) const |
void | subtract (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src1, const pdat::ArrayData< DIM, TYPE > &src2, const hier::Box< DIM > &box) const |
void | multiply (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src1, const pdat::ArrayData< DIM, TYPE > &src2, const hier::Box< DIM > &box) const |
void | divide (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src1, const pdat::ArrayData< DIM, TYPE > &src2, const hier::Box< DIM > &box) const |
void | reciprocal (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src, const hier::Box< DIM > &box) const |
void | linearSum (pdat::ArrayData< DIM, TYPE > &dst, const TYPE &alpha, const pdat::ArrayData< DIM, TYPE > &src1, const TYPE &beta, const pdat::ArrayData< DIM, TYPE > &src2, const hier::Box< DIM > &box) const |
void | axpy (pdat::ArrayData< DIM, TYPE > &dst, const TYPE &alpha, const pdat::ArrayData< DIM, TYPE > &src1, const pdat::ArrayData< DIM, TYPE > &src2, const hier::Box< DIM > &box) const |
void | axmy (pdat::ArrayData< DIM, TYPE > &dst, const TYPE &alpha, const pdat::ArrayData< DIM, TYPE > &src1, const pdat::ArrayData< DIM, TYPE > &src2, const hier::Box< DIM > &box) const |
TYPE | min (const pdat::ArrayData< DIM, TYPE > &data, const hier::Box< DIM > &box) const |
TYPE | max (const pdat::ArrayData< DIM, TYPE > &data, const hier::Box< DIM > &box) const |
void | setRandomValues (pdat::ArrayData< DIM, TYPE > &dst, const TYPE &width, const TYPE &low, const hier::Box< DIM > &box) const |
These operations typically apply only to the numerical standard built-in types, such as double, float, and int, and the complex type (which may or may not be a built-in type depending on the C++ compiler). Thus, this templated class should only be used to instantiate objects with those types as the template parameter. Those operations whose implementations depend of the data type are specialized for each numerical type. To use this class with other standard types or user-defined types (which may or may not make sense), the member functions must be specialized so that the correct operations are performed.