@@ -732,7 +732,12 @@ mod tests {
732732 ( 0 , 0 , 0 , 0 ) ,
733733 ( 10_u128 , 0 , 100_000_000_000_000_000_000_u128 , -19 ) ,
734734 ( 1_000_u128 , 0 , 100_000_000_000_000_000_000_u128 , -17 ) ,
735- ( 100_000_000_000_000_000_000_u128 , 0 , 1_000_000_000_000_000_000_000_u128 , -1 ) ,
735+ (
736+ 100_000_000_000_000_000_000_u128 ,
737+ 0 ,
738+ 1_000_000_000_000_000_000_000_u128 ,
739+ -1 ,
740+ ) ,
736741 ( SAFE_FLOAT_MAX , 0 , SAFE_FLOAT_MAX , 0 ) ,
737742 ]
738743 . into_iter ( )
@@ -747,14 +752,63 @@ mod tests {
747752 fn test_safefloat_add ( ) {
748753 // Test case: man_a, exp_a, man_b, exp_b, expected mantissa of a+b, expected exponent of a+b
749754 [
750- ( 1_u128 , 0 , 1_u128 , 0 , 200_000_000_000_000_000_000_u128 , -20_i64 ) ,
751- ( SAFE_FLOAT_MAX , 0 , SAFE_FLOAT_MAX , 0 , SAFE_FLOAT_MAX * 2 / 10 , 1_i64 ) ,
755+ (
756+ 1_u128 ,
757+ 0 ,
758+ 1_u128 ,
759+ 0 ,
760+ 200_000_000_000_000_000_000_u128 ,
761+ -20_i64 ,
762+ ) ,
763+ (
764+ SAFE_FLOAT_MAX ,
765+ 0 ,
766+ SAFE_FLOAT_MAX ,
767+ 0 ,
768+ SAFE_FLOAT_MAX * 2 / 10 ,
769+ 1_i64 ,
770+ ) ,
752771 // Expected loss of precision
753- ( 1_u128 , 0 , 1_000_000_000_000_000_000_000_u128 , 1 , 1_000_000_000_000_000_000_000_u128 , 1_i64 ) ,
754- ( 1_u128 , 0 , 1_u128 , 22 , 1_000_000_000_000_000_000_000_u128 , 1_i64 ) ,
755- ( 1_u128 , 0 , 1_u128 , 23 , 1_000_000_000_000_000_000_000_u128 , 2_i64 ) ,
756- ( 123_u128 , 0 , 1_u128 , 23 , 1_000_000_000_000_000_000_001_u128 , 2_i64 ) ,
757- ( 123_u128 , 1 , 1_u128 , 23 , 1_000_000_000_000_000_000_012_u128 , 2_i64 ) ,
772+ (
773+ 1_u128 ,
774+ 0 ,
775+ 1_000_000_000_000_000_000_000_u128 ,
776+ 1 ,
777+ 1_000_000_000_000_000_000_000_u128 ,
778+ 1_i64 ,
779+ ) ,
780+ (
781+ 1_u128 ,
782+ 0 ,
783+ 1_u128 ,
784+ 22 ,
785+ 1_000_000_000_000_000_000_000_u128 ,
786+ 1_i64 ,
787+ ) ,
788+ (
789+ 1_u128 ,
790+ 0 ,
791+ 1_u128 ,
792+ 23 ,
793+ 1_000_000_000_000_000_000_000_u128 ,
794+ 2_i64 ,
795+ ) ,
796+ (
797+ 123_u128 ,
798+ 0 ,
799+ 1_u128 ,
800+ 23 ,
801+ 1_000_000_000_000_000_000_001_u128 ,
802+ 2_i64 ,
803+ ) ,
804+ (
805+ 123_u128 ,
806+ 1 ,
807+ 1_u128 ,
808+ 23 ,
809+ 1_000_000_000_000_000_000_012_u128 ,
810+ 2_i64 ,
811+ ) ,
758812 ]
759813 . into_iter ( )
760814 . for_each ( |( m_a, e_a, m_b, e_b, expected_m, expected_e) | {
@@ -780,5 +834,4 @@ mod tests {
780834 fn test_safefloat_mul_div ( ) {
781835 todo ! ( )
782836 }
783-
784837}
0 commit comments