哪位大侠能解释下这个结构数组每一步的意思,研究了好久都没弄明白。
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(ra.r - ia.i, ia.r + ra.i);
}
cuComplex operator+(const cuComplex& a) {
return cuComplex(r+a.r, i+a.i);
}
};
;P自己顶一个
:)怎么没人呀
都是一些简单的初始化操作·······吧,区区还没开始接触cuda,不过看这架势跟C++架构差不多:lol
struct 应该可以理解为c++中的class。本质上是一样的。在cuda里面到底是什么形式不清楚。
定义了一个复数的数据结构,r,i 分别表示复数的实部与虚部吧,接下来就是复数求模、复数相乘、复数相加的操作了
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(ra.r - ia.i, ia.r + ra.i);
}
cuComplex operator+(const cuComplex& a) { //重载为复数加法
return cuComplex(r+a.r, i+a.i);
}
};
lz要补补C++的知识啦,呵呵