小编Qua*_* Ha的帖子

为什么 C 或 C++“-0”不产生浮点数 ?0?

我正在尝试收集一些浮点运算的边缘情况。问题是,我的尝试并printf没有告诉我我想要什么:

#include <cmath>
#include <stdio.h>
#include <complex>

int main() {
    double x = -0;
    auto y = sqrt(x);

    printf("x %f y %f \n", x, y);

    return 1;
}
Run Code Online (Sandbox Code Playgroud)

根据 IEEE,squareRoot(-0)-0,但这将打印出 x 和 y 均为 0。

关于如何实现我想要的目标有什么建议吗?是通过编译器标志还是其他什么方式?

c++ floating-point precision ieee-754

4
推荐指数
1
解决办法
90
查看次数

如何在 VIM 中的缩进之后转到行首?

我知道按0会回到行首。但是在缩进之后我如何到达行的开头呢?

vi vim

3
推荐指数
1
解决办法
549
查看次数

通过构造函数将 device_vector 存储在函子中?

我正在尝试将 a 存储thrust::device_vector在函子内。简单的解释如下:

struct StructOperator : public thrust::unary_function<float, int>  {
  int num_;
  thrust::device_vector<int> v_test;

  explicit StructOperator(thrust::device_vector<int> const& input_v) :
    v_test(input_v), num_(input_v.size()) {};

  __host__ __device__
   float operator()(int index) {
      // magic happens
   }
};
Run Code Online (Sandbox Code Playgroud)

无法编译 -nvcc一直说不允许__host__从 a调用 a __host__ __device__。我见过这个问题 - 这是实现这一目标的唯一方法吗?

cuda functor thrust

1
推荐指数
1
解决办法
173
查看次数

标签 统计

c++ ×1

cuda ×1

floating-point ×1

functor ×1

ieee-754 ×1

precision ×1

thrust ×1

vi ×1

vim ×1