7 #include <ckhashtable.h> 9 #define COMPRESSED_PSF_VER 1.72 13 #define COMPRESSED_PSF_MAGICNUM 1234 53 void flipNum(
char *elem,
int elemSize,
int numElems);
58 for(
int i=0; i<pool.size(); i++)
74 operator T & () {
return val; }
75 operator const T & ()
const {
return val; }
77 inline CkHashCode
hash(
void)
const {
78 const int hash=val.hash();
79 return CkHashFunction_int(&
hash,
sizeof(
int));
102 template <
typename T>
111 for (
int i=0; i < pool.size(); i++)
123 int loc = index_table.get(hx) - 1;
126 for(i=0; i < pool.size(); i++)
128 if (pool[i]->getVal() == val) {
130 CmiPrintf(
"Get[%d] returned %d, actual is %d\n",hx.
hash(),loc,i);
137 if (loc != -1 && i == pool.size()) {
138 CmiPrintf(
"Get returned %d, actual not found\n",loc);
153 int* index = &(index_table.put(*val));
155 *index = pool.size();
165 int size() {
return pool.size(); }
168 CkHashtableT<HashPoolAdaptorT<T>,
int> index_table;
169 std::vector<HashPoolAdaptorT<T>*> pool;
int compare(const HashPoolAdaptorT< T > &t) const
static CkHashCode staticHash(const void *k, size_t)
HashPoolAdaptorT(const T &v)
int lookupCstPool(const T &val)
Molecule stores the structural information for the system.
CkHashCode hash(void) const
T & operator[](int i) const
int lookupCstPool(const std::vector< T > &pool, const T &val)
void flipNum(char *elem, int elemSize, int numElems)
struct OutputAtomRecord::floatVals fSet
struct OutputAtomRecord::integerVals iSet
int atomsInMigrationGroup
void push_back(const T &x)
struct OutputAtomRecord::shortVals sSet
static int staticCompare(const void *a, const void *b, size_t)
void compress_molecule_info(Molecule *mol, char *psfFileName, Parameters *param, SimParameters *simParam, ConfigList *cfgList)