本文简要介绍rust语言中 f64.total_cmp
的用法。
用法
pub fn total_cmp(&self, other: &f64) -> Ordering
返回 self 和其他值之间的排序。与浮点数之间的标准部分比较不同,此比较始终根据 IEEE 754(2008 修订版)浮点标准中定义的 totalOrder 谓词生成排序。这些值按以下顺序排序:
- 负面安静NaN
- 负面信号NaN
- 负无穷大
- 负数
- 负次正规数
- 负零
- 正零
- 正次正规数
- 正数
- 正无穷大
- 积极信号NaN
- 积极安静NaN
请注意,此函数并不总是与 f64
的 PartialOrd
和 PartialEq
实现一致。特别是,它们将负零和正零视为相等,而total_cmp
则不然。
示例
#![feature(total_cmp)]
struct GoodBoy {
name: String,
weight: f64,
}
let mut bois = vec![
GoodBoy { name: "Pucci".to_owned(), weight: 0.1 },
GoodBoy { name: "Woofer".to_owned(), weight: 99.0 },
GoodBoy { name: "Yapper".to_owned(), weight: 10.0 },
GoodBoy { name: "Chonk".to_owned(), weight: f64::INFINITY },
GoodBoy { name: "Abs. Unit".to_owned(), weight: f64::NAN },
GoodBoy { name: "Floaty".to_owned(), weight: -5.0 },
];
bois.sort_by(|a, b| a.weight.total_cmp(&b.weight));
相关用法
- Rust f64.to_ne_bytes用法及代码示例
- Rust f64.to_radians用法及代码示例
- Rust f64.to_degrees用法及代码示例
- Rust f64.to_bits用法及代码示例
- Rust f64.to_be_bytes用法及代码示例
- Rust f64.to_le_bytes用法及代码示例
- Rust f64.to_int_unchecked用法及代码示例
- Rust f64.tanh用法及代码示例
- Rust f64.trunc用法及代码示例
- Rust f64.tan用法及代码示例
- Rust f64.signum用法及代码示例
- Rust f64.sqrt用法及代码示例
- Rust f64.is_finite用法及代码示例
- Rust f64.round用法及代码示例
- Rust f64.div_euclid用法及代码示例
- Rust f64.hypot用法及代码示例
- Rust f64.floor用法及代码示例
- Rust f64.log用法及代码示例
- Rust f64.asinh用法及代码示例
- Rust f64.classify用法及代码示例
- Rust f64.abs用法及代码示例
- Rust f64.mul_add用法及代码示例
- Rust f64.asin用法及代码示例
- Rust f64.cbrt用法及代码示例
- Rust f64.from_ne_bytes用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 f64.total_cmp。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。