https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66613
Bug ID: 66613 Summary: error in evaluationg cexp Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: ka_bena at yahoo dot fr Target Milestone: --- #include <stdio.h> #include <complex.h> #include <quadmath.h> int main(void) { printf( "\n"); printf("/**********************************************************************/\n"); printf( "\n"); printf( "SECTION 1 \n"); printf( "\n"); printf( " _Complex float zF = 1.F + 2.Fi ;\n"); _Complex float zF = 1.F + 2.Fi ; printf( " crealf(cexpf(zF)) = %f \n" , crealf(cexpf(zF))) ; printf( " cimagf(cexpf(zF)) = %f \n" , cimagf(cexpf(zF))) ; printf( "\n"); printf( " _Complex double zD = 1.D + 2.Di ;\n"); _Complex double zD = 1.D + 2.Di ; printf( " creal(cexp(zD)) = %E \n" , creal(cexp(zD))) ; printf( " cimag(cexp(zD)) = %E \n" , cimag(cexp(zD))) ; printf( " creal(cexp(1.D + 2.Di)) = %f \n" , creal(cexp(1.D + 2.Di))) ; printf( " cimag(cexp(1.D + 2.Di)) = %f \n" , cimag(cexp(1.D + 2.Di))) ; printf( "\n"); printf( " _Complex long double zL = 1.L + 2.Li\n"); _Complex long double zL = 1.L + 2.Li ; printf( " creall(cexpl(zL)) = %lE \n" , creall(cexpl(zL))) ; printf( " cimagl(cexpl(zL)) = %lE \n" , cimagl(cexpl(zL))) ; printf( " creall(cexpl(1.L + 2.Li)) = %lf \n" , creall(cexpl(1.L + 2.Li))) ; printf( " cimagl(cexpl(1.L + 2.Li)) = %lf \n" , cimagl(cexpl(1.L + 2.Li))) ; printf( "\n"); printf( " __complex128 zQ = 1.Q + 2.Qi\n"); __complex128 zQ = 1.Q + 2.Qi ; printf( " crealq(cexpq(zQ)) = %lf \n" , (long double)crealq(cexpq(zQ))) ; printf( " cimagq(cexpq(zQ)) = %lf \n" , (long double)cimagq(cexpq(zQ))) ; printf( "\n"); printf("/**********************************************************************/\n"); printf( "\n"); printf( "SECTION 2 \n"); printf( "\n"); float alfa = 1.f / 3.f ; printf(" alfa = %-100.80f \n" , alfa) ; printf(" sizeof(alfa)) = %u \n" , sizeof(alfa)) ; printf(" 1.f/3.f = %-100.80f \n" , 1.f/3.f) ; printf(" sizeof(1.f/3.f)) = %u \n" , sizeof(1.f/3.f)) ; printf( "\n"); printf("/**********************************************************************/\n"); printf( "\n"); return 0; } //---------- Capture Output ---------- //> "E:\PAPA\test_gcc\C99\RUN_C\run_C99.bat" main_error_gcc481 // //D:\gfortran\include>E:\PAPA\test_gcc\exe\main_error_gcc481_C99.exe // ///**********************************************************************/ // //SECTION 1 // // _Complex float zF = 1.F + 2.Fi ; // crealf(cexpf(zF)) = -1.131204 // cimagf(cexpf(zF)) = 2.471727 // // _Complex double zD = 1.D + 2.Di ; // creal(cexp(zD)) = -3.730751E-144 // cimag(cexp(zD)) = 6.752940E+268 // creal(cexp(1.D + 2.Di)) = -1.131204 // cimag(cexp(1.D + 2.Di)) = 2.471727 // // _Complex long double zL = 1.L + 2.Li // creall(cexpl(zL)) = -0.000000E+000 // cimagl(cexpl(zL)) = 1.291636E+1644 // creall(cexpl(1.L + 2.Li)) = -1.131204 // cimagl(cexpl(1.L + 2.Li)) = 2.471727 // // __complex128 zQ = 1.Q + 2.Qi // crealq(cexpq(zQ)) = -1.131204 // cimagq(cexpq(zQ)) = 2.471727 // ///**********************************************************************/ // //SECTION 2 // // alfa = 0.33333334326744079589843750000000000000000000000000000000000000000000000000000000 // sizeof(alfa)) = 4 // 1.f/3.f = 0.33333333333333331482961625624739099293947219848632812500000000000000000000000000 // sizeof(1.f/3.f)) = 4 // ///**********************************************************************/ // // //> Terminated with exit code 0.