64 位浮点数。
Float 对应 IEEE 754 的 binary64 格式(C 中的 double 或 Rust 中的 f64)。
浮点数以有限形式表示实数的一个子集,并扩充了额外的“哨兵”值,用于表示未定义结果、无穷结果以及彼此分离的正零和负零。浮点算术会把结果舍入到可表示的数,从而近似实数上的相应运算,并传播错误值与无穷值。
浮点数包括次正规数。 其特殊值包括:
-
NaN,表示一类“非数”值,由零除以零等运算产生;以及 -
Inf和-Inf,分别表示正无穷与负无穷,由非零值除以零产生。
与其他底层类型一样,Lean 编译器会特殊处理 Float,使其对应 C 的 double 类型。从 Lean 逻辑的角度看,Float 等价于 Float.Model(通过函数 Float.toModel 和 Float.ofModel),而后者本身是 UInt64 的子类型。Float 上的一些运算根据其 Float.Model 对应项定义,另一些运算则对 Lean 内核不透明。
构造子
Float.ofModel
从 Float.Model 构造 Float。
字段
toModel : Float.Model
把 Float 转换为 Float.Model。