rust/fpnum/src/lib.rs
changeset 15219 b71bae455926
parent 15218 b2c086629fb8
child 15837 42109eb6ef51
equal deleted inserted replaced
15218:b2c086629fb8 15219:b71bae455926
   129 
   129 
   130 impl From<FPNum> for f64 {
   130 impl From<FPNum> for f64 {
   131     #[inline]
   131     #[inline]
   132     fn from(n: FPNum) -> Self {
   132     fn from(n: FPNum) -> Self {
   133         if n.is_negative() {
   133         if n.is_negative() {
   134             n.value as f64 / (-0x10000000 as f64)
   134             n.value as f64 / -0x1_0000_0000i64 as f64
   135         } else {
   135         } else {
   136             n.value as f64 / 0x10000000 as f64
   136             n.value as f64 / 0x1_0000_0000i64 as f64
   137         }
   137         }
   138     }
   138     }
   139 }
   139 }
   140 
   140 
   141 impl PartialEq for FPNum {
   141 impl PartialEq for FPNum {
   537     assert_eq!((-n).abs(), n);
   537     assert_eq!((-n).abs(), n);
   538     assert_eq!(-n, fp!(-15 / 2));
   538     assert_eq!(-n, fp!(-15 / 2));
   539 
   539 
   540     assert_eq!(n.round(), 7);
   540     assert_eq!(n.round(), 7);
   541     assert_eq!((-n).round(), -7);
   541     assert_eq!((-n).round(), -7);
       
   542 
       
   543     assert_eq!(f64::from(fp!(5/2)), 2.5f64);
   542 }
   544 }
   543 
   545 
   544 #[test]
   546 #[test]
   545 fn zero() {
   547 fn zero() {
   546     let z = fp!(0);
   548     let z = fp!(0);