Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Utilisation des nombres complexes ====== sur nemo, penser à choisir la dernière version du compilateur: <code> nemo-henry% module load ss12 </code> La doc du compilateur C++ et des librairies fournies est [[http://docs.sun.com/app/docs/doc/819-5267?a=load|ici]] \\ On peut partir de l'[[http://www-fourier.ujf-grenoble.fr/~faure/enseignement/doc_c++/complex_CC.html|exemple]], et pour compiler: <code> #include <stdio.h> #include <complex> #include <iostream> int main() { typedef std ::complex < float >complex; complex z(1, 2), zz(3, 4), I(0, 1); complex zzz = z + zz; std::cout << zzz << std::endl; std::cout << real(zzz) << std::endl; std::cout << imag(zzz) << std::endl; std::cout << norm(zzz) << std::endl; std::cout << abs(zzz) << std::endl; std::cout << I * I << std::endl; std::cout << sqrt(complex(-1.)) << std::endl; std::cout << " OK !" << std::endl; } nemo-henry% CC -m64 -library=stlport4 -library=complex comp.C nemo-henry% ldd comp libstlport.so.1 => /opt/studio12/SUNWspro/lib/stlport4/amd64/libstlport.so.1 librt.so.1 => /lib/64/librt.so.1 libCrun.so.1 => /usr/lib/64/libCrun.so.1 libm.so.2 => /lib/64/libm.so.2 libc.so.1 => /lib/64/libc.so.1 libaio.so.1 => /lib/64/libaio.so.1 libmd.so.1 => /lib/64/libmd.so.1 </code> ou bien, avec gcc par défaut (3.4.3): <code> nemo-henry% g++ -m64 comp.C -lm -o comp nemo-henry% ldd comp libstdc++.so.6 => /usr/sfw/lib/amd64/libstdc++.so.6 libm.so.2 => /lib/64/libm.so.2 libgcc_s.so.1 => /usr/sfw/lib/amd64/libgcc_s.so.1 libc.so.1 => /lib/64/libc.so.1 </code> autres_exemples_c.txt Dernière modification : 2008/06/30 12:02de gerard