@@ -869,16 +869,6 @@ mod tests {
869
869
use super :: * ;
870
870
use prelude:: * ;
871
871
872
- macro_rules! assert_fuzzy_eq(
873
- ($a:expr, $b:expr) => ({
874
- let a = $a, b = $b;
875
- if !((a - b).abs() < 1.0e-6) {
876
- fail!(fmt!(" The values were not approximately equal. \
877
- Found : %? and expected %?" , a, b) ) ;
878
- }
879
- } )
880
- )
881
-
882
872
#[ test]
883
873
fn test_num ( ) {
884
874
num:: test_num ( 10f64 , 2f64 ) ;
@@ -912,91 +902,91 @@ mod tests {
912
902
913
903
#[ test]
914
904
fn test_floor ( ) {
915
- assert_fuzzy_eq ! ( 1.0f64 . floor( ) , 1.0f64 ) ;
916
- assert_fuzzy_eq ! ( 1.3f64 . floor( ) , 1.0f64 ) ;
917
- assert_fuzzy_eq ! ( 1.5f64 . floor( ) , 1.0f64 ) ;
918
- assert_fuzzy_eq ! ( 1.7f64 . floor( ) , 1.0f64 ) ;
919
- assert_fuzzy_eq ! ( 0.0f64 . floor( ) , 0.0f64 ) ;
920
- assert_fuzzy_eq ! ( ( -0.0f64 ) . floor( ) , -0.0f64 ) ;
921
- assert_fuzzy_eq ! ( ( -1.0f64 ) . floor( ) , -1.0f64 ) ;
922
- assert_fuzzy_eq ! ( ( -1.3f64 ) . floor( ) , -2.0f64 ) ;
923
- assert_fuzzy_eq ! ( ( -1.5f64 ) . floor( ) , -2.0f64 ) ;
924
- assert_fuzzy_eq ! ( ( -1.7f64 ) . floor( ) , -2.0f64 ) ;
905
+ assert_approx_eq ! ( 1.0f64 . floor( ) , 1.0f64 ) ;
906
+ assert_approx_eq ! ( 1.3f64 . floor( ) , 1.0f64 ) ;
907
+ assert_approx_eq ! ( 1.5f64 . floor( ) , 1.0f64 ) ;
908
+ assert_approx_eq ! ( 1.7f64 . floor( ) , 1.0f64 ) ;
909
+ assert_approx_eq ! ( 0.0f64 . floor( ) , 0.0f64 ) ;
910
+ assert_approx_eq ! ( ( -0.0f64 ) . floor( ) , -0.0f64 ) ;
911
+ assert_approx_eq ! ( ( -1.0f64 ) . floor( ) , -1.0f64 ) ;
912
+ assert_approx_eq ! ( ( -1.3f64 ) . floor( ) , -2.0f64 ) ;
913
+ assert_approx_eq ! ( ( -1.5f64 ) . floor( ) , -2.0f64 ) ;
914
+ assert_approx_eq ! ( ( -1.7f64 ) . floor( ) , -2.0f64 ) ;
925
915
}
926
916
927
917
#[ test]
928
918
fn test_ceil ( ) {
929
- assert_fuzzy_eq ! ( 1.0f64 . ceil( ) , 1.0f64 ) ;
930
- assert_fuzzy_eq ! ( 1.3f64 . ceil( ) , 2.0f64 ) ;
931
- assert_fuzzy_eq ! ( 1.5f64 . ceil( ) , 2.0f64 ) ;
932
- assert_fuzzy_eq ! ( 1.7f64 . ceil( ) , 2.0f64 ) ;
933
- assert_fuzzy_eq ! ( 0.0f64 . ceil( ) , 0.0f64 ) ;
934
- assert_fuzzy_eq ! ( ( -0.0f64 ) . ceil( ) , -0.0f64 ) ;
935
- assert_fuzzy_eq ! ( ( -1.0f64 ) . ceil( ) , -1.0f64 ) ;
936
- assert_fuzzy_eq ! ( ( -1.3f64 ) . ceil( ) , -1.0f64 ) ;
937
- assert_fuzzy_eq ! ( ( -1.5f64 ) . ceil( ) , -1.0f64 ) ;
938
- assert_fuzzy_eq ! ( ( -1.7f64 ) . ceil( ) , -1.0f64 ) ;
919
+ assert_approx_eq ! ( 1.0f64 . ceil( ) , 1.0f64 ) ;
920
+ assert_approx_eq ! ( 1.3f64 . ceil( ) , 2.0f64 ) ;
921
+ assert_approx_eq ! ( 1.5f64 . ceil( ) , 2.0f64 ) ;
922
+ assert_approx_eq ! ( 1.7f64 . ceil( ) , 2.0f64 ) ;
923
+ assert_approx_eq ! ( 0.0f64 . ceil( ) , 0.0f64 ) ;
924
+ assert_approx_eq ! ( ( -0.0f64 ) . ceil( ) , -0.0f64 ) ;
925
+ assert_approx_eq ! ( ( -1.0f64 ) . ceil( ) , -1.0f64 ) ;
926
+ assert_approx_eq ! ( ( -1.3f64 ) . ceil( ) , -1.0f64 ) ;
927
+ assert_approx_eq ! ( ( -1.5f64 ) . ceil( ) , -1.0f64 ) ;
928
+ assert_approx_eq ! ( ( -1.7f64 ) . ceil( ) , -1.0f64 ) ;
939
929
}
940
930
941
931
#[ test]
942
932
fn test_round ( ) {
943
- assert_fuzzy_eq ! ( 1.0f64 . round( ) , 1.0f64 ) ;
944
- assert_fuzzy_eq ! ( 1.3f64 . round( ) , 1.0f64 ) ;
945
- assert_fuzzy_eq ! ( 1.5f64 . round( ) , 2.0f64 ) ;
946
- assert_fuzzy_eq ! ( 1.7f64 . round( ) , 2.0f64 ) ;
947
- assert_fuzzy_eq ! ( 0.0f64 . round( ) , 0.0f64 ) ;
948
- assert_fuzzy_eq ! ( ( -0.0f64 ) . round( ) , -0.0f64 ) ;
949
- assert_fuzzy_eq ! ( ( -1.0f64 ) . round( ) , -1.0f64 ) ;
950
- assert_fuzzy_eq ! ( ( -1.3f64 ) . round( ) , -1.0f64 ) ;
951
- assert_fuzzy_eq ! ( ( -1.5f64 ) . round( ) , -2.0f64 ) ;
952
- assert_fuzzy_eq ! ( ( -1.7f64 ) . round( ) , -2.0f64 ) ;
933
+ assert_approx_eq ! ( 1.0f64 . round( ) , 1.0f64 ) ;
934
+ assert_approx_eq ! ( 1.3f64 . round( ) , 1.0f64 ) ;
935
+ assert_approx_eq ! ( 1.5f64 . round( ) , 2.0f64 ) ;
936
+ assert_approx_eq ! ( 1.7f64 . round( ) , 2.0f64 ) ;
937
+ assert_approx_eq ! ( 0.0f64 . round( ) , 0.0f64 ) ;
938
+ assert_approx_eq ! ( ( -0.0f64 ) . round( ) , -0.0f64 ) ;
939
+ assert_approx_eq ! ( ( -1.0f64 ) . round( ) , -1.0f64 ) ;
940
+ assert_approx_eq ! ( ( -1.3f64 ) . round( ) , -1.0f64 ) ;
941
+ assert_approx_eq ! ( ( -1.5f64 ) . round( ) , -2.0f64 ) ;
942
+ assert_approx_eq ! ( ( -1.7f64 ) . round( ) , -2.0f64 ) ;
953
943
}
954
944
955
945
#[ test]
956
946
fn test_trunc ( ) {
957
- assert_fuzzy_eq ! ( 1.0f64 . trunc( ) , 1.0f64 ) ;
958
- assert_fuzzy_eq ! ( 1.3f64 . trunc( ) , 1.0f64 ) ;
959
- assert_fuzzy_eq ! ( 1.5f64 . trunc( ) , 1.0f64 ) ;
960
- assert_fuzzy_eq ! ( 1.7f64 . trunc( ) , 1.0f64 ) ;
961
- assert_fuzzy_eq ! ( 0.0f64 . trunc( ) , 0.0f64 ) ;
962
- assert_fuzzy_eq ! ( ( -0.0f64 ) . trunc( ) , -0.0f64 ) ;
963
- assert_fuzzy_eq ! ( ( -1.0f64 ) . trunc( ) , -1.0f64 ) ;
964
- assert_fuzzy_eq ! ( ( -1.3f64 ) . trunc( ) , -1.0f64 ) ;
965
- assert_fuzzy_eq ! ( ( -1.5f64 ) . trunc( ) , -1.0f64 ) ;
966
- assert_fuzzy_eq ! ( ( -1.7f64 ) . trunc( ) , -1.0f64 ) ;
947
+ assert_approx_eq ! ( 1.0f64 . trunc( ) , 1.0f64 ) ;
948
+ assert_approx_eq ! ( 1.3f64 . trunc( ) , 1.0f64 ) ;
949
+ assert_approx_eq ! ( 1.5f64 . trunc( ) , 1.0f64 ) ;
950
+ assert_approx_eq ! ( 1.7f64 . trunc( ) , 1.0f64 ) ;
951
+ assert_approx_eq ! ( 0.0f64 . trunc( ) , 0.0f64 ) ;
952
+ assert_approx_eq ! ( ( -0.0f64 ) . trunc( ) , -0.0f64 ) ;
953
+ assert_approx_eq ! ( ( -1.0f64 ) . trunc( ) , -1.0f64 ) ;
954
+ assert_approx_eq ! ( ( -1.3f64 ) . trunc( ) , -1.0f64 ) ;
955
+ assert_approx_eq ! ( ( -1.5f64 ) . trunc( ) , -1.0f64 ) ;
956
+ assert_approx_eq ! ( ( -1.7f64 ) . trunc( ) , -1.0f64 ) ;
967
957
}
968
958
969
959
#[ test]
970
960
fn test_fract ( ) {
971
- assert_fuzzy_eq ! ( 1.0f64 . fract( ) , 0.0f64 ) ;
972
- assert_fuzzy_eq ! ( 1.3f64 . fract( ) , 0.3f64 ) ;
973
- assert_fuzzy_eq ! ( 1.5f64 . fract( ) , 0.5f64 ) ;
974
- assert_fuzzy_eq ! ( 1.7f64 . fract( ) , 0.7f64 ) ;
975
- assert_fuzzy_eq ! ( 0.0f64 . fract( ) , 0.0f64 ) ;
976
- assert_fuzzy_eq ! ( ( -0.0f64 ) . fract( ) , -0.0f64 ) ;
977
- assert_fuzzy_eq ! ( ( -1.0f64 ) . fract( ) , -0.0f64 ) ;
978
- assert_fuzzy_eq ! ( ( -1.3f64 ) . fract( ) , -0.3f64 ) ;
979
- assert_fuzzy_eq ! ( ( -1.5f64 ) . fract( ) , -0.5f64 ) ;
980
- assert_fuzzy_eq ! ( ( -1.7f64 ) . fract( ) , -0.7f64 ) ;
961
+ assert_approx_eq ! ( 1.0f64 . fract( ) , 0.0f64 ) ;
962
+ assert_approx_eq ! ( 1.3f64 . fract( ) , 0.3f64 ) ;
963
+ assert_approx_eq ! ( 1.5f64 . fract( ) , 0.5f64 ) ;
964
+ assert_approx_eq ! ( 1.7f64 . fract( ) , 0.7f64 ) ;
965
+ assert_approx_eq ! ( 0.0f64 . fract( ) , 0.0f64 ) ;
966
+ assert_approx_eq ! ( ( -0.0f64 ) . fract( ) , -0.0f64 ) ;
967
+ assert_approx_eq ! ( ( -1.0f64 ) . fract( ) , -0.0f64 ) ;
968
+ assert_approx_eq ! ( ( -1.3f64 ) . fract( ) , -0.3f64 ) ;
969
+ assert_approx_eq ! ( ( -1.5f64 ) . fract( ) , -0.5f64 ) ;
970
+ assert_approx_eq ! ( ( -1.7f64 ) . fract( ) , -0.7f64 ) ;
981
971
}
982
972
983
973
#[ test]
984
974
fn test_real_consts ( ) {
985
- assert_fuzzy_eq ! ( Real :: two_pi:: <f64 >( ) , 2.0 * Real :: pi:: <f64 >( ) ) ;
986
- assert_fuzzy_eq ! ( Real :: frac_pi_2:: <f64 >( ) , Real :: pi:: <f64 >( ) / 2f64 ) ;
987
- assert_fuzzy_eq ! ( Real :: frac_pi_3:: <f64 >( ) , Real :: pi:: <f64 >( ) / 3f64 ) ;
988
- assert_fuzzy_eq ! ( Real :: frac_pi_4:: <f64 >( ) , Real :: pi:: <f64 >( ) / 4f64 ) ;
989
- assert_fuzzy_eq ! ( Real :: frac_pi_6:: <f64 >( ) , Real :: pi:: <f64 >( ) / 6f64 ) ;
990
- assert_fuzzy_eq ! ( Real :: frac_pi_8:: <f64 >( ) , Real :: pi:: <f64 >( ) / 8f64 ) ;
991
- assert_fuzzy_eq ! ( Real :: frac_1_pi:: <f64 >( ) , 1f64 / Real :: pi:: <f64 >( ) ) ;
992
- assert_fuzzy_eq ! ( Real :: frac_2_pi:: <f64 >( ) , 2f64 / Real :: pi:: <f64 >( ) ) ;
993
- assert_fuzzy_eq ! ( Real :: frac_2_sqrtpi:: <f64 >( ) , 2f64 / Real :: pi:: <f64 >( ) . sqrt( ) ) ;
994
- assert_fuzzy_eq ! ( Real :: sqrt2:: <f64 >( ) , 2f64 . sqrt( ) ) ;
995
- assert_fuzzy_eq ! ( Real :: frac_1_sqrt2:: <f64 >( ) , 1f64 / 2f64 . sqrt( ) ) ;
996
- assert_fuzzy_eq ! ( Real :: log2_e:: <f64 >( ) , Real :: e:: <f64 >( ) . log2( ) ) ;
997
- assert_fuzzy_eq ! ( Real :: log10_e:: <f64 >( ) , Real :: e:: <f64 >( ) . log10( ) ) ;
998
- assert_fuzzy_eq ! ( Real :: log_2:: <f64 >( ) , 2f64 . log( ) ) ;
999
- assert_fuzzy_eq ! ( Real :: log_10:: <f64 >( ) , 10f64 . log( ) ) ;
975
+ assert_approx_eq ! ( Real :: two_pi:: <f64 >( ) , 2.0 * Real :: pi:: <f64 >( ) ) ;
976
+ assert_approx_eq ! ( Real :: frac_pi_2:: <f64 >( ) , Real :: pi:: <f64 >( ) / 2f64 ) ;
977
+ assert_approx_eq ! ( Real :: frac_pi_3:: <f64 >( ) , Real :: pi:: <f64 >( ) / 3f64 ) ;
978
+ assert_approx_eq ! ( Real :: frac_pi_4:: <f64 >( ) , Real :: pi:: <f64 >( ) / 4f64 ) ;
979
+ assert_approx_eq ! ( Real :: frac_pi_6:: <f64 >( ) , Real :: pi:: <f64 >( ) / 6f64 ) ;
980
+ assert_approx_eq ! ( Real :: frac_pi_8:: <f64 >( ) , Real :: pi:: <f64 >( ) / 8f64 ) ;
981
+ assert_approx_eq ! ( Real :: frac_1_pi:: <f64 >( ) , 1f64 / Real :: pi:: <f64 >( ) ) ;
982
+ assert_approx_eq ! ( Real :: frac_2_pi:: <f64 >( ) , 2f64 / Real :: pi:: <f64 >( ) ) ;
983
+ assert_approx_eq ! ( Real :: frac_2_sqrtpi:: <f64 >( ) , 2f64 / Real :: pi:: <f64 >( ) . sqrt( ) ) ;
984
+ assert_approx_eq ! ( Real :: sqrt2:: <f64 >( ) , 2f64 . sqrt( ) ) ;
985
+ assert_approx_eq ! ( Real :: frac_1_sqrt2:: <f64 >( ) , 1f64 / 2f64 . sqrt( ) ) ;
986
+ assert_approx_eq ! ( Real :: log2_e:: <f64 >( ) , Real :: e:: <f64 >( ) . log2( ) ) ;
987
+ assert_approx_eq ! ( Real :: log10_e:: <f64 >( ) , Real :: e:: <f64 >( ) . log10( ) ) ;
988
+ assert_approx_eq ! ( Real :: log_2:: <f64 >( ) , 2f64 . log( ) ) ;
989
+ assert_approx_eq ! ( Real :: log_10:: <f64 >( ) , 10f64 . log( ) ) ;
1000
990
}
1001
991
1002
992
#[ test]
0 commit comments