This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/66613] New: error in evaluationg cexp


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]