#endif
u8 bc_ij,bc_ik;
int dnlc;
+#ifdef PTHREADS
+ int ret;
+ pthread_t kthread[27];
+ t_kdata kdata[27];
+#endif
count=moldyn->count;
itom=moldyn->atom;
atom=moldyn->atom;
#endif
+#ifdef PTHREADS
+ memset(kdata,0,27*sizeof(t_kdata));
+#endif
+
/* reset energy */
moldyn->energy=0.0;
continue;
/* first loop over atoms k */
+#ifndef PTHREADS
if(moldyn->func3b_k1) {
+#endif
for(k=0;k<27;k++) {
if(ktom==&(itom[i]))
continue;
+#ifdef PTHREADS
+ kdata[k].moldyn=moldyn;
+ kdata[k].ai=&(itom[i]);
+ kdata[k].aj=jtom;
+ kdata[k].ak=ktom;
+ kdata[k].bc=bc_ik;
+ ret=pthread_create(&(kthread[k]),NULL,moldyn->func3b_k1,&(kdata[k]));
+ if(ret) {
+ perror("[moldyn] create k1 thread");
+ return ret;
+ }
+#else
moldyn->func3b_k1(moldyn,
&(itom[i]),
jtom,
ktom,
bc_ik|bc_ij);
+#endif
+
#ifdef STATIC_LISTS
}
#elif LOWMEM_LISTS
}
+#ifndef PTHREADS
}
+#endif
if(moldyn->func3b_j2)
moldyn->func3b_j2(moldyn,