|
Proto
3.2
|
#include <memory>#include <iostream>#include <fstream>#include <iomanip>#include <limits>#include <cstdlib>#include <cmath>#include <map>#include <random>#include <unordered_map>#include <type_traits>#include "Proto_Timer.H"#include "Proto_Accel.H"#include "Proto_MemType.H"#include "Proto_Memory.H"#include "Proto_Stack.H"#include "Proto_Array.H"#include "Proto_Box.H"#include "Proto_CoordPermutation.H"#include "Proto_Stencil.H"#include "Proto_CInterval.H"#include "Proto_Reduction.H"#include "Proto_DisjointBoxLayout.H"

Go to the source code of this file.
Classes | |
| class | Proto::Stencil< T > |
| A Linear Stencil Operation. More... | |
| struct | Proto::LazyInterpStencil< T, C, MEM, D, E > |
| class | Proto::Var< T, C, MEM, D, E > |
| Pointwise Variable. More... | |
| class | Proto::BoxData< T, C, MEM, D, E > |
| Multidimensional Rectangular Array. More... | |
| class | Proto::FluxBoxData< T, C, MEM, D, E > |
Namespaces | |
| Proto | |
Macros | |
| #define | _PROTO_RECTMDARRAY_H_ |
Enumerations | |
| enum | Proto::BoxDataOp { Proto::Invalid = -1, Proto::Copy = 0, Proto::Add = 1, Proto::Assign, Proto::Subtract, Proto::Multiply, Proto::Divide, Proto::NUM_OP_TYPES } |
Functions | |
| template<MemType MEM> | |
| void | Proto::null_deleter_boxdata (void *ptr) |
| template<typename T , unsigned int CL, unsigned int CR, MemType MEM, unsigned int DL, unsigned int DR, unsigned int E = 1> | |
| BoxData< T, CL, MEM, DR, E > | Proto::matrixProduct (const BoxData< T, CL, MEM, DL, E > &A, const BoxData< T, CR, MEM, DR, E > &B, T scale=1.0) |
| template<typename T , unsigned int CL, unsigned int CR, MemType MEM, unsigned int DL, unsigned int DR, unsigned int E = 1> | |
| BoxData< T, DL, MEM, DR, E > | Proto::matrixProductLeftTranspose (const BoxData< T, CL, MEM, DL, E > &A, const BoxData< T, CR, MEM, DR, E > &B, T scale=1.0) |
| template<typename T , unsigned int CL, unsigned int CR, MemType MEM, unsigned int DL, unsigned int DR, unsigned int E = 1> | |
| BoxData< T, CL, MEM, CR, E > | Proto::matrixProductRightTranspose (const BoxData< T, CL, MEM, DL, E > &A, const BoxData< T, CR, MEM, DR, E > &B, T scale=1.0) |
Alias and Slice Operators | |
The alias and slice operations facilitate BoxData operations while avoiding unnecessary copies. See the sample code below for an explanation of the syntax. Example Example | |
| template<class T , unsigned int C = 1, unsigned int D = 1, unsigned int E = 1, MemType MEM = MEMTYPE_DEFAULT> | |
| BoxData< T, C, MEM, D, E > | Proto::alias (BoxData< T, C, MEM, D, E > &a_original, const Point &a_shift=Point::Zeros()) |
| Alias (Non-Const) More... | |
| template<class T , unsigned int C = 1, unsigned int D = 1, unsigned int E = 1, MemType MEM = MEMTYPE_DEFAULT> | |
| const BoxData< T, C, MEM, D, E > | Proto::alias (const BoxData< T, C, MEM, D, E > &a_original, const Point &a_shift=Point::Zeros()) |
| Alias (Const) More... | |
| template<typename T , unsigned int C, MemType MEM = MEMTYPE_DEFAULT, unsigned int D = 1, unsigned int E = 1> | |
| BoxData< T, 1, MEM, 1, 1 > | Proto::slice (const BoxData< T, C, MEM, D, E > &a_src, unsigned int a_c, unsigned int a_d=0, unsigned int a_e=0) |
| Slice Arbitrary Component (Non-Const) More... | |
| template<typename T , unsigned int C, unsigned int CC, MemType MEM = MEMTYPE_DEFAULT> | |
| BoxData< T, CC, MEM, 1, 1 > | Proto::slice (const BoxData< T, C, MEM, 1, 1 > &a_src, unsigned int a_startcomp) |
| Vector Slice (Non-Const) More... | |
| template<typename T , unsigned int C, unsigned int D, MemType MEM = MEMTYPE_DEFAULT> | |
| BoxData< T, C, MEM, 1, 1 > | Proto::plane (const BoxData< T, C, MEM, D, 1 > &a_src, unsigned int a_d) |
| #define _PROTO_RECTMDARRAY_H_ |
1.8.13