我在CPU中运行下面的代码没问题,(代码是标准的dftol函数)
但在GPU中运行时,返回值都为0,明显不对,但如果把第一句的随意地
改变:static const double magic = 744.0;后返回值有变化,但结果肯定不对,
难道GPU中对太大的数值(magic = 6755399441055744.0;)不支持吗?
long dftol_ieee_MagicNumber(double x)
{
static const double magic = 6755399441055744.0; // (1 < <51) | (1 < <52)
double tmp = x;
tmp += (x > 0) ? -0.499999999999 : +0.499999999999; //如果需要4舍5入取整就去掉这一行
tmp += magic;
return (long)&tmp;
}
请高手指点,谢谢!
这个,不知道啊
还是要请版主门来解决一下下吧