當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。