글
for구문인데 무한루프에 빠진다.
분명히 괄호도 잘 막았고 for구문 쓰는 법도 맞았는데...
어디서 틀린거지 -_-;
C언어 쓰다가 이런 경우는 처음이다.
추가 - for문 안에 for문을 또 쓸때 인덱스로 들어간 i를 같은걸 쓰는 바람에 이런 비극이 벌어졌다. -_-; 바보.
for(i=0;i<200;i++){
printf("%d th iteration \n", iteration++);
linmin(band, xi);
if(2.0*fabs(fret-fp)<ftol*(fabs(fret+fabs(fp)+__EPSILON__))){
break;
}
fp=NEBpotential(band);
xi = NEBforce(band);
gg=0.0;
dgg=0.0;
for(i=0;i<__DISCRETIZE__+1;i++){
for(j=0;j<__DIM__;j++){
gg+=g[i][j]*g[i][j];
dgg = (xi[i][j]+g[i][j])*xi[i][j];
}
}
gam=gg/dgg;
if(gg==0.0){
break;
}
for(i=0;i<__DISCRETIZE__+1;i++){
for(j=0;j<__DIM__;j++){
g[i][j] = -xi[i][j];
h[i][j] = g[i][j]+gam*h[i][j];
xi[i][j] = h[i][j];
}
}
}
printf("%d th iteration \n", iteration++);
linmin(band, xi);
if(2.0*fabs(fret-fp)<ftol*(fabs(fret+fabs(fp)+__EPSILON__))){
break;
}
fp=NEBpotential(band);
xi = NEBforce(band);
gg=0.0;
dgg=0.0;
for(i=0;i<__DISCRETIZE__+1;i++){
for(j=0;j<__DIM__;j++){
gg+=g[i][j]*g[i][j];
dgg = (xi[i][j]+g[i][j])*xi[i][j];
}
}
gam=gg/dgg;
if(gg==0.0){
break;
}
for(i=0;i<__DISCRETIZE__+1;i++){
for(j=0;j<__DIM__;j++){
g[i][j] = -xi[i][j];
h[i][j] = g[i][j]+gam*h[i][j];
xi[i][j] = h[i][j];
}
}
}
분명히 괄호도 잘 막았고 for구문 쓰는 법도 맞았는데...
어디서 틀린거지 -_-;
C언어 쓰다가 이런 경우는 처음이다.
추가 - for문 안에 for문을 또 쓸때 인덱스로 들어간 i를 같은걸 쓰는 바람에 이런 비극이 벌어졌다. -_-; 바보.
RECENT COMMENT