00001 #include <stdio.h> 00002 #include <complex.h> 00003 #include <math.h> // pour atan 00004 00005 int main() 00006 { 00007 const double PI = 4*atan(1.0); // astuce pour le calcul "exact" de /*@$\pi$@*/ 00008 double complex z1 = 1.0 + I; // construction classique 00009 double complex z2 = cexp(I*PI); // construction exponentielle; z2 = -1 00010 double complex z3 = conj(z1); // conjugué: z3 = 1 - I 00011 double complex z4 = cpow(2,z1); // calcul de /*@$2^{\mathtt{z_1}}$@*/ 00012 printf("z1 = %f*exp(%fi)\n", cabs(z1), carg(z1)); // module/argument 00013 printf("z2 = %f +%fi\n", creal(z2), cimag(z2)); // partie réelle/imaginaire 00014 return 0; 00015 }