【CUDA】CUDA 类型转换

官方文档藏得比较深,用来备忘

文档:https://docs.nvidia.com/cuda/cuda-math-api/group__CUDA__MATH__INTRINSIC__CAST.html#group__CUDA__MATH__INTRINSIC__CAST

1. rd 向下舍入,向负无穷截断,等价于C/C++中floor()

__device__​ float __float2int_rd ( float  x )

__float2int_rd(9.6f) = 9
__float2int_rd(-9.3f) = -10

2. ru 向上舍入,向正无穷截断,等价于C/C++中ceil()

__device__​ float __float2int_ru ( float  x )

__float2int_ru(9.3f) = 10
__float2int_ru(-9.6f) = -9

3. rz 向零截断,等价于C/C++中trunc()

// rz 向零截断,等价于C中floor()
__device__​ float __float2int_rz ( float  x )

__float2int_rz(9.6f) = 9
__float2int_rz(-9.3f) = -9

4. rn 四舍六入五取偶,注意不是四舍五入,等价于C/C++中rint()

// rn 最近整数
__device__​ float __float2int_rn ( float  x )

__float2int_rn(9.3f) = 9
__float2int_rn(9.5f) = 10
__float2int_rn(10.5f) = 10
__float2int_rn(11.5f) = 12
__float2int_rn(-9.3f) = -9

【备注】C/C++ round 四舍五入,遇到五且朝向绝对值大的舍入


参考:https://bbs.gpuworld.cn/index.php?topic=73335.0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值