Please see attachment b.c.
if I comment out from//hmli begin to //hmli end in the follow code of b.c, it works wrong, but if I do not comment out and use sprintf and atof to convert from double to string, then convert back to double, it work well.
for (k = 0; k < 64; k++)a[j][i] +=(double) A1[j][k] * A1[i][k]; //hmli begin sprintf(t,"%lf",a[j][i]); a[j][i]=atof(t); //hmli end a[i][j] = (double)a[j][i];
Is it just because of the precision?
Can you help me? Thank you very much.
- b.c: source code
- body.log : input data file
- ainv.log: result of matrix inversion.
- compiling :icc -mkl b.c