Programmation Avancée en C


complex.c

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 }