PlasCom2  1.0
XPACC Multi-physics simluation application
PCPPIntervalUtils.H File Reference
#include "PCPPTypes.H"
Include dependency graph for PCPPIntervalUtils.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 pcpp
 
 pcpp::util
 

Functions

int SubIntervalFromStream (std::istream &inStream, const pcpp::IndexIntervalType &inInterval, pcpp::IndexIntervalType &subInterval)
 
std::deque< size_t > PrimeFactors (size_t inNumber)
 
int SimplePartitionInterval (const pcpp::IndexIntervalType &inInterval, std::vector< bool > partDirection, int partID, int numPart, pcpp::IndexIntervalType &outInterval, std::vector< int > &numPartitions)
 Multi-dimensional interval partitioning (non-MPI) More...
 
int Part1D (const size_t iStart, const size_t iEnd, const size_t numPart, const size_t partIndex, size_t &partStart, size_t &partEnd)
 Extract a sub-interval of a 1-dimensional integer interval. More...
 
int PartitionCartesianExtent (const pcpp::IndexIntervalType &globalExtent, const std::vector< int > &cartDims, const std::vector< int > &cartCoords, pcpp::IndexIntervalType &partExtent, std::ostream &messageStream)
 Get local sub-interval of an n-dimensional integer interval. More...
 
int PartitionCartesianInterval (const pcpp::IndexIntervalType &globalInterval, const std::vector< int > &cartDims, const std::vector< int > &cartCoords, pcpp::IndexIntervalType &partInterval, std::ostream &messageStream)
 Get local sub-interval of an n-dimensional integer interval. More...
 
void CollapseInterval (size_t &xSize, size_t &ySize, size_t &zSize, const pcpp::IndexIntervalType &inInterval, pcpp::IndexIntervalType &outInterval)
 
std::vector< pcpp::IndexIntervalTypeUniqueUnion (const std::vector< pcpp::IndexIntervalType > &intervalSet)
 
template<typename BufferDataType >
void TransferBufferData (size_t numPoints, int numComponents, size_t sourceSize, size_t targetSize, const size_t *sourceIndices, const size_t *targetIndices, const BufferDataType *sourceBuffer, BufferDataType *targetBuffer)
 Transfer data from a sized source buffer to a (different) sized target buffer. More...
 
template<typename BufferDataType >
int CopyInterval (const std::vector< size_t > &sourceSizes, const pcpp::IndexIntervalType &sourceInterval, const BufferDataType *sourceBuffer, const std::vector< size_t > &destSizes, const pcpp::IndexIntervalType &destInterval, BufferDataType *destData)