CANN/asc-devkit:Ascend C SIMD API舍入模式
RoundMode【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit参数名描述RoundMode用于设置控制舍入模式。enum class RoundMode {CAST_NONE 0,CAST_RINT,CAST_FLOOR,CAST_CEIL,CAST_ROUND,CAST_TRUNC,CAST_ODD,CAST_HYBRID};• CAST_NONE当转换过程存在精度损失时按 CAST_RINT 模式处理当不存在精度损失时不进行舍入。• CAST_RINT向最近的偶数舍入。- 若待舍入部分的首位为 0则不进位。- 若待舍入部分的首位为 1 且后续位不全为 0则进位。- 若待舍入部分的首位为 1 且后续位全为 0当非舍入部分的末位为 0则不进位。当非舍入部分的末位为 1则进位。• CAST_FLOOR向负无穷大方向舍入。- 若符号位S为 0正数不进位。- 若符号位S为 1负数当待舍入部分全为 0则不进位。否则进位。• CAST_CEIL向正无穷大方向舍入。- 若符号位S为 1负数不进位。- 若符号位S为 0正数当待舍入部分全为 0则不进位。否则进位。• CAST_ROUND 四舍五入。若待舍入部分的首位为0则不进位。否则进位。• CAST_TRUNC 直接丢弃待舍入部分。• CAST_ODD向最近的奇数舍入。- 若待舍入部分全为 0则不进位。- 若待舍入部分不全为 0非舍入部分的末位为 1则不进位。当非舍入部分的末位为 0则进位。• CAST_HYBRID随机舍入目前特指输出结果是hifloat8_t数据类型时的随机舍入。enum class RoundMode { CAST_NONE 0, CAST_RINT, CAST_FLOOR, CAST_CEIL, CAST_ROUND, CAST_TRUNC, CAST_ODD, CAST_HYBRID };【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考