私はこのようにいくつかのexp()を計算したいと思います。CUDA - どのようにexp(1i * x)を変換するのですか?
float t = 5.0; cuComplex res = expf(1i*t);
しかし、機能を実行することはできません。コンパイラは複雑な引数expf()関数のようにサポートしていないと私は思う。
いくつかの例は、EXP(X + IY)を記述する見つける.. 私はexpは(X * I)....
私はこのようにいくつかのexp()を計算したいと思います。CUDA - どのようにexp(1i * x)を変換するのですか?
float t = 5.0; cuComplex res = expf(1i*t);
しかし、機能を実行することはできません。コンパイラは複雑な引数expf()関数のようにサポートしていないと私は思う。
いくつかの例は、EXP(X + IY)を記述する見つける.. 私はexpは(X * I)....
は部分ソース
...__device__ __forceinline__ cuComplex _exp (cuComplex z)
{
cuComplex res;
float t = expf(z.x);
sincosf(z.y, &res.y, &res.x);
res.x *= t;
res.y *= t;
return res;
}
を自分自身を解決したいです
/* 1i*t = 0+ti | -1i*t = 0-ti */
cuComplex _gbp, _gfp;
_gbp.x = 0;
_gbp.y = t;
_gfp.x = 0;
_gfp.y = -t;
cuComplex res_b = _exp(_gbp);
cuComplex res_f = _exp(_gfp);
オイラーの式ですか? https://en.wikipedia.org/wiki/Euler's_formula – talonmies
自己解決.. thanx – James