C/C++ 取整函数ceil(),floor()
在cuda核函数中也可以用.但是cuda中要以%f的格式输出.int型能转换成double型,但是double还不能转换成int型.
#include <math.h> double floor(double x);
float floorf(float x);
long double floorl(long double x);
double floor(double x);
double ceil(double x);
使用floor函数。floor(x)返回的是小于或等于x的最大整数。
如: floor(10.5) == 10 floor(-10.5) == -11
使用ceil函数。ceil(x)返回的是大于x的最小整数。
如: ceil(10.5) == 11 ceil(-10.5) ==-10
floor()是向负无穷大舍入,floor(-10.5) == -11;
ceil()是向正无穷大舍入,ceil(-10.5) == -10
这篇文章也不错,可以参考;
https://blog.csdn.net/codeswarrior/article/details/78277523
----------------------2019.06.01---------------------------
发现一个问题,就是在__global__ 开头的函数是可以使用的:
这是可以编译通过的
但是以 __device__ 开头的函数就会出错,目前不知道为什么?,有知道的同学可以指导一下.