Bonjour,
je suis en train de lire "Cuda by example", et je viens de tomber sur le code suivant:
Ça compile et ça tourne. On dirait une classe C++. Mais je n'ai jamais vu pareille chose ni en C, ni en C++. Peut-on me confirmer que ce n'es ni du C ni du C++?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 struct cuComplex { float r; float i; cuComplex( float a, float b ) : r(a), i(b) {} float magnitude2( void ) { return r * r + i * i; } cuComplex operator*(const cuComplex& a) { return cuComplex(r*a.r - i*a.i, i*a.r + r*a.i); } cuComplex operator+(const cuComplex& a) { return cuComplex(r+a.r, i+a.i); } };
Je ne trouve pas non plus de chose similaires dans la doc de CUDA. Quelqu'un peut-il me dire d'où ça sort?
D'autre part, "cuComplex( float a, float b ) : r(a), i(b) {}" ressemble à une sorte de constructeur mais le fonctionnement de cette partie " : r(a), i(b)" n'est pas très clair pour moi...
Partager