当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust f32.rem_euclid用法及代码示例


本文简要介绍rust语言中 f32.rem_euclid 的用法。

用法

pub fn rem_euclid(self, rhs: f32) -> f32

计算 self (mod rhs) 的最小非负余数。

特别是返回值r在大多数情况下满足0.0 <= r < rhs.abs()。但是,由于浮点舍入误差,如果 self 的大小远小于 rhs.abs()self < 0.0 ,则可能导致 r == rhs.abs() 违反数学定义。该结果不是函数余域的元素,但它是实数中最接近的浮点数,因此近似满足属性self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)

例子

let a: f32 = 7.0;
let b = 4.0;
assert_eq!(a.rem_euclid(b), 3.0);
assert_eq!((-a).rem_euclid(b), 1.0);
assert_eq!(a.rem_euclid(-b), 3.0);
assert_eq!((-a).rem_euclid(-b), 1.0);
// limitation due to round-off error
assert!((-f32::EPSILON).rem_euclid(3.0) != 0.0);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 f32.rem_euclid。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。