69
69
double evdwl = 0.0;
71
double** __restrict__ x = atom->x;
72
double** __restrict__ f = atom->f;
73
int* __restrict__ type = atom->type;
71
double** _noalias x = atom->x;
72
double** _noalias f = atom->f;
73
int* _noalias type = atom->type;
74
74
int nlocal = atom->nlocal;
75
double* __restrict__ special_lj = force->special_lj;
75
double* _noalias special_lj = force->special_lj;
78
int* __restrict__ ilist = list->ilist;
79
int** __restrict__ firstneigh = list->firstneigh;
80
int* __restrict__ numneigh = list->numneigh;
78
int* _noalias ilist = list->ilist;
79
int** _noalias firstneigh = list->firstneigh;
80
int* _noalias numneigh = list->numneigh;
82
vec3_t* __restrict__ xx = (vec3_t*)x[0];
83
vec3_t* __restrict__ ff = (vec3_t*)f[0];
82
vec3_t* _noalias xx = (vec3_t*)x[0];
83
vec3_t* _noalias ff = (vec3_t*)f[0];
85
85
int ntypes = atom->ntypes;
86
86
int ntypes2 = ntypes*ntypes;
88
fast_alpha_t* __restrict__ fast_alpha =
88
fast_alpha_t* _noalias fast_alpha =
89
89
(fast_alpha_t*) malloc(ntypes2*sizeof(fast_alpha_t));
90
90
for (i = 0; i < ntypes; i++) for (j = 0; j < ntypes; j++) {
91
91
fast_alpha_t& a = fast_alpha[i*ntypes+j];
106
106
double ytmp = xx[i].y;
107
107
double ztmp = xx[i].z;
108
108
itype = type[i] - 1;
109
int* __restrict__ jlist = firstneigh[i];
109
int* _noalias jlist = firstneigh[i];
110
110
jnum = numneigh[i];
112
112
double tmpfx = 0.0;
113
113
double tmpfy = 0.0;
114
114
double tmpfz = 0.0;
116
fast_alpha_t* __restrict__ tabsixi = (fast_alpha_t*)&tabsix[itype*ntypes];
116
fast_alpha_t* _noalias tabsixi = (fast_alpha_t*)&tabsix[itype*ntypes];
118
118
for (jj = 0; jj < jnum; jj++) {