20#ifndef __DUDLEY_UTIL_H__
21#define __DUDLEY_UTIL_H__
25#include <escript/Data.h>
38void gather(
int len,
const index_t* index,
int numData,
const double* in,
44template<
typename Scalar>
46 const Scalar* in, Scalar* out,
index_t upperBound);
49void smallMatMult(
int A1,
int A2,
double* A,
int B2,
const double* B,
54template<
typename Scalar>
56 const Scalar* B,
const double* C);
60void normalVector(
int len,
int dim,
int dim1,
const double* A,
double* normal);
72std::vector<index_t>
packMask(
const std::vector<short>& mask);
void smallMatSetMult1(int len, int A1, int A2, Scalar *A, int B2, const Scalar *B, const double *C)
Definition dudley/src/Util.cpp:88
std::pair< index_t, index_t > IndexPair
Definition dudley/src/Util.h:30
void gather(int len, const index_t *index, int numData, const double *in, double *out)
Definition dudley/src/Util.cpp:44
void smallMatMult(int A1, int A2, double *A, int B2, const double *B, const double *C)
multiplies two matrices: A(1:A1,1:A2) := B(1:A1,1:B2)*C(1:B2,1:A2)
Definition dudley/src/Util.cpp:74
void setValuesInUse(const int *values, dim_t numValues, std::vector< int > &valuesInUse, escript::JMPI mpiinfo)
Definition dudley/src/Util.cpp:224
void addScatter(int len, const index_t *index, int numData, const Scalar *in, Scalar *out, index_t upperBound)
Definition dudley/src/Util.cpp:55
IndexPair getFlaggedMinMaxInt(dim_t N, const index_t *values, index_t ignore)
Definition dudley/src/Util.cpp:186
std::vector< IndexPair > ValueAndIndexList
Definition dudley/src/Util.h:31
IndexPair getMinMaxInt(int dim, dim_t N, const index_t *values)
Definition dudley/src/Util.cpp:159
std::vector< index_t > packMask(const std::vector< short > &mask)
Definition dudley/src/Util.cpp:213
void sortValueAndIndex(ValueAndIndexList &array)
orders a ValueAndIndexList by value.
Definition dudley/src/Util.cpp:39
void normalVector(int len, int dim, int dim1, const double *A, double *Normal)
Definition dudley/src/Util.cpp:110
A suite of factory methods for creating 2D and 3D dudley domains.
Definition dudley/src/Assemble.h:32
index_t dim_t
Definition DataTypes.h:66
int index_t
type for array/matrix indices used both globally and on each rank
Definition DataTypes.h:61
boost::shared_ptr< JMPI_ > JMPI
Definition EsysMPI.h:76