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_ |