15 #define UnknownAtom 0x00 16 #define HydrogenAtom 0x01 17 #define OxygenAtom 0x02 18 #define HBDonorAtom 0x04 19 #define HBAcceptorAtom 0x08 20 #define HBAntecedentAtom 0x10 21 #define HBHydrogenAtom 0x20 22 #define LonepairAtom 0x40 23 #define DrudeAtom 0x80 188 inline unsigned int circShift(
unsigned int h,
unsigned int by) {
189 const unsigned int intBits=8*
sizeof(
unsigned int);
191 return (h<<by)|(h>>(intBits-by));
302 fprintf(ofp,
"%d ",
offset[i]);
308 unsigned int codesz = 8 *
sizeof(int);
311 if (shift == 0) shift=1;
475 #define CMPSIGS(TUPLE) \ 476 for(int i=0; i<sig.TUPLE##Cnt; i++){ \ 477 if(!(TUPLE##Sigs[i]==sig.TUPLE##Sigs[i])) return 0; \ 525 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 533 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 553 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 566 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 589 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 615 void setOffsets(std::vector<int>& fullVec, std::vector<int>& modVec){
629 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 661 unsigned int code = 0x12345678;
662 unsigned int codesz = 8 *
sizeof(int);
663 unsigned int shift = codesz / numOffset;
665 if (shift == 0) shift=1;
int operator==(const TupleSignature &sig) const
TupleSignature(const TupleSignature &oneSig)
struct atom_name_info AtomNameInfo
TupleSignature * improperSigs
int32 numhosts
Either 2 or 3 host atoms, depending on LP type.
void unpack(MIStream *msg)
TupleSignature * dihedralSigs
struct crossterm Crossterm
ExclusionSignature(const ExclusionSignature &sig)
TupleSignature * crosstermSigs
void unpack(MIStream *msg)
TupleSignature * allTuples
ExclusionSignature & operator=(const ExclusionSignature &sig)
struct atom_constants Atom
TupleSignature(int n, TupleSigType t, Index paramType, char ir=1)
TupleSignature * gromacsPairSigs
int32 atom1
First index is to the LP.
void setOffsets(int *offs)
int operator==(const Exclusion &o) const
int operator==(const ExclusionSignature &sig) const
int findOffset(int offset, int *fullOrMod)
AtomSignature & operator=(const AtomSignature &sig)
unsigned int circShift(unsigned int h, unsigned int by)
void removeEmptyTupleSigs()
TupleSignature * bondSigs
AtomSignature(const AtomSignature &sig)
void setOffsets(std::vector< int > &fullVec, std::vector< int > &modVec)
int operator<(const Exclusion &o) const
struct gromacsPair GromacsPair
int operator==(const AtomSignature &sig) const
struct drude_constants DrudeConst
void unpack(MIStream *msg)
Exclusion(int a1, int a2, int mod=0)
TupleSignature * angleSigs
TupleSignature & operator=(const TupleSignature &oneSig)