Basic utility header. More...
Basic utility header.
Definition in file primitive_utilities.H.
#include <iostream>
#include <string>
#include <fstream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <limits>
#include "PrimitiveTypes.H"
Go to the source code of this file.
Classes | |
struct | CmpPairs< T > |
Namespaces | |
ix | |
Defines MPI-specific parallel global and program classes. | |
ix::util | |
General support utilities. | |
Typedefs | |
typedef int | Error |
Error type. More... | |
Functions | |
template<typename Container > | |
bool | LessThan (const Container &c1, const Container &c2) |
template<typename Container > | |
void | InvertContainer (const Container &c1, Container &c2) |
template<typename ContainerType > | |
void | DumpContents (std::ostream &Ostr, const ContainerType &c, std::string del="\) |
Dump container contents. More... | |
template<typename BufferDataType > | |
int | PackBuffer (const BufferDataType *sourceBuffer, const std::vector< size_t > &sourceIndices, BufferDataType *targetBuffer, const std::vector< size_t > &targetIndices) |
Pack subset of target buffer from subset of source buffer. More... | |
template<typename ContainerType , typename T > | |
void | CopyIntoContainer (ContainerType &cont, const T *src, size_t count) |
template<typename OuterCont , typename OutCont , typename InnerCont , typename MapType > | |
void | MapElements (OuterCont &src, OutCont &trg, MapType &m) |
template<typename ListContainerType , typename ListType > | |
primitive::IndexType | MaxNodeId (const ListContainerType &fc) |
Return the maximum of all elements of a multicontainer. More... | |
template<typename OuterCont , typename InnerCont , typename OutCont > | |
void | Flatten (OuterCont &con, OutCont &ocon) |
Populate OutCont with a flat list of entries from a multicontainer. More... | |
template<typename OuterContType > | |
primitive::IndexType | GetTotalSize (OuterContType &con) |
Return the total number of entries in a multicontainer. More... | |
template<typename OuterContType , typename InnerContType , typename RetCont , typename idxtype > | |
void | MultiContainer2CSR (RetCont &xadj, RetCont &adj, OuterContType &source) |
template<typename ListContainerType , typename ListType > | |
void | CreateAdjacentNodeList (std::vector< std::list< primitive::IndexType > > &anodelist, ListContainerType &fc, primitive::IndexType nnodes=0) |
Given an array of adjacent node lists (like an array of face connectivities), this function will loop thru and create a list of unique adjacent nodes for each node with the nodes that are actually adjacent in the lists More... | |
template<typename ListContainerType , typename ListType > | |
void | AdjEList (std::vector< std::list< primitive::IndexType > > &aelist, ListContainerType &dual_con, unsigned long nel=0) |
Given an array of adjacent node lists (like an array of face connectivities), this function will loop thru and create a list of unique adjacent nodes for each node Note that this is a little different from the AdjNodeList because in this version every node in each list is considered adjacent. More... | |
template<typename ConType , typename IConType > | |
primitive::IndexType | NumberOfEdges (ConType &con) |
template<typename ContainerType , typename Icont > | |
void | FormGraph (const ContainerType &adjlist) |
template<typename BufferDataType > | |
void | ReportBufferStats (std::ostream &outStream, size_t numValues, const BufferDataType *dataBuffer) |
Reports min/max/mean/stddev for data in buffer. More... | |
template<typename Container > | |
bool | HaveSameOrientation (Container &c1, Container &c2) |
Cyclic test. More... | |
template<typename Container > | |
bool | HaveOppositeOrientation (Container &c1, Container &c2) |
Anti-cyclic test. More... | |
template<class T > | |
CmpPairs< T > | CreateCmpPairs (const std::vector< T > &v) |
template<class T > | |
void | SortPermutation (const std::vector< T > &values, std::vector< unsigned int > &v) |
std::string | GetNextContent (std::istream &In) |
void | GetContentUntil (std::istream &In, std::string ret, const std::string &etag) |
int | NumLines (const std::string &instr) |
int | String2Buf (const std::string &instr, void **buf) |
void | Trim (std::string &instr, bool preserve_newline=false) |
Creates space delimited tokens in place. More... | |
const std::string | Trimmed (const std::string &instr, bool preserve_newline=false) |
Returns space delimited tokens. More... | |
const std::string | stripdirs (const std::string &pname) |
Strip absolute path. More... | |
void | TokenizeString (std::vector< std::string > &tokens, const std::string &source) |
Tokenize string. More... | |
void | TokenizeString (std::vector< std::string > &tokens, const std::string &source, const char delim) |
Tokenize string w/ delimiter. More... | |
template<typename NumType > | |
void | ProcessRange (NumType &t1, NumType &t2, const std::string stinter) |
Process a range in the format "t1:t2". More... | |
int | OpenFile (std::ifstream &Inf, const std::string &filename) |
File opener. More... | |
void | Vectorize (std::vector< std::string > &retVal, const char **in) |
void | Vectorize (std::vector< std::string > &retVal, const char **in, int n) |
void | RenewStream (std::ostringstream &outStream) |
void | RenewStream (std::istringstream &inStream) |