1 double g0(double x)2g0 (double x) 3 { 4 return 1.0; 5 } 6 7 double g1(double x)8g1 (double x) 9 { 10 return -1.0; 11 } 12 13 double g2(double x)14g2 (double x) 15 { 16 return 0.0; 17 } 18 19 __complex__ double cexp(__complex__ double x)20cexp (__complex__ double x) 21 { 22 double r; 23 24 r = g0 (__real__ x); 25 __real__ x = r * g1 (__imag__ x); 26 __imag__ x = r * g2 (__imag__ x); 27 return x; 28 } 29 main()30main () 31 { 32 __complex__ double x; 33 34 x = cexp (1.0i); 35 if (__real__ x != -1.0) 36 abort (); 37 if (__imag__ x != 0.0) 38 abort (); 39 exit (0); 40 } 41