phdMesh  Version of the Day
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups
Functions
Simple C-Array Operations

Basic operations for compile-time fixed length arrays. More...

Functions

template<unsigned N, typename T >
void phdmesh::Copy (T *dst, const T &src)
 dst[k] = src , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::Copy (T *dst, const T *src)
 dst[k] = src[k] , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::Sum (T *dst, const T *src)
 dst[k] += src[k] , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::Sum (T *dst, const T &a, const T *src)
 dst[k] += a * src[k] , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::Prod (T *dst, const T *src)
 dst[k] *= src[k] , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::Min (T *dst, const T *src)
 dst[k] = min( dst[k] , src[k] ) , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::Max (T *dst, const T *src)
 dst[k] = max( dst[k] , src[k] ) , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::BitOr (T *dst, const T *src)
 dst[k] |= src[k] , k = 0..N-1
 
template<unsigned N, typename T >
void phdmesh::BitAnd (T *dst, const T *src)
 dst[k] &= src[k] , k = 0..N-1
 
template<unsigned N, typename T >
phdmesh::InnerProduct (const T *x, const T *y)
 return sum_k( x[k] * y[k] )
 
template<unsigned N, typename T >
bool phdmesh::Equal (const T *x, const T *y)
 return x[k] == y[k] , k == 0..N-1
 
template<unsigned N, typename T >
bool phdmesh::NotEqual (const T *x, const T *y)
 return ! ( x[k] == y[k] , k == 0..N-1 )
 
template<unsigned N, typename T >
bool phdmesh::Less (const T *x, const T *y)
 return x[k] < y[k] , first k such that x[k] != y[k]
 
template<unsigned N, typename T >
bool phdmesh::LessEqual (const T *x, const T *y)
 return x[k] <= y[k] , first k such that x[k] != y[k]
 
template<unsigned N, typename T >
bool phdmesh::Greater (const T *x, const T *y)
 return x[k] > y[k] , first k such that x[k] != y[k]
 
template<unsigned N, typename T >
bool phdmesh::GreaterEqual (const T *x, const T *y)
 return x[k] => y[k] , first k such that x[k] != y[k]
 

Detailed Description

Basic operations for compile-time fixed length arrays.

Author
H. Carter Edwards hcedw.nosp@m.ar@s.nosp@m.andia.nosp@m..gov
Date
November 2006

Example: Sum<5>(x,y) results in x[i] += y[i] for i=0..4