@@ -803,57 +803,6 @@ def testHypot(self):
803
803
scale = FLOAT_MIN / 2.0 ** exp
804
804
self .assertEqual (math .hypot (4 * scale , 3 * scale ), 5 * scale )
805
805
806
- def testHypotAccuracy (self ):
807
- # Verify improved accuracy in cases that were known to be inaccurate.
808
-
809
- hypot = math .hypot
810
- Decimal = decimal .Decimal
811
- high_precision = decimal .Context (prec = 500 )
812
-
813
- for hx , hy in [
814
- # Cases with a 1 ulp error in Python 3.7 compiled with Clang
815
- ('0x1.10e89518dca48p+29' , '0x1.1970f7565b7efp+30' ),
816
- ('0x1.10106eb4b44a2p+29' , '0x1.ef0596cdc97f8p+29' ),
817
- ('0x1.459c058e20bb7p+30' , '0x1.993ca009b9178p+29' ),
818
- ('0x1.378371ae67c0cp+30' , '0x1.fbe6619854b4cp+29' ),
819
- ('0x1.f4cd0574fb97ap+29' , '0x1.50fe31669340ep+30' ),
820
- ('0x1.494b2cdd3d446p+29' , '0x1.212a5367b4c7cp+29' ),
821
- ('0x1.f84e649f1e46dp+29' , '0x1.1fa56bef8eec4p+30' ),
822
- ('0x1.2e817edd3d6fap+30' , '0x1.eb0814f1e9602p+29' ),
823
- ('0x1.0d3a6e3d04245p+29' , '0x1.32a62fea52352p+30' ),
824
- ('0x1.888e19611bfc5p+29' , '0x1.52b8e70b24353p+29' ),
825
-
826
- # Cases with 2 ulp error in Python 3.8
827
- ('0x1.538816d48a13fp+29' , '0x1.7967c5ca43e16p+29' ),
828
- ('0x1.57b47b7234530p+29' , '0x1.74e2c7040e772p+29' ),
829
- ('0x1.821b685e9b168p+30' , '0x1.677dc1c1e3dc6p+29' ),
830
- ('0x1.9e8247f67097bp+29' , '0x1.24bd2dc4f4baep+29' ),
831
- ('0x1.b73b59e0cb5f9p+29' , '0x1.da899ab784a97p+28' ),
832
- ('0x1.94a8d2842a7cfp+30' , '0x1.326a51d4d8d8ap+30' ),
833
- ('0x1.e930b9cd99035p+29' , '0x1.5a1030e18dff9p+30' ),
834
- ('0x1.1592bbb0e4690p+29' , '0x1.a9c337b33fb9ap+29' ),
835
- ('0x1.1243a50751fd4p+29' , '0x1.a5a10175622d9p+29' ),
836
- ('0x1.57a8596e74722p+30' , '0x1.42d1af9d04da9p+30' ),
837
-
838
- # Cases with 1 ulp error in version fff3c28052e6b0750d6218e00acacd2fded4991a
839
- ('0x1.ee7dbd9565899p+29' , '0x1.7ab4d6fc6e4b4p+29' ),
840
- ('0x1.5c6bfbec5c4dcp+30' , '0x1.02511184b4970p+30' ),
841
- ('0x1.59dcebba995cap+30' , '0x1.50ca7e7c38854p+29' ),
842
- ('0x1.768cdd94cf5aap+29' , '0x1.9cfdc5571d38ep+29' ),
843
- ('0x1.dcf137d60262ep+29' , '0x1.1101621990b3ep+30' ),
844
- ('0x1.3a2d006e288b0p+30' , '0x1.e9a240914326cp+29' ),
845
- ('0x1.62a32f7f53c61p+29' , '0x1.47eb6cd72684fp+29' ),
846
- ('0x1.d3bcb60748ef2p+29' , '0x1.3f13c4056312cp+30' ),
847
- ('0x1.282bdb82f17f3p+30' , '0x1.640ba4c4eed3ap+30' ),
848
- ('0x1.89d8c423ea0c6p+29' , '0x1.d35dcfe902bc3p+29' ),
849
- ]:
850
- with self .subTest (hx = hx , hy = hy ):
851
- x = float .fromhex (hx )
852
- y = float .fromhex (hy )
853
- with decimal .localcontext (high_precision ):
854
- z = float ((Decimal (x )** 2 + Decimal (y )** 2 ).sqrt ())
855
- self .assertEqual (hypot (x , y ), z )
856
-
857
806
def testDist (self ):
858
807
from decimal import Decimal as D
859
808
from fractions import Fraction as F
0 commit comments