Num Enums
Enums สำหรับ numeric operations
FpCategory
Section titled “FpCategory”use std::num::FpCategory;
fn classify(x: f64) -> &'static str { match x.classify() { FpCategory::Nan => "NaN (Not a Number)", FpCategory::Infinite => "Infinite", FpCategory::Zero => "Zero", FpCategory::Subnormal => "Subnormal (denormalized)", FpCategory::Normal => "Normal", }}
fn main() { let values = [ 0.0_f64, -0.0, 1.0, f64::INFINITY, f64::NEG_INFINITY, f64::NAN, f64::MIN_POSITIVE, f64::MIN_POSITIVE / 2.0, // Subnormal ];
for v in values { println!("{:>20} -> {}", format!("{:?}", v), classify(v)); }
// Check methods let x = 42.0_f64; println!("\n42.0:"); println!(" is_nan: {}", x.is_nan()); println!(" is_infinite: {}", x.is_infinite()); println!(" is_finite: {}", x.is_finite()); println!(" is_normal: {}", x.is_normal()); println!(" is_subnormal: {}", x.is_subnormal()); println!(" is_sign_positive: {}", x.is_sign_positive()); println!(" is_sign_negative: {}", x.is_sign_negative());}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google