rust/fpnum/src/lib.rs
changeset 13905 fed924791e06
parent 13896 ac1801fe51d9
child 13925 2ee07e751171
equal deleted inserted replaced
13904:3f0576157749 13905:fed924791e06
   271 }
   271 }
   272 
   272 
   273 macro_rules! fp {
   273 macro_rules! fp {
   274     (-$n: tt / $d: tt) => { FPNum::new(-$n, $d) };
   274     (-$n: tt / $d: tt) => { FPNum::new(-$n, $d) };
   275     ($n: tt / $d: tt) => { FPNum::new($n, $d) };
   275     ($n: tt / $d: tt) => { FPNum::new($n, $d) };
       
   276     (-$n: tt) => { FPNum::from(-$n) };
   276     ($n: tt) => { FPNum::from($n) };
   277     ($n: tt) => { FPNum::from($n) };
   277 }
   278 }
   278 
   279 
   279 /* TODO:
   280 /* TODO:
   280  Distance
   281  Distance
   326     assert!(-n2_25 < n1_5);
   327     assert!(-n2_25 < n1_5);
   327     assert!(-n2_25 < -n1_5);
   328     assert!(-n2_25 < -n1_5);
   328 }
   329 }
   329 
   330 
   330 #[test]
   331 #[test]
   331 fn ord() {
       
   332     let z = FPNum::from(0);;
       
   333     let n1_5 = FPNum::new(3, 2);
       
   334     let n2_25 = FPNum::new(9, 4);
       
   335 
       
   336     assert!(!(z > z));
       
   337     assert!(!(z < z));
       
   338     assert!(n2_25 > n1_5);
       
   339     assert!(-n2_25 < n1_5);
       
   340     assert!(-n2_25 < -n1_5);
       
   341 }
       
   342 
       
   343 #[test]
       
   344 fn arith() {
   332 fn arith() {
   345     let n1_5 = fp!(3/2);
   333     let n1_5 = fp!(3/2);
   346     let n2_25 = fp!(9/4);
   334     let n2_25 = fp!(9/4);
   347     let n_0_15 = fp!(-15/100);
   335     let n_0_15 = fp!(-15/100);
   348 
   336