Skip to content

Commit fe13883

Browse files
rhettingermiss-islington
authored andcommitted
bpo-36324: Improved code formatting for the NormalDist.inv_cdf rational approximation (GH-12448)
https://bugs.python.org/issue36324
1 parent 52a594b commit fe13883

File tree

1 file changed

+48
-46
lines changed

1 file changed

+48
-46
lines changed

Lib/statistics.py

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -767,60 +767,62 @@ def inv_cdf(self, p):
767767
q = p - 0.5
768768
if fabs(q) <= 0.425:
769769
r = 0.180625 - q * q
770-
num = (q * (((((((2.50908_09287_30122_6727e+3 * r +
771-
3.34305_75583_58812_8105e+4) * r +
772-
6.72657_70927_00870_0853e+4) * r +
773-
4.59219_53931_54987_1457e+4) * r +
774-
1.37316_93765_50946_1125e+4) * r +
775-
1.97159_09503_06551_4427e+3) * r +
776-
1.33141_66789_17843_7745e+2) * r +
777-
3.38713_28727_96366_6080e+0))
778-
den = ((((((((5.22649_52788_52854_5610e+3 * r +
779-
2.87290_85735_72194_2674e+4) * r +
780-
3.93078_95800_09271_0610e+4) * r +
781-
2.12137_94301_58659_5867e+4) * r +
782-
5.39419_60214_24751_1077e+3) * r +
783-
6.87187_00749_20579_0830e+2) * r +
784-
4.23133_30701_60091_1252e+1) * r + 1.0))
770+
num = (((((((2.50908_09287_30122_6727e+3 * r +
771+
3.34305_75583_58812_8105e+4) * r +
772+
6.72657_70927_00870_0853e+4) * r +
773+
4.59219_53931_54987_1457e+4) * r +
774+
1.37316_93765_50946_1125e+4) * r +
775+
1.97159_09503_06551_4427e+3) * r +
776+
1.33141_66789_17843_7745e+2) * r +
777+
3.38713_28727_96366_6080e+0) * q
778+
den = (((((((5.22649_52788_52854_5610e+3 * r +
779+
2.87290_85735_72194_2674e+4) * r +
780+
3.93078_95800_09271_0610e+4) * r +
781+
2.12137_94301_58659_5867e+4) * r +
782+
5.39419_60214_24751_1077e+3) * r +
783+
6.87187_00749_20579_0830e+2) * r +
784+
4.23133_30701_60091_1252e+1) * r +
785+
1.0)
785786
x = num / den
786787
return self.mu + (x * self.sigma)
787788
r = p if q <= 0.0 else 1.0 - p
788789
r = sqrt(-log(r))
789790
if r <= 5.0:
790791
r = r - 1.6
791-
num = ((((((((7.74545_01427_83414_07640e-4 * r +
792-
2.27238_44989_26918_45833e-2) * r +
793-
2.41780_72517_74506_11770e-1) * r +
794-
1.27045_82524_52368_38258e+0) * r +
795-
3.64784_83247_63204_60504e+0) * r +
796-
5.76949_72214_60691_40550e+0) * r +
797-
4.63033_78461_56545_29590e+0) * r +
798-
1.42343_71107_49683_57734e+0))
799-
800-
den = ((((((((1.05075_00716_44416_84324e-9 * r +
801-
5.47593_80849_95344_94600e-4) * r +
802-
1.51986_66563_61645_71966e-2) * r +
803-
1.48103_97642_74800_74590e-1) * r +
804-
6.89767_33498_51000_04550e-1) * r +
805-
1.67638_48301_83803_84940e+0) * r +
806-
2.05319_16266_37758_82187e+0) * r + 1.0))
792+
num = (((((((7.74545_01427_83414_07640e-4 * r +
793+
2.27238_44989_26918_45833e-2) * r +
794+
2.41780_72517_74506_11770e-1) * r +
795+
1.27045_82524_52368_38258e+0) * r +
796+
3.64784_83247_63204_60504e+0) * r +
797+
5.76949_72214_60691_40550e+0) * r +
798+
4.63033_78461_56545_29590e+0) * r +
799+
1.42343_71107_49683_57734e+0)
800+
den = (((((((1.05075_00716_44416_84324e-9 * r +
801+
5.47593_80849_95344_94600e-4) * r +
802+
1.51986_66563_61645_71966e-2) * r +
803+
1.48103_97642_74800_74590e-1) * r +
804+
6.89767_33498_51000_04550e-1) * r +
805+
1.67638_48301_83803_84940e+0) * r +
806+
2.05319_16266_37758_82187e+0) * r +
807+
1.0)
807808
else:
808809
r = r - 5.0
809-
num = ((((((((2.01033_43992_92288_13265e-7 * r +
810-
2.71155_55687_43487_57815e-5) * r +
811-
1.24266_09473_88078_43860e-3) * r +
812-
2.65321_89526_57612_30930e-2) * r +
813-
2.96560_57182_85048_91230e-1) * r +
814-
1.78482_65399_17291_33580e+0) * r +
815-
5.46378_49111_64114_36990e+0) * r +
816-
6.65790_46435_01103_77720e+0))
817-
den = ((((((((2.04426_31033_89939_78564e-15 * r +
818-
1.42151_17583_16445_88870e-7) * r +
819-
1.84631_83175_10054_68180e-5) * r +
820-
7.86869_13114_56132_59100e-4) * r +
821-
1.48753_61290_85061_48525e-2) * r +
822-
1.36929_88092_27358_05310e-1) * r +
823-
5.99832_20655_58879_37690e-1) * r + 1.0))
810+
num = (((((((2.01033_43992_92288_13265e-7 * r +
811+
2.71155_55687_43487_57815e-5) * r +
812+
1.24266_09473_88078_43860e-3) * r +
813+
2.65321_89526_57612_30930e-2) * r +
814+
2.96560_57182_85048_91230e-1) * r +
815+
1.78482_65399_17291_33580e+0) * r +
816+
5.46378_49111_64114_36990e+0) * r +
817+
6.65790_46435_01103_77720e+0)
818+
den = (((((((2.04426_31033_89939_78564e-15 * r +
819+
1.42151_17583_16445_88870e-7) * r +
820+
1.84631_83175_10054_68180e-5) * r +
821+
7.86869_13114_56132_59100e-4) * r +
822+
1.48753_61290_85061_48525e-2) * r +
823+
1.36929_88092_27358_05310e-1) * r +
824+
5.99832_20655_58879_37690e-1) * r +
825+
1.0)
824826
x = num / den
825827
if q < 0.0:
826828
x = -x

0 commit comments

Comments
 (0)