diff options
-rw-r--r-- | scilab2c/src/matrixOperations/logm/testDoubleLogm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scilab2c/src/matrixOperations/logm/testDoubleLogm.c b/scilab2c/src/matrixOperations/logm/testDoubleLogm.c index f54b2af9..7667192c 100644 --- a/scilab2c/src/matrixOperations/logm/testDoubleLogm.c +++ b/scilab2c/src/matrixOperations/logm/testDoubleLogm.c @@ -79,14 +79,18 @@ static void dlogmaTest(void){ else assert(1); } + /* FIXME : sign pb with the imaginary part below : it's due to the reals eigenvalues which are + stored like that : eigenvalues + (-0)*i instead of eigenvalues + 0 *i + When we do operations with eigenvalues the sign isn't good + */ + for(i=0;i<16;i++) { printf("out[%d] = %f + %f *i ---result = %f + %f *i\n",i,zreals(out16[i]),zimags(out16[i]),result16R[i],result16I[i]); assert( fabs(zreals(out16[i])-result16R[i]) / fabs(zreals(out16[i])) <1e-13); - /*assert( fabs(zimags(out16[i])-result16I[i]) / fabs(zimags(out16[i])) <1e-16);*/ + assert( fabs(zimags(out16[i])-result16I[i]) / fabs(zimags(out16[i])) <1); } for(i=0;i<16;i++) { - printf("out[%d] = %f + %f *i ---result = %f + %f *i\n",i,zreals(outHer[i]),zimags(outHer[i]),resultHerR[i],resultHerI[i]); assert( fabs(zreals(outHer[i])-resultHerR[i]) / fabs(zreals(outHer[i])) <1e-12); assert( fabs(zimags(outHer[i])-resultHerI[i]) / fabs(zimags(outHer[i])) <1e-13); } |