#assembly #half #float

nightly clnooms

在汇编级别实现各种有趣的数据类型

1个不稳定发布

0.5.0 2021年12月24日

#1208 in 数学

MIT/Apache

26KB
659

Clnooms

Crate API

在Rust上以汇编级别实现各种有趣的数据类型

目录

  • 数据类型
    • 半精度浮点数(f16)
    • 扩展浮点数(f80)
  • 进度
    • 半精度浮点数(f16)
      • 算术
      • 指数
      • 三角
      • 比较
      • 从转换
      • 到转换
      • 杂项
    • 扩展浮点数(f80)
      • 算术
      • 指数
      • 三角
      • 比较
      • 从转换
      • 到转换
      • 杂项
  • 基准测试
  • 安装

数据类型

半精度浮点数(f16)

A 16-bit floating point type; specifically, the ARM alternative half-precision. It is only available for aarch64 targets & it differs from it's IEEE variant by doing away with the special case for an exponent value of 31, disallawing infinities & NaNs. For non-compatible targets, the "f16" type is an alias of "f32"

参见维基百科文章

扩展浮点数(f80)

A 80-bit floating point type that provides greater precision than basic floating-point. It is an x86 exclusive and it's mainly used to minimize roundoff and overflow errors in smaller floating point types. For non-compatible targets, the "f80" type is an alias of "f64"

参见维基百科文章

进度

半精度浮点数(f16)

算术

  • 加法
  • 减法
  • 乘法
  • 除法
  • 取负
  • 平方根

指数

  • 指数
  • 自然对数

三角

  • 正弦
  • 余弦
  • 正切
  • 反正弦
  • 反余弦
  • 反正切
  • 反正切2

比较

  • 等于
  • 顺序

从转换

  • 8位无符号整数
  • 8位有符号整数
  • 16位无符号整数
  • 16位有符号整数
  • 32位无符号整数
  • 32位有符号整数
  • 64位无符号整数
  • 64位有符号整数
  • 128位无符号整数
  • 128位有符号整数
  • 单精度浮点数
  • 双精度浮点数

到转换

  • 8位无符号整数
  • 8位有符号整数
  • 16位无符号整数
  • 16位有符号整数
  • 32位无符号整数
  • 32位有符号整数
  • 64位无符号整数
  • 64位有符号整数
  • 128位无符号整数
  • 128位有符号整数
  • 单精度浮点数
  • 双精度浮点数

杂项

  • 绝对值
  • 四舍五入
  • 截断
  • 向下取整
  • 向上取整

扩展浮点数(f80)

算术

  • 加法
  • 减法
  • 乘法
  • 除法
  • 取负
  • 平方根

指数

  • 指数
  • 自然对数

三角

  • 正弦
  • 余弦
  • 正切
  • 反正弦
  • 反余弦
  • 反正切
  • 反正切2

比较

  • 等于
  • 顺序

从转换

  • 8位无符号整数
  • 8位有符号整数
  • 16位无符号整数
  • 16位有符号整数
  • 32位无符号整数
  • 32位有符号整数
  • 64位无符号整数
  • 64位有符号整数
  • 128位无符号整数
  • 128位有符号整数
  • 单精度浮点数
  • 双精度浮点数

到转换

  • 8位无符号整数
  • 8位有符号整数
  • 16位无符号整数
  • 16位有符号整数
  • 32位无符号整数
  • 32位有符号整数
  • 64位无符号整数
  • 64位有符号整数
  • 128位无符号整数
  • 128位有符号整数
  • 单精度浮点数
  • 双精度浮点数

杂项

  • 绝对值
  • 四舍五入
  • 截断
  • 向下取整
  • 向上取整

基准测试

待办

安装

可以通过以下命令使用cargo安装此库:
cargoinstall clnooms

依赖

~4KB