1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// structure d un nombre complexe
// attention en C++ structures et classes sont equivalents à la difference que tout est public pour une stucture
struct cuComplex
{
// partie réelle
float r;
// partie imaginaire
float i;
// constrcuteur par defaut avec liste d'initialisation " : r(a), i(b)"
cuComplex( float a, float b ) : r(a), i(b) {}
// carrée du module d un nombre complexe
float magnitude2( void ) { return r * r + i * i; }
// surcharge operateur * : pour pouvoir faire n1*n2
cuComplex operator*(const cuComplex& a)
{
return cuComplex(r*a.r - i*a.i, i*a.r + r*a.i);
}
// surcharge operateur + : pour pouvoir faire n1+n2
cuComplex operator+(const cuComplex& a)
{
return cuComplex(r+a.r, i+a.i);
}
}; |