zoukankan      html  css  js  c++  java
  • CUDA C Programming Guide 在线教程学习笔记 Part 11

    ▶ 数学函数

    ● 舍入函数,考虑被舍入参数有双精度浮点和单精度浮点,舍入方式有区别,舍入结果有整形、长整形和长长整形,所以共有以下舍入函数。

     1 // math_functions.h
     2 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl round(double x);
     3 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float  __cdecl roundf(float x);
     4 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lround(double x);
     5 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lroundf(float x);
     6 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llround(double x);
     7 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llroundf(float x);
     8 
     9 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl rint(double x);
    10 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float  __cdecl rintf(float x);
    11 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lrint(double x);
    12 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lrintf(float x);
    13 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llrint(double x);
    14 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llrintf(float x);
    15 
    16 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl nearbyint(double x);
    17 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float  __cdecl nearbyintf(float x);
    18 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl ceil(double x) __THROW;
    19 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl trunc(double x);
    20 extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float  __cdecl truncf(float x);

    ● 推荐单精度浮点使用函数 rint() 系列(单指令计算),而不用函数 round() 系列(8 指令计算)。其他几个用于单精度浮点的舍入函数也是单指令计算完成的。

    ● 基本算术运算的舍入精度

      

    ● 指令级函数(__ 前缀数学函数),使用编译器选项 -use_fast_math 可以强制使用以下指令级函数。

       

    ● 有的指令级函数名有可选后缀,表明舍入方向

      

  • 相关阅读:
    *.ascx *.asax *.aspx.resx *.asax.resx是什么文件,Global.asax 文件是什么
    SQL Server Profiler的简单使用
    关于web.config配置文件里面的 mode的各种含义,mode="RemoteOnly",mode="On",mode="Windows"
    解决不同js之间冲突windows.onload
    【转】工作需要一个聪明人,工作其实更需要一个踏实的人
    java实现调用c接口
    hdu4043FXTZ II(大数+数学)
    poj1251Jungle Roads
    hdu4034Graph
    poj1236Network of Schools
  • 原文地址:https://www.cnblogs.com/cuancuancuanhao/p/7851734.html
Copyright © 2011-2022 走看看