version 1.1190 | version 1.1191 |
---|
| |
// Atom Sort : The grouplist and fixglist arrays are not needed when the | // Atom Sort : The grouplist and fixglist arrays are not needed when the |
// the atom sorting code is in use. | // the atom sorting code is in use. |
#if ! (NAMD_ComputeNonbonded_SortAtoms != 0 && ( 0 PAIR( + 1 ) ) ) | #if ! (NAMD_ComputeNonbonded_SortAtoms != 0 && ( 0 PAIR( + 1 ) ) ) |
NBWORKARRAY(plint,grouplist,arraysize); | NBWORKARRAY(int,grouplist,arraysize); |
NBWORKARRAY(plint,fixglist,arraysize); | NBWORKARRAY(int,fixglist,arraysize); |
#endif | #endif |
| |
NBWORKARRAY(plint,goodglist,arraysize); | NBWORKARRAY(int,goodglist,arraysize); |
NBWORKARRAY(plint,pairlistx,arraysize); | NBWORKARRAY(plint,pairlistx,arraysize); |
NBWORKARRAY(plint,pairlistm,arraysize); | NBWORKARRAY(plint,pairlistm,arraysize); |
NBWORKARRAY(plint,pairlist,arraysize); | NBWORKARRAY(int,pairlist,arraysize); |
NBWORKARRAY(plint,pairlist2,arraysize); | NBWORKARRAY(int,pairlist2,arraysize); |
ALCH( | ALCH( |
NBWORKARRAY(plint,pairlistnA1,arraysize); | NBWORKARRAY(plint,pairlistnA1,arraysize); |
NBWORKARRAY(plint,pairlistxA1,arraysize); | NBWORKARRAY(plint,pairlistxA1,arraysize); |
| |
) | ) |
| |
// add remaining atoms to pairlist via hydrogen groups | // add remaining atoms to pairlist via hydrogen groups |
register plint *pli = pairlist + pairlistindex; | register int *pli = pairlist + pairlistindex; |
| |
{ | { |
// Atom Sort : Modify the values of g and gu based on the added information | // Atom Sort : Modify the values of g and gu based on the added information |
| |
| |
#else | #else |
| |
register plint *gli = goodglist; | register int *gli = goodglist; |
const plint *glist = ( groupfixed ? fixglist : grouplist ); | const int *glist = ( groupfixed ? fixglist : grouplist ); |
SELF( const int gl = ( groupfixed ? fixg_lower : g_lower ); ) | SELF( const int gl = ( groupfixed ? fixg_lower : g_lower ); ) |
const int gu = ( groupfixed ? fixg_upper : g_upper ); | const int gu = ( groupfixed ? fixg_upper : g_upper ); |
register int g = PAIR(0) SELF(gl); | register int g = PAIR(0) SELF(gl); |
| |
| |
if ( g < gu ) { | if ( g < gu ) { |
int hu = 0; | int hu = 0; |
| #ifndef NAMD_KNL |
#if defined(__SSE2__) && ! defined(NAMD_DISABLE_SSE) | #if defined(__SSE2__) && ! defined(NAMD_DISABLE_SSE) |
if ( gu - g > 6 ) { | if ( gu - g > 6 ) { |
| |
| |
g-=2; | g-=2; |
} | } |
#endif | #endif |
| #endif // NAMD_KNL |
| |
for (; g < gu; g++) { | for (; g < gu; g++) { |
| |
| |
| |
const int atomfixed = ( fixedAtomsOn && pExt_i.atomFixed ); | const int atomfixed = ( fixedAtomsOn && pExt_i.atomFixed ); |
| |
register plint *pli = pairlist2; | register int *pli = pairlist2; |
| |
plint *pairlistn = pairlists.newlist(j_upper + 5 + 5 ALCH( + 20 )); | plint *pairlistn = pairlists.newlist(j_upper + 5 + 5 ALCH( + 20 )); |
register plint *plin = pairlistn; | register plint *plin = pairlistn; |
| |
int k = pairlistoffset; | int k = pairlistoffset; |
int ku = pairlistindex; | int ku = pairlistindex; |
if ( k < ku ) { | if ( k < ku ) { |
| #ifndef NAMD_KNL |
#if defined(__SSE2__) && ! defined(NAMD_DISABLE_SSE) | #if defined(__SSE2__) && ! defined(NAMD_DISABLE_SSE) |
if ( ku - k > 6 ) { | if ( ku - k > 6 ) { |
register int jprev0 = pairlist [k ]; | register int jprev0 = pairlist [k ]; |
| |
k-=2; | k-=2; |
} | } |
#endif | #endif |
| #endif // NAMD_KNL |
| |
for (; k < ku; k++) { | for (; k < ku; k++) { |
int j = pairlist[k]; | int j = pairlist[k]; |