Difference for src/ComputeNonbondedInl.h from version 1.15 to 1.16

version 1.15version 1.16
Line 30
Line 30
  
 #include <algorithm> #include <algorithm>
  
  #ifdef NAMD_KNL
  inline int pairlist_from_pairlist_knl(float cutoff2,
                                    float p_i_x, float p_i_y, float p_i_z,
                                    const CompAtomFlt *p_j,
                                    const plint *list, int list_size, int *newlist,
                                    float *r2list, float *xlist, float *ylist, float *zlist) {
  
    int *nli = newlist;
    float *r2i = r2list;
    float *xli = xlist;
    float *yli = ylist;
    float *zli = zlist;
  
    if ( list_size <= 0) return 0;
  
    int g = 0;
  
    float p_j_x, p_j_y, p_j_z;
    float x2, y2, z2, r2;
  #pragma vector aligned
  #pragma ivdep
    for ( g = 0 ; g < list_size; ++g ) {
      int gi=list[g];
      p_j_x = p_j[ gi ].position.x;
      p_j_y = p_j[ gi ].position.y;
      p_j_z = p_j[ gi ].position.z;
  
      x2 = p_i_x - p_j_x;
      r2 = x2 * x2;
      y2 = p_i_y - p_j_y;
      r2 += y2 * y2;
      z2 = p_i_z - p_j_z;
      r2 += z2 * z2;
  
      if ( r2 <= cutoff2 ) {
        *nli = gi;  ++nli;
        *r2i = r2;  ++r2i;
        *xli = x2;  ++xli;
        *yli = y2;  ++yli;
        *zli = z2;  ++zli;
      }
    }
  
    return nli - newlist;
  }
  #endif// NAMD_KNL
  
 inline int pairlist_from_pairlist(BigReal cutoff2, inline int pairlist_from_pairlist(BigReal cutoff2,
    BigReal p_i_x, BigReal p_i_y, BigReal p_i_z,    BigReal p_i_x, BigReal p_i_y, BigReal p_i_z,
    const CompAtom *p_j,    const CompAtom *p_j,
    const plint *list, int list_size, plint *newlist,    const plint *list, int list_size, int *newlist,
    BigReal r2_delta, BigReal *r2list) {    BigReal r2_delta, BigReal *r2list) {
      
   BigReal cutoff2_delta = cutoff2 + r2_delta;   BigReal cutoff2_delta = cutoff2 + r2_delta;
   plint *nli = newlist;   int *nli = newlist;
   BigReal *r2i = r2list;   BigReal *r2i = r2list;
  
   if ( list_size <= 0) return 0;   if ( list_size <= 0) return 0;
  
   int g = 0;   int g = 0;
  
  #ifdef NAMD_KNL
  
    BigReal p_j_x, p_j_y, p_j_z;
    BigReal x2, y2, z2, r2;
  #pragma vector aligned
  #pragma ivdep
    for ( g = 0 ; g < list_size; ++g ) {
      int gi=list[g];
      p_j_x = p_j[ gi ].position.x;
      p_j_y = p_j[ gi ].position.y;
      p_j_z = p_j[ gi ].position.z;
  
      x2 = p_i_x - p_j_x;
      r2 = x2 * x2 + r2_delta;
      y2 = p_i_y - p_j_y;
      r2 += y2 * y2;
      z2 = p_i_z - p_j_z;
      r2 += z2 * z2;
  
      if ( r2 <= cutoff2_delta ) {
        *nli = gi;  ++nli;
        *r2i = r2;  ++r2i;
      }
    }
  
  #else // NAMD_KNL
 #ifndef SIMPLE_PAIRLIST #ifndef SIMPLE_PAIRLIST
 #ifdef  A2_QPX #ifdef  A2_QPX
   //***************************************************************   //***************************************************************
Line 263
Line 336
     }     }
   }   }
  
  #endif // NAMD_KNL
  
   return nli - newlist;   return nli - newlist;
 } }
  


Legend:
Removed in v.1.15 
changed lines
 Added in v.1.16



Made by using version 1.53 of cvs2html