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