python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_statistics.cpython-312.opt-2.pyc

Αe6dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZddlmZmZddlmZddlmZddlZdZdZd	Zdxd
ZGddZej6d
dgZej6d
dgZGddej<ZGddej<Z Gddej<Z!Gddej<Z"Gddej<Z#Gddej<Z$Gddej<Z%Gdd ej<Z&Gd!d"ej<Z'Gd#d$ej<Z(Gd%d&ej<Z)Gd'd(ej<Z*Gd)d*ej<Z+Gd+d,ej<Z,Gd-d.ej<Z-Gd/d0ej<Z.Gd1d2ej<Z/Gd3d4ej<Z0Gd5d6ej<Z1Gd7d8Z2Gd9d:Z3Gd;d<e2e3Z4Gd=d>e Z5Gd?d@e Z6GdAdBe Z7GdCdDe2Z8GdEdFe e8e3Z9GdGdHe e8e3Z:GdIdJe e8Z;GdKdLe e3Z<GdMdNe;e3Z=GdOdPe;e3Z>GdQdRe;Z?GdSdTe e8e3Z@GdUdVej<ZAGdWdXej<ZBGdYdZe2ZCGd[d\eCe e3ZDGd]d^eCe e3ZEGd_d`eCe ZFGdadbej<ZGGdcddeCe ZHGdedfej<ZIGdgdhej<ZJGdidjej<ZKGdkdlej<ZLGdmdnej<ZMGdodpZNGdqdrej<eNZOejedsGdtduej<eNZQdvZReSdwk(rejyy)yz_Test suite for statistics module, including helper NumericTestCase and
approx_equal function.

N)support)
import_helperrequires_IEEE_754)DecimalFractionc0	tjd|S)N)mathcopysignxs H/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_statistics.pysignrsD==Ac	t|t|uryt|tr,tj|xrtj|S|jd}|jd}||k(xr|dvS)NF)nN)type
isinstancefloatrisnanas_tuple)abaexpbexps    r
_nan_equalr#ss*Awd1g!Uzz!}.A.::<?D::<?DDL2tz12rc	tt|t|}t||z
}|r||zn
td}||fSNinf)maxabsr)actualexpectedbaseabs_errrel_errs     r_calc_errorsr*BsHs6{CM*D&8#$G"gdleGWrc
b	|dks|dkrtdtj|stj|ry||k(rytj|stj|ryt	||z
}t||tt	|t	|z}||kS)Nrz%error tolerances must be non-negativeFT)
ValueErrorrrisinfr$r#)rytolrelactual_error
allowed_errors      rapprox_equalr3Rs BQw#'@AAzz!}

1
Avzz!}

1
q1u:LSSVSV!445M=((rceZdZ	y)
_DoNothingN__name__
__module____qualname__rrr5r5s
"F	rr5
statistics_statistics)blocked)freshcJeZdZdgZdZejeddZy)TestModules_normal_dist_inv_cdfcz|jD],}|jtt|jd.yNr;)
func_namesassertEqualgetattr
py_statisticsr8selffnames  rtest_py_functionszTestModules.test_py_functionss4__	UEW]E:EE|T	Urrequires _statisticscz|jD],}|jtt|jd.y)Nr<)rDrErFc_statisticsr8rHs  rtest_c_functionszTestModules.test_c_functionss4__	UEW\59DDmT	UrN)	r7r8r9rDrKunittest
skipUnlessrNrOr:rrr@r@s6()JUX'=>U?Urr@c>eZdZ	dxZZ	ddZdZddZedZ	y)	NumericTestCaserNc	||j}||j}t|tjj
r1t|tjj
r
|j}n|j}||||||yN)r/r0rcollectionsabcSequence_check_approx_seq_check_approx_num)rIfirstsecondr/r0msgchecks       rassertApproxEqualz!NumericTestCase.assertApproxEqualss	8;((C;((C5+//":":;6;??#;#;<**E**E
eVS#s+rc	t|t|k7r<dt|t|fz}|j||}|j|tt	||D]\}\}}	|j||	|||| y)Nz0sequences differ in length: %d items != %d items)len_formatMessagefailureException	enumerateziprZ)
rIr[r\r/r0r]standardMsgires
          rrYz!NumericTestCase._check_approx_seqsu:V$Bu:s6{+,
%%c;7C'',,!#eV"45	;HAu!""1ac3:	;rct||||ry|j|||||}|j||}|j|rU)r3_make_std_err_msgrbrc)rIr[r\r/r0r]idxrfs        rrZz!NumericTestCase._check_approx_num
sNvsC0,,UFCcJ!!#{3##C((rcRd}|
d|z}||z}t||\}}|||||||fzS)Nzk  %r != %r
  values differ by more than tol=%r and rel=%r
  -> absolute error = %r
  -> relative error = %rz,numeric sequences first differ at index %d.
)r*)	r[r\r/r0rktemplateheaderr(r)s	         rrjz!NumericTestCase._make_std_err_msgsP

'	?DsJF(H'v65&#sGWEEEr)NNNrU)
r7r8r9r/r0r_rYrZstaticmethodrjr:rrrSrSs=MC#:>*,X	;)FFrrSceZdZ	dZy)TestSigncp|jtdd|jtddy)Nr
g)rErrIs r
testZeroeszTestSign.testZeroes+s*cB'dR(rN)r7r8r9rvr:rrrqrq)s
?)rrqc$eZdZdZdZdZdZy)ApproxEqualSymmetryTestcdddtdtddg}ddd	td
tddg}t||D]\}}|j||y)Ni	gfffffB@gfffff(z2.546i	gB@gR(z2.59)rrredo_relative_symmetry)rIargs1args2rrs     rtest_relative_symmetryz.ApproxEqualSymmetryTest.test_relative_symmetry6sdtVWV_hr26FGtVWV_hr26FGu%	,DAq%%a+	,rct||t||}}||z
}t||zt||z}}||zdz}|jt	||d||jt	||d|y)Nrrr/r0)minr#r$
assertTruer3)rIrrdeltarel_err1rel_err2r0s       rr}z,ApproxEqualSymmetryTest.do_relative_symmetryFsx1ay#a)1A q\3uQw<(("A%	
Qqc:;Qqc:;rc	(gd}d}|D]}ttttfD]}||dz}||z}t	|t||z}|j
|||||j
|||dzd|z|j
|||dz
|dz|j
||||dz|j
|||dz
||j
|||dz
d|z|j
||dd|j
||dd	y)N)ikimrdrr
r)intrrrr$r#do_symmetry_test)rIargsrrtype_rr.rs        r
test_symmetryz%ApproxEqualSymmetryTest.test_symmetryRs7'	:Augx8
:!HSLIc!Qi(%%a1%=%%aaQqS%A%%aaQqS%A%%a1Q3%?%%aaQ%?%%aaQqS%A%%aq%9%%aq%9#
:	:rc
d}t||||}t||||}|j|||j||||fy)Nz+approx_equal comparisons don't match for %r)r3rEformat)rIrrr/r0rmflag1flag2s        rrz(ApproxEqualSymmetryTest.do_symmetry_testjsK@Q3,Q3,x1c37G'HIrN)r7r8r9rr}rrr:rrrxrx3s, 
<:0JrrxcBeZdZdZdZdZdZdZdZdZ	dZ
d	Zy
)ApproxEqualExactTestct||||}|j|d|zt||||}|j|d|zy)Nrzequality failure for x=%r)r3r)rIrr/r0results     rdo_exactly_equal_testz*ApproxEqualExactTest.do_exactly_equal_testwsPa5 ;a ?@qb1"#37 ;qb @Arc8dD]}|j|ddy)N)*iMi~:iiU
irrrIrs  rtest_exactly_equal_intsz,ApproxEqualExactTest.test_exactly_equal_ints}s#=	0A&&q!Q/	0rc8dD]}|j|ddy)N)gzG?g/$?ge@g7@gpf@g!rhQ@gB`"KB@rrrIrs  rtest_exactly_equal_floatsz.ApproxEqualExactTest.test_exactly_equal_floatss#E	0A&&q!Q/	0rc	t}|dd|d|dd|dd|dd	|ddfD]}|j|ddy)
Nr
rrr	#$)rrrIFfs   rtest_exactly_equal_fractionsz1ApproxEqualExactTest.test_exactly_equal_fractionssWAq'1Q41a!Aq'1R9a1gF	0A&&q!Q/	0rctt}t|djD]}|j|ddy)Nz8.2 31.274 912.04 16.745 1.2047r)rmapsplitr)rIDds   rtest_exactly_equal_decimalsz0ApproxEqualExactTest.test_exactly_equal_decimalss9Q9??AB	0A&&q!Q/	0rcdD]J}|j|dd|j|dzddt|d}|j|ddLy)N)ii\ii{Gz?r
i)rr)rIrrs   rtest_exactly_equal_absolutez0ApproxEqualExactTest.test_exactly_equal_absolutesW/	3A&&q$2&&qtT15D!A&&q$2	3rc|jtdtdd|jtdtddy)Nz3.5710.01rz81.3971)rrrus r$test_exactly_equal_absolute_decimalsz9ApproxEqualExactTest.test_exactly_equal_absolute_decimalss;""77#3WV_aH""GI$6#6KrcdddtddfD]}|j|dd|jtddtd	y)
Ni g33333SY@gzGrrrz11.68rrrrrs  rtest_exactly_equal_relativez0ApproxEqualExactTest.test_exactly_equal_relativesMx!R9	3A&&q!T2	3""77#3QHrcdddtddfD]}|j|ddt}|j|d|d	|d
y)Ni9gˡE0@g\(hr皙?rz7.2z0.1rr)rIrrs   rtest_exactly_equal_bothz,ApproxEqualExactTest.test_exactly_equal_bothsU(1a.9	5A&&q#t4	5""1U8QuXqyArN)r7r8r9rrrrrrrrrr:rrrrqs3B0
0
00	3L
IBrrc*eZdZdZdZdZdZdZy)ApproxEqualUnequalTestcf||fD])}t||dzdd}|j|d|z+y)Nr
rrzinequality failure for x=%r)r3assertFalse)rIrrrs    rdo_exactly_unequal_testz.ApproxEqualUnequalTest.do_exactly_unequal_testsCaR	HA!!QqSaQ7FV%BQ%FG	Hrc4dD]}|j|y)N)iiiiiXCrrs  rtest_exactly_unequal_intsz0ApproxEqualUnequalTest.test_exactly_unequal_intss/	,A((+	,rc4dD]}|j|y)N)gQ#@g[@gfffffG@gףp=
W"@g=
ףp=1@rrs  rtest_exactly_unequal_floatsz2ApproxEqualUnequalTest.test_exactly_unequal_floatss3	,A((+	,rct}|dd|dd|dd|ddfD]}|j|y)	Nr
rrreiς)rrrs   rtest_exactly_unequal_fractionsz5ApproxEqualUnequalTest.test_exactly_unequal_fractionssEAq'1Q7Ab"Iqe}=	,A((+	,rclttdjD]}|j|y)Nz!3.1415 298.12 3.47 18.996 0.00245)rrrrrIrs  rtest_exactly_unequal_decimalsz4ApproxEqualUnequalTest.test_exactly_unequal_decimalss0WAGGIJ	,A((+	,rN)r7r8r9rrrrrr:rrrrsH
,
,
,,rrcleZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZy)ApproxEqualInexactTestc	d}||z||z
fD]X}|j||}|jt||d|zd||jt|||dzd|Zy)NTest failure for x={!r}, y={!r}rrrrrr3rrIrrrmr.r]s      rdo_approx_equal_abs_testz/ApproxEqualInexactTest.do_approx_equal_abs_testsq4e)QY'	JA//!Q'COOLA1U7BCH\!QE!GCSI	JrcZdD]&}|j|d|j|d(y)N)iiIirrr
r%ii&i6jrrrrs  rtest_approx_equal_absolute_intsz6ApproxEqualInexactTest.test_approx_equal_absolute_intss1J	0A))!R0))!Q/	0rc~dD]8}|j|d|j|d|j|d:y)N)	gtqgfffffFXg333333g333333??g333333@gQ@gҭ@?r-C6?rrs  r!test_approx_equal_absolute_floatsz8ApproxEqualInexactTest.test_approx_equal_absolute_floatssAL	5A))!S1))!T2))!V4	5rctdd}gd}d|DD]/}|j|||j|t|1y)Nr
)irrtrr
rrz"Gc34K|]}t|dyw)rNr).0rs  r	<genexpr>zNApproxEqualInexactTest.test_approx_equal_absolute_fractions.<locals>.<genexpr>s6a(1b/6s)rrr)rIr
numeratorsrs    r$test_approx_equal_absolute_fractionsz;ApproxEqualInexactTest.test_approx_equal_absolute_fractionssJB@
6:6	;A))!U3))!U5\:	;rctd}ttdjD]'}|j|||j||)y)Nrz1.0 3.5 36.08 61.79 7912.3648)rrrr)rIrrs   r#test_approx_equal_absolute_decimalsz:ApproxEqualInexactTest.test_approx_equal_absolute_decimalssMW=CCEF	5A))!U3))1"e4	5rc@|jtddddy)Ngh㈵>gh㈵rrr)rr3rus rtest_cross_zeroz&ApproxEqualInexactTest.test_cross_zerosT5dBCrc
d}|d|zz|d|z
zfD]X}|j||}|jt||dd|z||jt||d|dz|Zy)Nrr
rrrrrs      rdo_approx_equal_rel_testz/ApproxEqualInexactTest.do_approx_equal_rel_testsy4QuW+q!E'{+	JA//!Q'COOLA1!E'BCH\!QA57CSI	Jrc0|jtdddd|jtdddd|jtdddd	|jtd
ddd	|jtdddd	y)N@/rg
ףp=
?rgGz?ii?ii)rr3rrus rtest_approx_equal_relative_intsz6ApproxEqualInexactTest.test_approx_equal_relative_intsswR=>R=>S#1%@AS#1%@Ac3A5ABrcZdD]&}|j|d|j|d(y)N)g{GJf皙rrg\(|B@gʡE>@gx@{Gz?r)rrs  r!test_approx_equal_relative_floatsz8ApproxEqualInexactTest.test_approx_equal_relative_floatss1E	5A))!T2))!V4	5rct}tdd}|dd|dd|dd|dd	fD]9}|t|fD]'}|j|||j||);y)
NrrTrz12\U)rrr)rIrrrrs     r$test_approx_equal_relative_fractionsz;ApproxEqualInexactTest.test_approx_equal_relative_fractionss|AAr(Ab"IqRy!B)<	5AU5\*
5--a3--qb!4
5	5rcttdjD]9}|j|td|j|td;y)Nz$0.02 1.0 5.7 13.67 94.138 91027.93210.0010.05)rrrrrs  r#test_approx_equal_relative_decimalsz:ApproxEqualInexactTest.test_approx_equal_relative_decimalssMWDJJLM	?A))!WW-=>))1"gfo>	?rc"|r|jn|j}|t|||d|r|jn|j}|t||d||s|r|jn|j}|t||||y)Nrr)rrr3)rIrrr/r0tol_flagrel_flagr^s        r
do_check_bothz$ApproxEqualInexactTest.do_check_both,sv#+1A1A
l1aSa01#+1A1A
l1aQC01$,t?O?O
l1aSc23rc\|jdddddd|jdddd	ddy)
NR@+@Mbp?W8?Tg?5^Ig%CMb`?g-C6*?rrus rtest_approx_equal_both1z.ApproxEqualInexactTest.test_approx_equal_both14s25%dC665&$Erc0|jddddddy)NrrrgVF?8?TFrrus rtest_approx_equal_both2z.ApproxEqualInexactTest.test_approx_equal_both29s5%eDrc0|jddddddy)NrrMbP?rFTrrus rtest_approx_equal_both3z.ApproxEqualInexactTest.test_approx_equal_both3=s5%tDrc\|jdddddd|jdddd	ddy)
Ng=
ףp=@@rrFgQ[@g(\[@rgiUMu>rrus rtest_approx_equal_both4z.ApproxEqualInexactTest.test_approx_equal_both4As24tUE5A664ueDrN)r7r8r9rrrrrrrrrr
rrrrrr"r:rrrrsZJ05;5DJC55?4F
EEErrc$eZdZdZdZdZdZy)ApproxEqualSpecialsTestc	ttfD]}|d}|jt|||jt||dd|jt||dd|jt|||j	t|||j	t|dy)Nr"rr
r)rrrr3r)rIrr"s   rtest_infz ApproxEqualSpecialsTest.test_infJsW%	6E,COOLc23OOLc1a89OOLc1d;<OOL#t45\#t45\#t45	6rcttfD]5}|d}||ddfD]}|jt||7y)Nnanr"r&)rrrr3)rIrr)others    rtest_nanz ApproxEqualSpecialsTest.test_nanTsNW%	;E,CuU|T2
;  c5!9:
;	;rcltjdd}|jt|dddy)Nrsrtrr)rrrr3rInzeros  rtest_float_zeroesz)ApproxEqualSpecialsTest.test_float_zeroesZs)

c2&UCScBCrchtd}|jt|tdddy)Nz-0.0rrr)rrr3r-s  rtest_decimal_zeroesz+ApproxEqualSpecialsTest.test_decimal_zeroes^s&UGAJCSIJrN)r7r8r9r'r+r/r1r:rrr$r$Gs6;DKrr$ceZdZdZdZy)TestApproxEqualErrorsc@|jttddddy)NrrtrassertRaisesr,r3rus rtest_bad_tolz"TestApproxEqualErrors.test_bad_tolfs*lCb#Frc@|jttddddy)Nrr
rr5rus rtest_bad_relz"TestApproxEqualErrors.test_bad_reljs*lCaFrN)r7r8r9r7r9r:rrr3r3csGGrr3c*eZdZdZdZdZdZdZy)TestNumericTestCasecxtj|}|j|}|D]}|j||yrU)rSrjgenerate_substringsassertIn)rIr
actual_msgr&	substrings     rdo_testzTestNumericTestCase.do_testzsA$66=
+4++T2!	1IMM)Z0	1rc^|jtttjyrU)r
issubclassrSrPTestCaserus r test_numerictestcase_is_testcasez4TestNumericTestCase.test_numerictestcase_is_testcases
?H4E4EFGrc*d}|j|y)N)@@r?NrArIrs  rtest_error_msg_numericz*TestNumericTestCase.test_error_msg_numerics*Trc*d}|j|y)N)@g @g?rrrJrKs  rtest_error_msg_sequencez+TestNumericTestCase.test_error_msg_sequences)Trcv	t||\}}d|zd|zd|zd|zg}||jd|z|S)Nztol=%rzrel=%rzabsolute error = %rzrelative error = %rzdiffer at index %d)r*append)	rIr[r\r/r0rkr(r)
substringss	         rr=z'TestNumericTestCase.generate_substringss\C'v633%/%/	
?2S89rN)r7r8r9rArErLrOr=r:rrr;r;ts1H

rr;c$eZdZeZddgZdZdZy)GlobalsTest__doc____all__cx|jD]+}|jt|j|d|z-y)Nz%s not present)expected_metadatarhasattrmodule)rImetas  r	test_metazGlobalsTest.test_metas8**	5DOOGDKK6,t3
5	5rc|j}|jD]E}|j|jdd|z|j	t||d|zGy)N_zprivate name "%s" in __all__zmissing name "%s" in __all__)rZrVr
startswithrrY)rIrZnames   rtest_check_allzGlobalsTest.test_check_allsbNN	CDT__S1;dB
D
OOGFD1:TA
C	CrN)r7r8r9r;rZrXr\rar:rrrTrTs
F"I.5	CrrTcleZdZejejjdk\ddZy)DocTestsrz)Docstrings are omitted with -OO and abovectjttj\}}|j	|d|j|dy)N)optionflagsr)doctesttestmodr;ELLIPSIS
assertGreaterrE)rIfailedtrieds   rtest_doc_testszDocTests.test_doc_testss> 
@P@PQ
5!$#rN)	r7r8r9rPskipIfsysflagsoptimizerlr:rrrcrcs5X__SYY''1,@B$B$rrcceZdZdZy)StatisticsErrorTestcd}|jttd|jttjt
|tjjzy)NzNExpected StatisticsError to be a ValueError, but got a subclass of %r instead.StatisticsError)rrYr;rCrtr,__base__)rIerrmsgs  rtest_has_exceptionz&StatisticsErrorTest.test_has_exceptionsR+		

,=>?:55zB33<<<	rN)r7r8r9rwr:rrrrrrs	rrrc6eZdZdZdZdZdZdZdZdZ	y)	ExactRatioTestc`dD])}|jtj||df+y)N)irrcl Fx:^Vr
)rEr;_exact_ratio)rIrgs  rtest_intzExactRatioTest.test_ints2,	AAZ44Q7!Q@	Arc|d}|D]5}t|d}|jtj||df7y)N)r
r&r)rrEr;r})rIrrrs    r
test_fractionzExactRatioTest.test_fractionsB$
	BABAZ44Q7!RA	Brcb|jtjdd|jtjddtdDcgc]}t	j
dd}}|D]/}tj|\}}|j|||z1ycc}w)Nrr
r?)rrr)rEr;r}rangerandomuniform)rIr^datarnumdens      r
test_floatzExactRatioTest.test_floats007@007@38:>atS)>>	)A!..q1HCQC(	)?sB,ct}tj}|j||dd|j||dd|j||ddy)Nz0.125rz12.345)i	z-1.98)ir)rr;r}rE)rIrr}s   rtest_decimalzExactRatioTest.test_decimals]!..aj16:ak2K@aj19=rc|td}Gddt}Gddt}||fD]}t|t|fD]x}||}tj|}|j	||df|j	t|d||j
tj|dzy)NINFceZdZy)(ExactRatioTest.test_inf.<locals>.MyFloatNr6r:rrMyFloatrrrceZdZy)*ExactRatioTest.test_inf.<locals>.MyDecimalNr6r:rr	MyDecimalrrrrr)	rrr;r}rErrrr-)rIrrrr"rrratios        rr'zExactRatioTest.test_infsEl	e			#;	6C'9=
6#J"//2  D	2  eAh7

58 45
6	6rcFtd}Gddt}|||fD]z}tj|}|jt	j
|d|j
|dd|jt|dt||y)NNANceZdZy).ExactRatioTest.test_float_nan.<locals>.MyFloatNr6r:rrrrrrrrr
)	rr;r}rrrassertIsrEr)rIrrr)rs     rtest_float_nanzExactRatioTest.test_float_nansEl	e	&	8C++C0EOODJJuQx01MM%(D)T%(^T#Y7		8rcZtd}td}Gddt}||||||fD]q}tj|}|jt	|d||j|dd|j
t|dt|sy)NrsNANceZdZy)2ExactRatioTest.test_decimal_nan.<locals>.MyDecimalNr6r:rrrrrrrrr
)rr;r}rrrrEr)rIrrrr)rs      rtest_decimal_nanzExactRatioTest.test_decimal_nansenv		3y?	8C++C0EOOJuQx56MM%(D)T%(^T#Y7		8rN)
r7r8r9r~rrrr'rrr:rrryrys'AB)>68	8rryc0eZdZdZdZdZdZdZdZy)DecimalToRatioTestctd}|jtj||df|jtj||dfy)Nr)rrEr;r})rIr"s  r
test_infinityz DecimalToRatioTest.test_infinitysMen005T{C00#6#tErctdtdfD]G}tj|\}}|jt	|||j|dIy)Nrr)rr;r}rrr)rIr)rrs    rr+zDecimalToRatioTest.test_nansUENGFO4	%C!..s3HC
OOJsC01MM#t$
	%rc0tdtdg}|D]{}tj|\}}|j|d|j	|dtj|\}}|j|d|j	|d}y)Nz	9.8765e12z
9.8765e-12r)rr;r}assertGreaterEqualriassertLessEqual)rInumbersrrrs     r	test_signzDecimalToRatioTest.test_sign!s;')>?		'A"..q1HC##C+sA&!..r2HC  a(sA&		'rcdtjtd}|j|dy)Nz0.1234)iir;r}rrErIts  rtest_negative_exponentz)DecimalToRatioTest.test_negative_exponent/s'##GH$56K(rcdtjtd}|j|dy)Nz1.234e7)i Kr
rrs  rtest_positive_exponentz)DecimalToRatioTest.test_positive_exponent4s'##GI$67M*rctjtd}|j|dtjtd}|j|dy)N1e2)rr
z1.47e5)i8>r
rrs  rtest_regression_20536z(DecimalToRatioTest.test_regression_205369sM
##GEN3H%##GH$56K(rN)	r7r8r9rr+rrrrr:rrrrs!F%')
+
)rrceZdZdZdZdZy)IsFiniteTestcdtdddtdfD]&}|jtj|(y)Nrr
rrG5.5)rrrr;	_isfiniters  rtest_finitezIsFiniteTest.test_finiteEs;Xa^S'%.9	5AOOJ0034	5rctdtdfD]&}|jtj|(yr!rrrr;rrs  rrzIsFiniteTest.test_infinityJs7,/	6AZ11!45	6rctdtdtdfD]&}|jtj|(yNr)rrrrs  rr+zIsFiniteTest.test_nanOs=,@	6AZ11!45	6rN)r7r8r9rrr+r:rrrrBs5
6
6rrcNeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)
CoerceTestcttttfD]a}|j	tj|t|Gdd|}|j	tj|t|cy)NceZdZy)%CoerceTest.test_bool.<locals>.MyClassNr6r:rrMyClassrprr)rrrrrr;_coercebool)rITrs   r	test_boolzCoerceTest.test_booljs\uh0	FAMM*,,Q5q9"!"MM*,,Wd;WE	Frc	|jtj||||jtj|||yrU)rr;rrIABs   rassertCoerceTozCoerceTest.assertCoerceToss;.

j((A.2

j((A.2rc	|j||Gdd|}|j||Gdd|}|j|||j||y)NceZdZy)/CoerceTest.check_coerce_to.<locals>.SubclassOfANr6r:rrSubclassOfAr}rrrceZdZy)/CoerceTest.check_coerce_to.<locals>.SubclassOfBNr6r:rrSubclassOfBrrrr)r)rIrrrrs     rcheck_coerce_tozCoerceTest.check_coerce_toxsUDAq!"!"K+"!"A{+K5rc	|jttj||f|jttj||fyrU)r6	TypeErrorr;rrs   rassertCoerceRaiseszCoerceTest.assertCoerceRaisess=K)Z%7%7!Q@)Z%7%7!Q@rc8	|jtj|||Gdd|}Gdd|}Gdd|}|||fD]}|j|||j|||j	|||j	||y)NceZdZy)*CoerceTest.check_type_coercions.<locals>.UNr6r:rrUrrrrceZdZy)*CoerceTest.check_type_coercions.<locals>.VNr6r:rrVrrrrceZdZy)*CoerceTest.check_type_coercions.<locals>.WNr6r:rrWrrrr)rr;rrr)rIrrrrtyps      rcheck_type_coercionszCoerceTest.check_type_coercionssL	


j((A.2q!9	(C3'	(Aq!1%1%rc|jttttfD]}|jt|yrU)rrrrrr)rIrs  rr~zCoerceTest.test_ints6!!#&8W-	+C  c*	+rcb|jt|jttyrU)rrrrrus rrzCoerceTest.test_fractions !!(+Xu-rc.|jtyrU)rrrus rrzCoerceTest.test_decimals!!'*rc.|jtyrU)rrrus rrzCoerceTest.test_floats!!%(rctttdttfD]/}t
tttfD]}|j||1yrU)
strlistrtupledictrrrrr)rIbad_type	good_types   rtest_non_numeric_typesz!CoerceTest.test_non_numeric_typessHdDJt<	=H!5(G<
=	''	8<
=	=rcttfD]9}Gdd|}|j|t|j|t;y)NceZdZy)6CoerceTest.test_incompatible_types.<locals>.MySubclassNr6r:rr
MySubclassrrrr)rrrr)rIrrs   rtest_incompatible_typesz"CoerceTest.test_incompatible_typess>"	9A%Q%##Aw/##J8	9rN)r7r8r9rrrrrr~rrrrrr:rrrrUs;*F3

6A
& +.
+)=
9rrc<eZdZdZdZdZdZdZdZdZ	dZ
y	)
ConvertTestcr	|j|||jt|t|yrU)rErrrIrr.s   rcheck_exact_equalzConvertTest.check_exact_equals+CA

d1gtAw'rctjtdt}|j	|dGddt}tjtd|}|j	||dy)NrceZdZy)#ConvertTest.test_int.<locals>.MyIntNr6r:rrMyIntrrrrrz)r;_convertrrr)rIrrs   rr~zConvertTest.test_intsZc2q"%Ce4q%),rctjtddt}|j|tddGddt}tjtdd|}|j||ddy)N_r|ceZdZfdZxZS)-ConvertTest.test_fraction.<locals>.MyFractionc@|jt|	|SrU	__class__super__truediv__rIr*r
s  rrz9ConvertTest.test_fraction.<locals>.MyFraction.__truediv__~~eg&9%&@AArr7r8r9r
__classcell__r
s@r
MyFractionr

B
Brrr
)r;rrr)rIrrs   rrzConvertTest.test_fractionsrR 0(;q(2r"23	B	B
R 0*=q*R"45rctjtddt}|j	|dGddt}tjtdd|}|j	||dy)	NrtrgceZdZfdZxZS)'ConvertTest.test_float.<locals>.MyFloatc@|jt|	|SrUrrs  rrz3ConvertTest.test_float.<locals>.MyFloat.__truediv__rrrrs@rrrrrrrrr)r;rrrr)rIrrs   rrzConvertTest.test_floatsfQ7q$'	Be	B
A8q'%.1rctjtddt}|j	|tdGddt}tjtdd|}|j	||dy)	Nr
(z0.025ceZdZfdZxZS)+ConvertTest.test_decimal.<locals>.MyDecimalc@|jt|	|SrUrrs  rrz7ConvertTest.test_decimal.<locals>.MyDecimal.__truediv__rrrrs@rrrrrrrrz-0.9375)r;rrrr)rIrrs   rrzConvertTest.test_decimalsmB9q''"23	B	B
b 19=q)I"67rctdtdfD]=}||fD]3}tj|t	|}|j||5?yr!)rrr;rrr)rIrr"rs    rr'zConvertTest.test_infsY%L'%.1	/CcT{
/''T#Y7&&q#.
/	/rctdtdtdfD]<}tj|t	|}|jt
||>yr)rrr;rrrr)rIr)rs   rr+zConvertTest.test_nansM%L'%.'&/B	0C##Cc3AOOJq#./	0rc|jt5tjdtdddy#1swYyxYwrU)r6rr;rrrus rtest_invalid_input_typez#ConvertTest.test_invalid_input_types5


y
)	-e,	-	-	-s	:AN)r7r8r9rr~rrrr'r+r$r:rrrrs*(
-628/0
-rrc eZdZ	dZdZdZy)FailNegTestcddtdtdg}ttj|}|j||yNr
@rr)rrrr;	_fail_negrE)rIvaluesnews   rtest_pass_throughzFailNegTest.test_pass_throughs=S(1+wqz2:''/0%rcddtdtdfD]@}|g}tj|}|j	tj
t|Byr()rrr;r*r6rtnext)rIrseqits    rtest_negatives_raisez FailNegTest.test_negatives_raisesUS(1+wqz2	DA2$C%%c*Bj88$C	Drcdtjddz}	ttjdg||jd|j|y#tj$r}|jd}Yd}~:d}~wwxYw)Nzbadness #%d'irtz(expected exception, but it didn't happenr)	rrandintr/r;r*failrtrrE)rIr]rhrvs    rtest_error_msgzFailNegTest.test_error_msgsxfnnUE::	B%%rdC01
II@A%	))	VVAYF	s AB2BBN)r7r8r9r-r2r7r:rrr&r&s*&D	&rr&cHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)UnivariateCommonMixincD|jt|jyrUr6rfuncrus rtest_no_argsz"UnivariateCommonMixin.test_no_argss)TYY/rcgdtgfD]-}|jtj|j|/y)Nr:)iterr6r;rtr<)rIemptys  rtest_empty_dataz%UnivariateCommonMixin.test_empty_datas:"d2h'	LEj88$))UK	Lrc	ttd}|t|k(r$tj||t|k(r$|SNrrrsortedrshufflerIrs  rprepare_dataz"UnivariateCommonMixin.prepare_data!s=0E"IfTl"NN4 fTl"rcv|j}|dd}|j|}|j||dy)Nzdata has been modified)rHr<assertListEqual)rIrsavedr^s    rtest_no_inplace_modificationsz3UnivariateCommonMixin.test_no_inplace_modifications(s;  "QIIdOT5*BCrcgddz}|j|}tj||j|}|j||y)N)r
rrrrrrr)r<rrFrE)rIrr&r%s    rtest_order_doesnt_matterz.UnivariateCommonMixin.test_order_doesnt_matter2sD(+99T?t46*rcGddt}Gddt}d}|j}|j|}ttt|||fD]+}|j||}|j||-y)NceZdZy)BUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyListNr6r:rrMyListrRArrrSceZdZy)CUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyTupleNr6r:rrMyTuplerUCrrrVcd|DS)Nc3 K|]}|ywrUr:)robjs  rrzXUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator.<locals>.<genexpr>Fs(CC(sr:rs r	generatorzEUnivariateCommonMixin.test_type_of_data_collection.<locals>.generatorEs
(4((r)rrrHr<r?rE)rIrSrVr[rr&kindrs        rtest_type_of_data_collectionz2UnivariateCommonMixin.test_type_of_data_collection?sx	T		e		)  "99T?5$C	/DYYtDz*FVX.	/rctddd}|jt|}|j|j||yNrr)rr<rrErIrr&s   rtest_range_dataz%UnivariateCommonMixin.test_range_dataMs:RQ99T$Z(4(3rc|jd|jd|jd|jty)NrgE@)check_for_type_errorobjectrus rtest_bad_arg_typesz(UnivariateCommonMixin.test_bad_arg_typesSs>	
!!$'!!"%!!$'!!&(+rcH|jt|jg|yrUr;rKs  rrdz*UnivariateCommonMixin.check_for_type_errorbs)TYY66rc*Gddt}|j}|j|}t|ttfD]I}|Dcgc]
}||}}t||j|}|j
||Kycc}w)Nc,eZdZfdZfdZeZxZS)@UnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloatc@t|t|	|SrUrrrrs  rrzLUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__truediv__j!tDz%'"5e"<==rc@t|t|	|SrUrr__add__rs  rrpzHUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__add__l!tDz%'/%"899r)r7r8r9rrp__radd__rrs@rrrjis
>
:Hrr)rrHr<rrrrE)rIrrawr&r\rrrs        rtest_type_of_data_elementz/UnivariateCommonMixin.test_type_of_data_elementes	e	!99S>GWh7	/D%()DG)D)#T(^DIIdO4FVX.	/)s
BN)
r7r8r9r=rArHrLrOr]rbrfrdrtr:rrr9r9s60L
D+/4
,7/rr9ceZdZ	dZdZy)UnivariateTypeMixincF	Gddt}ttt|fS)NcbeZdZfdZfdZfdZfdZfdZfdZeZ	fdZ
e
ZxZS)HUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloatc@t|t|	|SrUrlrs  rrzTUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__truediv__rmrc@t|t|	|SrU)rr__rtruediv__rs  rr|zUUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rtruediv__s!tDz%'"6u"=>>rc@t|t|	|SrU)rr__sub__rs  rr~zPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__sub__rqrc@t|t|	|SrU)rr__rsub__rs  rrzQUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rsub__s!tDz%'"25"9::rc@t|t|	|SrU)rr__pow__rs  rrzPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__pow__rqrc@t|t|	|SrUrors  rrpzPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__add__rqrc@t|t|	|SrU)rr__mul__rs  rrzPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__mul__rqr)
r7r8r9rr|r~rrrprrr__rmul__rrs@rrrys0
>
?
:
;
:
:H
:Hrr)rrr)rIrs  r#prepare_types_for_conservation_testz7UnivariateTypeMixin.prepare_types_for_conservation_tests"B	e	"w'22rc|j}|jD]C}|Dcgc]
}||}}|j|}|jt	||Eycc}wrU)rHrr<rr)rIrr\rrrs      rtest_types_conservedz(UnivariateTypeMixin.test_types_conservedsc  "<<>	.D"&'Qa'A'YYq\FMM$v,-	.'sA(N)r7r8r9rrr:rrrvrvxs3*.rrvceZdZdZy)
TestSumCommoncd}||_y)NcZtj|\}}}tj||SrU)r;_sumr)rrvaluers    rsimplified_sumz+TestSumCommon.setUp.<locals>.simplified_sums)$//40KAua%%eQ//r)r<)rIrs  rsetUpzTestSumCommon.setUps	0#	rN)r7r8r9rr:rrrrs
#rrcHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)TestSumc.tj|_yrU)r;rr<rus rrz
TestSum.setUp
OO	rcgdtgfD]3}|j|j|tt	ddf5y)Nr:r)r?rEr<rrrGs  rrAzTestSum.test_empty_datasAT"X&	EDTYYt_sHQK.CD	Ercj|j|jgdttddfy)N)r
rrir`rr
<r)rEr<rrrus r	test_intszTestSum.test_intss*#?@x|Q/	1rcn|j|jdgdzttddfy)NrIr`@)rEr<rrrus rtest_floatszTestSum.test_floatss/D6"9-#3	5rc|j|jtddgdzttdddfy)Nr
r&r)rEr<rrus rtest_fractionszTestSum.test_fractionss:HQ$5#6s#:;"HQNC8	:rc
t}|d|d|d|d|d|d|d|dg}|j|j|ttd	d
fy)Nrz5.246z1.702z-0.025z3.974z2.328z4.617z2.843z20.686r)rrEr<rIrrs   r
test_decimalszTestSum.test_decimalssi'
AgJ'
AhK'
AgJ'
AgJ	
4!78#4a8	:rctdDcgc]}tjdd}}|jt	|j|dt
j|dycc}w)Nr&rr
gؗҬ<r0)rrrr_rr<rfsum)rIr^rs   rtest_compare_with_math_fsumz#TestSum.test_compare_with_math_fsums[5:$K@qtT*@@uTYYt_Q%78$))D/uUAsA0c|jt|jgdd|jt|jgdy)Nr
rr999)r
rrrr;rus rtest_strings_failzTestSum.test_strings_fails1)TYY	5A)TYY0@Arc|jt|jgdd|jt|jgdy)Nr999)r
rrrr;rus rtest_bytes_failzTestSum.test_bytes_fails1)TYY	6B)TYY0ABrc	|jt|jddtdg|jt|jddgtdy)Nr
r))r6rr<rrus rtest_mixed_sumzTestSum.test_mixed_sumsE	
)TYYC0DE)TYYC'!*ErN)
r7r8r9rrArrrrrrrrr:rrrrs9
$E
15::VB
C
FrrceZdZdZy)SumTortureTestc|jtjgddztt	ddf|jtjgddztt	ddftjgddz\}}}|j|t|j|d|j
t|dd	y)
N)r
}Ô%ITr
}Ô%Ir4g@i@)rr
r
r)0.++r
rrtg^,gV瞯<r)rEr;rrrrr_)rIrrcounts    rtest_torturezSumTortureTest.test_tortures)>u)DE'!2E:	<)>u)DE'!2E:	<"(?(EF
3

a&uSz7>rN)r7r8r9rr:rrrrs	?rrcBeZdZdZdZdZdZdZdZdZ	dZ
d	Zy
)SumSpecialValuescttfD]d}|d}tjd|dgd}|j	t|||j
tj|fy)Nr)r
r)	rrr;rrrrrr)rIrr)rs    rr+zSumSpecialValues.test_nans_W%	0E,C__aa[1!4FMM$v,.OODJJv./		0rc	|jtj||jt	|t	||j|dkD|dkDyNr)rrr-rrrE)rIrr"s   rcheck_infinityzSumSpecialValues.check_infinitysGF

1
&

d1gtCy)Qa(rctjdd|dgd}|j||tjdd|d|dgd}|j||y)Nr
rrr)r;rrrIr"rs   rdo_test_infzSumSpecialValues.do_test_infs]!QQ03FC(!QQQ!78;FC(rcPtd}dD]}|j||zyNr"r
rt)rrrIr"rs   rtest_float_infzSumSpecialValues.test_float_infs,El	'DT#X&	'rcPtd}dD]}|j||zyr)rrrs   rtest_decimal_infz!SumSpecialValues.test_decimal_infs,en	'DT#X&	'rctd}tjdd|d|dgd}|jt	j
|yNr"r
rrr)rr;rrrrrs   rtest_float_mismatched_infsz+SumSpecialValues.test_float_mismatched_infssBEl!QQa!89!<

6*+rctd}dd|d|dg}tjtj5|j	tjtj|ddddy#1swYyxYwr)	rdecimallocalcontextExtendedContextrrrr;rrIr"rs   r3test_decimal_extendedcontext_mismatched_infs_to_nanzDSumSpecialValues.test_decimal_extendedcontext_mismatched_infs_to_nansoen1c1sdA&

!
!'"9"9
:	BOODJJzt'<Q'?@A	B	B	Bs;A<<Bctd}dd|d|dg}tjtj5|j	tj
tj|dddy#1swYyxYwr)rrrBasicContextr6InvalidOperationr;rrs   r0test_decimal_basiccontext_mismatched_infs_to_nanzASumSpecialValues.test_decimal_basiccontext_mismatched_infs_to_nan%shen1c1sdA&

!
!'"6"6
7	Og66
N	O	O	Os0A11A:ctd}d|dg}|jtjtj
|y)Nrr
r)rr6rrr;r)rIrrs   rtest_decimal_snan_raisesz)SumSpecialValues.test_decimal_snan_raises,s2v4|'22JOOTJrN)r7r8r9r+rrrrrrrrr:rrrrs20)'
'
,BOKrrceZdZdZdZdZy)AverageMixincdddtddtdfD]$}|j|j|g|&yNrg@E@gX_yCr|z0.28rrrEr<rs  rtest_single_valuezAverageMixin.test_single_value8sAdFHR$4gfoF	0ATYYs^Q/	0rc6dddtddtdfS)N@rz7y!C=Cz4.9712rrrus r'prepare_values_for_repeated_single_testz4AverageMixin.prepare_values_for_repeated_single_test=sR"b!1783DEErc|jD]L}dD]E}|j||5|g|z}|j|j||dddGNy#1swYTxYw)Nrrrr`)rr)rsubTestrEr<rIrrrs    rtest_repeated_single_valuez'AverageMixin.test_repeated_single_value@sv==?	9A'
9\\AU\393u9D$$TYYt_a899
9	999s(A!!A*N)r7r8r9rrrr:rrrr5s0
F9rrcZeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
Zy)TestMeanc.tj|_yrU)r;meanr<rus rrzTestMean.setUpJrrcJ|j|jgddy)N)rr
rrr
rEr<rus rtest_torture_pepzTestMean.test_torture_pepMs#891=rcxgd}tj||j|j|dy)N)rr
rrrrrrrrNrrrrrrg@@rrFrEr<rGs  rrzTestMean.test_intsQs+?t4&1rcxgd}tj||j|j|dy)N)g@1@g3@4@g5@g5@g@7@g 9@g;@g6@rrGs  rrzTestMean.test_floatsWs+Et4)4rct}|d|d|d|d|dg}tj||j|j	||dy)Nz1.634z2.517z3.912z4.072z5.813z3.5896rrrFrEr<rs   rrzTestMean.test_decimals]sS'
AgJ'
AgJ'
Kt4!H+6rc
t}|dd|dd|dd|dd|dd|dd|ddg}tj||j|j	||d	d
y)Nr
rrrrrNrriirrrFrEr<rIrrs   rrzTestMean.test_fractionsdso!Q1a!Aq'1Q7AaGQq!Wa1gNt4!D$-8rcgd}ttfD]a}dD]Z}|d|z}||gz}|j|}|jt	j
||j
||\cy)Nr
rrrrrr")rrr<rrr-rE)rIrsr\rr"rrs       rr'zTestMean.test_infksuG$	.D
.5k$&cU{4

6 23  -
.	.rc
dddtddddtdg}|j|}|jtj|y)	NrrrNr"r
rrz-inf)rr<rrrrIrrs   rtest_mismatched_infszTestMean.test_mismatched_infsvsB1auq!Qf
>4

6*+rcgd}ttfD]E}|d}||gz}|j|}|jt	j
|Gy)Nrr))rrr<rrr)rIrsr\r"rrs      rr+zTestMean.test_nan|sQG$	0Du+C#;DYYt_FOODJJv./		0rcd}gd}|j||z}|j|Dcgc]}||z	c}}|j||ycc}w)NgeA	333333@@g@g@g333333@@g @g333333 @g"@r<rErIcrr&rrs      r
test_big_datazTestMean.test_big_datasP<99T?Q&.AAaC./*/ActdDcgc]}tjdd}}|j|}|j|dz}|j	||ycc}w)Nr&r{rrrrrr<r_rIr^rr&r%s     rtest_doubled_datazTestMean.test_doubled_datasX/4T{;!r1%;;99T?46"vx0<A%cftd}|jtj|g|y)N1e4)rrEr;rrs  rtest_regression_20561zTestMean.test_regression_20561s(
EN!-q1rc|jtjddgdd}d}dD]T}|jtj|g|z||jtj|g|z|Vy)Nggg)rrrr)rEr;r)rIbigtinyrs    rtest_regression_25177zTestMean.test_regression_25177s	

#%:;=!	#$	>AZ__cU1W5s;Z__dVAX6=	>rN)r7r8r9rrrrrrr'rr+r	rrrr:rrrrIsC$>2579	.,0+12>rrcxeZdZdZfdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZxZS)TestHarmonicMeanc.tj|_yrU)r;
harmonic_meanr<rus rrzTestHarmonicMean.setUps,,	rcFt|}|jd|Sr)rrHremove)rIr+r
s  rrHzTestHarmonicMean.prepare_datas!%'

a
rc6dddtddtdfS)Nrrzrrrz4.125rrus rrz8TestHarmonicMean.prepare_values_for_repeated_single_testsR"b!1773CDDrcNgd}|j|j|dy)N)r
rrrrrIr+s  r	test_zerozTestHarmonicMean.test_zeros 6*A.rctj}dggdfD]:}|j|5|j||j|ddd<y#1swYGxYw)Nrt)r
rr)r+)r;rtrr6r<)rIexcr+s   rtest_negative_errorz$TestHarmonicMean.test_negative_errorsa((tZ(	:FV,
:!!#tyy&9
:
:	:
:
:sAA	cdggdgdgdfD]L}|j|5|jt5|j|ddddddNy#1swYxYw#1swYexYw)Nz3.14)123)r
r&r4r)gffffff@rrz5.6rZ)rr6rr<rGs  rtest_invalid_type_errorz(TestHarmonicMean.test_invalid_type_errors{H"	
	$D4(
$&&y1$IIdO$
$
$
	$$$
$
$s"A*AA*A'#A**A3	cxgd}tj||j|j|dy)N)rrrrrrg333333@rrGs  rrzTestHarmonicMean.test_intss+#t4%0rcgd}tj||j|j|d|j|jgddy)N)rrIrIrrrI)rIrrrrrrGs  rtest_floats_exactz"TestHarmonicMean.test_floats_exactsE(t4#.#893?rcjtddD]$}|j|j|g|&y)Nr
rrrEr<rs  rtest_singleton_listsz%TestHarmonicMean.test_singleton_listss1q#	0ATYYs^Q/	0rc
t}|j|j|d|d|d|dg|d|d|d|d|dg}tj||j|j||d|d|d|d	|d
g}tj||j|j||ddzy)
Nr|rrr
z0.10z0.20z1.68z0.32z5.94z2.75iiC)rrEr<rrFrs   rtest_decimals_exactz$TestHarmonicMean.test_decimals_exactsAbE1R5!B%2#?@!B%H&	1V9ai6;t4!F)4&	1V9ai6;t4!E(5.9rc
t}|dd|dd|dd|dd|dd|dd|ddg}tj||j|j	||d	d
y)Nr
rrrrrNrri|irrs   rrzTestHarmonicMean.test_fractionsso!Q1a!Aq'1Q7AaGQq!Wa1gNt4!E4.9rcbdtddg}|j|j|dy)Nr)r"r)rrEr<rs  rr'zTestHarmonicMean.test_infs+uU|S)6*C0rcdtddg}|jtj|j	|y)Nr)r)r)rrrrr<rs  rr+zTestHarmonicMean.test_nans0uU|S)

499V#456rcd}gd}|j||z}|j|Dcgc]}||z	c}}|j||ycc}w)Norrrs      rtest_multiply_data_pointsz*TestHarmonicMean.test_multiply_data_pointssP<99T?1$.AAaC./*/r
ctdDcgc]}tjdd}}|j|}|j|dz}|j	||ycc}w)Nr&r
rrrr
s     rrz"TestHarmonicMean.test_doubled_datasX.3Dk:q!$::99T?46"vx0;rc
|j|jddgddgd|j|jddgddgd|j|jtddgtddgd|j|jtddtd	dtd
dggd|jtddgdztd	dgdzztd
dgdzz|j|jdgd
gd|j	t
5|jgd
gdddd|j	tj5|jgd
ddgddd|j	tj5|jdgdgddd|j	tj5|jddgddgdddy#1swYxYw#1swYxYw#1swY`xYw#1swYyxYw)NrrrrgL@)weightsrrrrr)rrrr)r
r:rr
rr`)rEr<r?rr6rr;rtrus rtest_with_weightsz"TestHarmonicMean.test_with_weightss
B8aW5t<B8,-r7#459	;4R>#'B=237	9IIxAQ!QH*UIIxA'!+A'!+,1~&+,
-	.
	
B4!-r2


y
)	-IIi,	-


z99
:	)IIi!Q(	)


z99
:	!IIrdQC 	!


z99
:	(IIr2hA'	(	(
	-	-	)	)	!	!	(	(s0HH'?H3;H?H$'H03H<?I)r7r8r9rrHrr r#r)rr,r/r1rr'r+r7rr;rrs@rrrsU-E/
:
$1@0
	::1
7
+1(rrcHeZdZdZfdZdZdZdZdZdZ	dZ
xZS)	
TestMedianc.tj|_yrUr;medianr<rus rrzTestMedian.setUp$%%	rcj	t|}t|dzdk7r|jd|S)Nrr
)rrHrarQ)rIrr
s  rrHzTestMedian.prepare_data's39w#%t9Q;!KKNrcNgd}|j|j|dy)Nr
rrrrrNrrrGs  rtest_even_intszTestMedian.test_even_ints.s!4#.rcNgd}|j|j|dy)N)r
rrrrrNrrrrGs  r
test_odd_intszTestMedian.test_odd_ints4s$4!,rct}|dd|dd|dd|dd|ddg}tj||j|j	||ddy)Nr
rrrrrrrs   rtest_odd_fractionszTestMedian.test_odd_fractions:s_!Q1a!Aq'1Q7AaG<t4!Aq'2rc	t}|dd|dd|dd|dd|dd|ddg}tj||j|j	||ddyNr
rrrrrrNrrs   rtest_even_fractionszTestMedian.test_even_fractionsBg!Q1a!Aq'1Q7AaGQq!WEt4!Aq'2rct}|d|d|d|d|dg}tj||j|j	||dy)N2.53.14.25.75.8rrs   rtest_odd_decimalszTestMedian.test_odd_decimalsJsS%!E(AeHah%At4!E(3rct}|d|d|d|d|d|dg}tj||j|j	||dy)Nz1.2rOrPrQrRrSz3.65rrs   rtest_even_decimalszTestMedian.test_even_decimalsRsY%!E(AeHah%!E(Kt4!F)4r)r7r8r9rrHrErGrIrLrTrVrrs@rr=r="s+&/-3345rr=ceZdZdZdZy)TestMedianDataTypec.tj|_yrUr?rus rrzTestMedianDataType.setUp]rArcttd}|t|k(r$tj||t|k(r$|S)Nr|rDrGs  rrHzTestMedianDataType.prepare_data`s:E"IfTl"NN4 fTl"rN)r7r8r9rrHr:rrrXrX[s&rrXc$eZdZdZdZdZdZy)
TestMedianLowc.tj|_yrU)r;
median_lowr<rus rrzTestMedianLow.setUpis))	rcNgd}|j|j|dy)NrDrrrGs  rrEzTestMedianLow.test_even_intsl!4!,rc	t}|dd|dd|dd|dd|dd|ddg}tj||j|j	||ddyrKrrs   rrLz!TestMedianLow.test_even_fractionsrrMrct}|d|d|d|d|d|dg}tj||j|j	||dyNz1.1z2.2z3.3z4.4rz6.6rrs   rrVz TestMedianLow.test_even_decimalszY%!E(AeHah%!E(Kt4!E(3rNr7r8r9rrErLrVr:rrr\r\hs*-34rr\c$eZdZdZdZdZdZy)TestMedianHighc.tj|_yrU)r;median_highr<rus rrzTestMedianHigh.setUps**	rcNgd}|j|j|dy)NrDrrrGs  rrEzTestMedianHigh.test_even_intsr`rc	t}|dd|dd|dd|dd|dd|ddg}tj||j|j	||ddyrKrrs   rrLz"TestMedianHigh.test_even_fractionsrMrct}|d|d|d|d|d|dg}tj||j|j	||dyrcrrs   rrVz!TestMedianHigh.test_even_decimalsrdrNrer:rrrgrgs+-34rrgcNeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)
TestMedianGroupedc.tj|_yrU)r;median_groupedr<rus rrzTestMedianGrouped.setUps--	rc4gd}|j|j|dgd}|j|j|dgd}|j|j|ddgd}|j|j|d	d
dy)
N)rrrrrrr|r|rr)rrrrrrrrrrr|g+@)rrrr|r`r`r`r`rsrrg`3@)rrtrtrtr`r`r`rururvrg4@:0yE>r/rEr<r_rGs  rtest_odd_number_repeatedz*TestMedianGrouped.test_odd_number_repeateds+4"-+4&1:4+V4Ktyyq1;DIrc6gd}|j|j|dddgd}|j|j|ddgd}|j|j|d	gd
}|j|j|dy)N)
rrrr|r`r`r`rsrsrrg*3@ryrz)rrrrrrg["8@)rrrrrrrrrrrNrNr)
rrrrrrrrrNrN@)r_r<rErGs  rtest_even_number_repeatedz+TestMedianGrouped.test_even_number_repeateds6tyyq1;DI!tyy
E34#.-4$/rcdddtddtdfD]9}dD]2}|g|z}|j|j|t	|4;y)N333333@DgޗCrrz32.9714rrrrEr<rrs    rrz,TestMedianGrouped.test_repeated_single_values`r68B#4gi6HI	<A'
<s5y  4%(;
<	<rcdddtddtdfD]-}|j|j|gt	|/yrrrs  rrz#TestMedianGrouped.test_single_valuesGdFHR$4gfoF	7ATYYs^U1X6	7rct}|dd|dd|dd|dd|ddg}tj||j|j	|dy)Nrrrrrz@rrs   rrIz$TestMedianGrouped.test_odd_fractionssY!Q1a!B(Ab!HaAh?t4#.rc	t}|dd|dd|dd|dd|dd|ddg}tj||j|j	|dy)Nrrrrrz
@rrs   rrLz%TestMedianGrouped.test_even_fractionssa!Q1a!B(Ab!HaAh"aIt4$/rct}|d|d|d|d|dg}tj||j|j	|dy)Nr6.57.58.5g@rrs   rrTz#TestMedianGrouped.test_odd_decimalssO%!E(AeHah%At4$/rct}|d|d|d|d|d|dg}tj||j|j	|d|d|d|d|d|d|dg}tj||j|j	|dy)Nrrrr@@rrs   rrVz$TestMedianGrouped.test_even_decimalss%!E(AeHah%!E(Kt4#.%!E(AeHah%!E(Kt4#.rcgd}|j|j|ddgd}|j|j|dddgd}|j|j|d	d
y)N)
@rGrGr!r!rrrrrNrIg@)rrGrGr!r!r!rrrrrNg["8@ryrz)rrrrr,@iTr`gp@r{rGs  r
test_intervalzTestMedianGrouped.test_intervalsgF4.6Ltyyt4jdKK4,e4rc8gd}|jt|j|gd}|jt|j|gd}d}|jt|j||gd}d}|jt|j||y)N)rr)rrrrrrr;)rIrintervals   rtest_data_type_errorz&TestMedianGrouped.test_data_type_errors|)TYY5)TYY5)TYYh?)TYYh?rN)r7r8r9rr|rrrrIrLrTrVrrr:rrrnrns;.J$0$<7/00/5@rrncBeZdZdZdZdZdZdZdZdZ	dZ
d	Zy
)TestModec.tj|_yrU)r;moder<rus rrzTestMode.setUprrc	gdS)N)r
r
r
r
rrrrrrrr:rus rrHzTestMode.prepare_datas900rc`tddd}|j|j|dyr_r.rGs  rrbzTestMode.test_range_data s(RQ4"-rcd}|j|j|ddj}|j|j|dy)Nabcbdbrzfe fi fo fum fi fifi)rEr<rrGs  rtest_nominal_datazTestMode.test_nominal_data%sE4#.#))+4$/rcttd}tdD]>}||gz}tj||j	|j||@yrCrrrrFrEr<)rIrrgrs    rtest_discrete_datazTestMode.test_discrete_data,sQE"Ir	.As
ANN1TYYq\1-	.rcNgd}|j|j|dy)N)r
r
rrrrrrrrNrNrNrNrrrrrrrGs  rtest_bimodal_datazTestMode.test_bimodal_data4s!B	
4!,rcnttd}|j|j|dy)Nrr)rrrEr<rGs  rtest_unique_datazTestMode.test_unique_data;s'E"I4!,rcF|jt|jdyrUr;rus rtest_none_datazTestMode.test_none_dataAs
	
)TYY5rcttjdd}|j|j|dy)Nr
r)rrr)rVCounterrEr<)rIrs  rtest_counter_datazTestMode.test_counter_dataHs0

!q)	
1s+rN)r7r8r9rrHrbrrrrrrr:rrrrs/$1
.
0.--6,rrceZdZdZy)
TestMultiModectj}|j|ddg|j|dgd|j|dgy)Naabbbbbbbbccraabbbbccddddeeffffgg)rrrr)r;	multimoderE)rIrs  rtest_basicszTestMultiMode.test_basicsUsN((	>2SE:#9:OL2+rN)r7r8r9rr:rrrrSs,rrc$eZdZdZdZdZdZy)	TestFMeanc
tj}t}t}gdddf|d|d|dgddf|dd	|d
d|dd
gdd
fgdddfdd
|dd
gddfdt	gdddffD]A\}}}||}|jt
|t||j|||Cy)NrrH@@floats3.54.05.25decimalsrrrr
r	fractions)TFTTF333333?booleansrmixed types)rrriterator)	r;fmeanrrr?rrrrE)rIrrrr
expected_meanr\actual_means        rrzTestFMean.test_basics^s  
tX.h%!F)
,dJ?1gqAw"a
)4=
-tZ@1aAh
}5-
"
#T:6*	?%D- +KMM${+UD9[->	?rctj}tj}|j|5|gddd|j|5|t	gddd|jt
5|dddd|jt
5|gdddd|jt
5|ddd|jt
5|gdddddy#1swYxYw#1swYxYw#1swYxYw#1swY|xYw#1swYcxYw#1swYyxYw)NrNr`rr`rF)r;rrtr6r?rrIrrts   rtest_error_caseszTestFMean.test_error_casesos  $44



/	"I	



/	$r(O	


y
)	$K	


y
)	".!	"


y
)	G	


y
)	$,#	$	$							"	"			$	$sG	DD	D#)D/D;6EDD #D,/D8;EEctj}td}td}|jt	j
|d|gd|jt	j
|||gd|jt	j|d|gd|jt5|||gdddy#1swYyxYwNNanInfrr)znan and infinityinfinity)	r;rrrrrr-r6r,)rIrNaNrs    rtest_special_valueszTestFMean.test_special_valuess  ElEl

5"c#34e<

5#s#457IJ

5"c#34jA


z
*	3+			CC!c	*tj}tj}|j|gddgdz|gd|j|gdgd|gd|j|t	gdt	gd|gd|j|5|gddd	gddd|j|5|t	gdt	dd	gddd|j|5|d
dgddgddd|j|5|t	d
dgt	ddgdddy#1swYxYw#1swYvxYw#1swY[xYw#1swYyxYw)
N)rrrrrIr)rrr`)rIrIr)rrr`r`rr`rr
rrr`rt)r;rrtrEr?r6rs   rtest_weightszTestFMean.test_weightssv  $44"TFQJ/"#	%	
, 23"#	%	
$|$d+=&>?"#	%


/	(,A'	(



/	4$|$dAq6l3	4



/	%2r(RG$	%



/	1$Bx.$Aw-0	1	1
	(	(	4	4	%	%	1	1s05E% E1E=< F	%E.1E:=F	FN)r7r8r9rrrrr:rrrr\s?"$ 	1rrc4eZdZdZdZdZdZdZdZdZ	y)	VarianceStdevMixin-q=cdddtddtdfD]$}|j|j|gd&y)Nrg3@g%Brrz8.392rrrs  rrz$VarianceStdevMixin.test_single_valuesBdFHR$4gg6FG	0ATYYs^Q/	0rcdddtddtdfD]0}dD])}|g|z}|j|j|d+2y)	Nrrg@6<Crrz62.4802)rrrr|rrrs    rrz-VarianceStdevMixin.test_repeated_single_valuesYr68Aq>793EF	5A&
5s5y  4!4
5	5rc~dgdz}|j|}|j|dd|j|dy)Ng.F7ݚ?r4rsgؗҌ<rzr)r<r_rrs   rtest_domain_error_regressionz/VarianceStdevMixin.test_domain_error_regressionsE""5(4vs6*rcgd}|j|}d}|Dcgc]}||z	}}|j|j||ycc}w)N)
g{Gz?gRQ?g
ףp=
?gRQ@gp=
ף@gQ	@r~gQ@gGz@gQ@gj@)r<r_rIrsr&shiftrrs      rtest_shift_dataz"VarianceStdevMixin.test_shift_datasPK99S>#&'aE	''tyy9(Acgd}|j|}d}|Dcgc]}||z	}}|j|j||ycc}w)N)
r
rrrrrrrrriʚ;rrs      rtest_shift_data_exactz(VarianceStdevMixin.test_shift_data_exactsM/99S>#&'aE	''4(3(rctdDcgc]}tjdd}}|j|}|j	|jt||ycc}w)Nr&r{r)rrrr<rEr?rIr^rr&s    rtest_iter_list_samez&VarianceStdevMixin.test_iter_list_samesU05T{;!r1%;;99T?4:.9<sA)N)
r7r8r9r0rrrrrrr:rrrrs'C0
5+:4
:rrc0eZdZdZdZdZdZdZdZy)
TestPVariancec.tj|_yrU)r;	pvariancer<rus rrzTestPVariance.setUps((	rcttd}tj|d}|j	|j||y)Nr4gP_Arras   rtest_exact_uniformz TestPVariance.test_exact_uniforms9E%L!t$4(3rcRgd}d}|j|j||y)Nrrrrg6@rrIrexacts   rrzTestPVariance.test_intss$4%0rct}|dd|dd|dd|ddg}|dd}|j|}|j|||j|ty)Nr
rrrrrr<rEassertIsInstancerIrrrrs     rrzTestPVariance.test_fractionse!Q1a!Aq'1Q73!Q4'fh/rct}|d|d|d|dg}|d}|j|}|j|||j|ty)Nz12.1z12.2z12.5z12.9z0.096875rr<rErrIrrrrs     rrzTestPVariance.test_decimalss[&	1V9ai6;*
4'fg.rcgd}d}|j|}|j|||j|ty)N)rrr
gqq?r<rErrrIrrrs    rtest_accuracy_bug_20499z%TestPVariance.test_accuracy_bug_2049994'fe,rN)	r7r8r9rrrrrrr:rrrrs )410/-rrc6eZdZdZdZdZdZdZdZdZ	y)	TestVariancec.tj|_yrU)r;variancer<rus rrzTestVariance.setUps''	rcdddtddtdfD].}|jtj|j
|g0y)Nrg333338@g(G!=Crrz4.2084rrr6r;rtr<rs  rrzTestVariance.test_single_valuesHdFHR$4gh6GH	JAj88$))aSI	JrcRgd}d}|j|j||y)Nrrrrs   rrzTestVariance.test_intss$4%0rct}|dd|dd|dd|ddg}|dd}|j|}|j|||j|ty)Nr
rrrrrrs     rrzTestVariance.test_fractions rrct}|d|d|d|dg}d|dz|dz}|j|}|j|||j|ty)Nrrrrz9.5rrrs     rrzTestVariance.test_decimals)sg!adAaD!A$'!E(
1Q44'fg.rcd}|j|j|d|j|j|ddy)Nrr)rr)xbarrrrGs  rtest_center_not_at_meanz$TestVariance.test_center_not_at_mean2s<4#.4c2C8rcgd}d}|j|}|j|||j|ty)N)rrrgUUUUUU?rrs    rrz$TestVariance.test_accuracy_bug_204997rrN)
r7r8r9rrrrrrrr:rrrrs&(J
10/9
-rrceZdZdZdZdZy)
TestPStdevc.tj|_yrU)r;pstdevr<rus rrzTestPStdev.setUp@rArctdDcgc]}tjdd}}tjtj|}|j|j||ycc}w)Nr&irv)	rrrrsqrtr;rrEr<rs    rtest_compare_to_variancez#TestPStdev.test_compare_to_varianceCsZ16t=AsB'==99Z11$784(3>A7cd}|j|j|d|j|j|ddy)N)rrNrrrGr)murrrGs  rrz"TestPStdev.test_center_not_at_meanIs<4#.4C0#6rN)r7r8r9rrrr:rrrr>s&47rrcReZdZdZeejddZdZy)TestSqrtHelperscbtjtdtddD]\}}tj||}|j|t||z|z|k(r>|j|dzd|j||dz
dzz|cxkxr||dzdzzkncy)Nrr
r&r)		itertoolsproductrr;_integer_sqrt_of_frac_rtorrrEr)rIrmrs    rtest_integer_sqrt_of_frac_rtoz-TestSqrtHelpers.test_integer_sqrt_of_frac_rtoQs%%eCj%4.A		ADAq44Q:A!!!S)s1uzQqS!$OOAQ
NQ?a!eaZ?@		Arcpucdtdtdtfd}tj}tdD]}}|d|dz}|d|dzdz}|j
||	5t||}tj||}|j|||ddd|jtjd
dd|jt5tjddddd|jt5tjddddd|jt5tjdd
ddd|jtjd
dtjddy#1swYxYw#1swYxYw#1swYxYw#1swYixYw)Nrrootreturnc(|s|dk(Stj|tj}tj|tj}t|}|t|zdz}|t|zdz}|dz|cxkxr|dzkScS)Nrsr)r	nextafterr"r)rr)r_upr_down	frac_roothalf_way_up
half_way_downs       ris_root_correctly_roundedzJTestSqrtHelpers.test_float_sqrt_of_frac.<locals>.is_root_correctly_roundedass{"..txx8D NN4$((;F#+4.I%.$%?1$DK'08F3C'Cq&HM!A%>kQ.>>>>>ri`rrr
)	numeratordenonimatorrrsrtrr)rrrr	randrangerrr;_float_sqrt_of_fracrrEr6r,ZeroDivisionError)rIr2r5rgr3r4rr)s        rtest_float_sqrt_of_fracz'TestSqrtHelpers.test_float_sqrt_of_frac]s	?	?	?4	?$$$	v	DA&rYr]':;I(y})<=AK	{K
D&y+>(<<YT 9!T BC
D
D	D	
771=sC


z
*	2**2q1	2


z
*	2**1b1	2

0
1	1**1a0	1	
77B?A_A_`acdAef#
D
D	2	2	2	2	1	1s0-;F/-F<!GG/F9	<GGGcBtdddftdddftdddffD]\}}}tjtj5|j	tj|||dddtjtj5}|xjdzc_t|t|z}tj|_	|j}dddtjtj5}ddd|j	||j	tjd	d
d|jtj5tjdd
ddd|jtj5tjd
dddd|jt5tjd
d	ddd|j	tjd
dtjdd
y#1swYxYw#1swYlxYw#1swYJxYw#1swYxYw#1swYxYw#1swYxYw)Nz0.4481904599041192673635338663l:jt9)4]!l73Me'z0.7924949131383786609961759598lQ_Ar,NE*z0.8500554152289934068192208727lkr"-D9}ZGrrr
rsrtrr)rrrDefaultContextrEr;_decimal_sqrt_of_fracprec
ROUND_05UProundingrr6rr7)rIr)r3denominatorctxhigh_prec_ratiohigh_prec_roottarget_roots        rtest_decimal_sqrt_of_fracz)TestSqrtHelpers.test_decimal_sqrt_of_fracs?5
68VXwx
5
68VXwx
5
68VXwx-
	0(D)[
%%g&<&<=
a  !A!A)[!Y[_`
a%%g&<&<=
8A
"))"4w{7K"K&11!0!5!5!7	
8
%%g&<&<=
.-o
.T;/!	0&	
99!Q?E


w77
8	4,,R3	4


w77
8	4,,Q3	4

0
1	3,,Q2	3	
99"bA:CcCcdeghCij3
a
a
8
8

.
.	4	4	4	4	3	3sI'I'AI#$I0
I=J	<JI 	#I-	0I:	=J	JJN)	r7r8r9r&rrrequires_resourcer8rDr:rrr r Os:
AWu%*g&*gX#krr c$eZdZdZdZdZdZy)	TestStdevc.tj|_yrU)r;stdevr<rus rrzTestStdev.setUps$$	rcdddtddtdfD].}|jtj|j
|g0y)NQgHzwi@gf7?+Brrz35.719rrs  rrzTestStdev.test_single_valuesGffhq"owx7HI	JAj88$))aSI	JrctdDcgc]}tjdd}}tjtj|}|j|j||ycc}w)Nr&rr)	rrrrrr;r	assertAlmostEqualr<rs    rrz"TestStdev.test_compare_to_variancesZ/4T{;!r1%;;99Z0067tyy9<rcNd}|j|j|ddy)Nrr)rrrrGs  rrz!TestStdev.test_center_not_at_means$4c2C8rN)r7r8r9rrrrr:rrrGrGs%J
:9rrGc0eZdZdZdZdZdZdZdZy)TestGeometricMeancvtj}|j|gdd|j|ddgd|j|dgdtjdtdd	tdd
tddtddd
tdddgdtd
Dcgc]}tjdc}tdDcgc]}tjddc}tdDcgc]}tjdddc}f	D]s}tjtt|tdt|zz}||}|jtj|t!|uycc}wcc}wcc}w)N)r{rvrB@rHg"@g@g1@l;r
rr&r4rrr{)rrzrrxrI@rrii)r;geometric_meanrMrseedrexpovariatelognormvariate
triangularrprodrrrariscloser)rIrVrgrng
gm_decimalgm_floats      rrzTestGeometricMean.test_basicss`#22~l;TB~sCj93?~vh7@N#a
aa c61%fc2&'38<@a##D)@;@<Ha&&tS1H>CElK""4t4K

	GC3w#45'!*s3x:OPJ%c*HOODLL53DEF
	GAHKs<F,'F1F6c	ttj}t}t}d}gddf|d|d|dgdf|dd	|d
d|dd
gd
fdd
|dd
gdfdt	gddffD]A\}}||}|jt
|t||j||dCy)Ngd@rrrrrrrrrr
rrrr)rrrrplaces)	r;rVrrr?rrrrM)rIrVrrrrr\rs        rtest_various_input_typesz*TestGeometricMean.test_various_input_typess#22

x(h%!F)
,j91gqAw"a
);71aAh
/'
"
#Z0

	IJD$).KMM${+UD9"";
a"H
	Irctj}d}|d|zd|zd|zg}|jtj|d|z|jtj|d}|d|zd|zd|zg}|jtj|d|z|j|dy)Ngp~gK@g8@rRgprs)r;rVrrr\rr-assertNotEqual)rIrVlargebig_gmsmallsmall_gms      rtest_big_and_smallz$TestGeometricMean.test_big_and_smalls#22te|TE\ JKVTE\:;F+,!4%<te|"LMXte|<=Hc*rcjtj}tj}|j|5|gddd|j|5|gdddd|j|5|gdddd|j|5|t	gddd|jt
5|dddd|jt
5|gdddd|jt
5|ddd|jt
5|gdddddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swY}xYw#1swYyxYw)N)rrsr)rgrrrr)r;rVrtr6r?r)rIrVrts   rrz"TestGeometricMean.test_error_casess{#22$44



/	2	



/	-+,	-



/	.,-	.



/	%48$	%


y
)	!4 	!


y
)	+>*	+


y
)		


y
)	-<,	-	-			-	-	.	.	%	%	!	!	+	+			-	-s_	EE 8E-E9	F1FF>F)E E*-E69FFFF&)F2ctj}td}td}|jt	j
|d|gd|jt	j
|||gd|jt	j|d|gd|jt5|||gdddy#1swYyxYwr)	r;rVrrrrr-r6r,)rIrVrrs    rrz%TestGeometricMean.test_special_values	s#22ElEl

>2s)#<=uE

>3*#=>@RS

>2s)#<=zJ


z
*	(C#;'	(	(	(rctj}d}gdgdgdgdgdg}|D]9}|j|5||}|j||d	ddd;y#1swYFxYw)
NgY};t@)rrrr)rrrr)rrrr)rrrr)r)rrr)vrra)r;rVrrM)rIrVrr+rnrs      rtest_mixed_int_and_floatz*TestGeometricMean.test_mixed_int_and_float	s#22(
 
	MA"
M,Q/&&{M!&L
M
M	M
M
MsA##A,	N)	r7r8r9rrcrjrrror:rrrPrPs#G,I$
+-(	(MrrPc*eZdZdZdZdZdZdZy)
TestQuantilesctj}gd}tj|dgfddgfdddgfdgd	fd
gdfdgd
fdgdfdgdfdgdfdgdff
D]\}}|j	|||||j	t||||dz
tttfD]U|t||}|jfd|D|j	|tt|Wt|dk\r|j	||||t|}d|dz|dz
}d|dz|dz
}|||gz}	|j	|||||	|d||fd}
tt|
|}|t|
||}|jtdt||DtddD]S}
tj td |
!}||\}}}|j	|tj"|Uy)"N)rSrri^r
r@o@ri@t@r)d@rtt@r)a@k@@r@u@rN)^@rurtrvu@r)Y@rwgj@rtgr@rxgXv@r)	gV@rygg@rzrtr{g`t@r|gv@r)T@r}rwru l@rtgq@rvrxr~gv@r|)gR@gZ@ryge@rurzn@gp@r{rvgt@r|g@v@gw@rc3LK|]}tt|k(ywrUallrrrdatatypes  rrz4TestQuantiles.test_specific_cases.<locals>.<genexpr>I	IQDGx$7 8I!$rrtr	inclusivermethodcd|zdz
SNrg3333J@r:r
s rrz,TestQuantiles.test_specific_cases.<locals>.f[	Qw))rc3NK|]\}}tj||ywrUrr\rrhrs   rrz4TestQuantiles.test_specific_cases.<locals>.<genexpr>_	Mtq!Q 2M#%rrk)r;	quantilesrrFrErarrrrrrrErrerchoicesr@)rIrrrr&rsdatalohipadded_datarexpactrq1q2q3rs                 @rtest_specific_casesz!TestQuantiles.test_specific_cases0	s]((	(t
G
L

%&
,-
34
AB
OP
 
!
5
6
)	OKAx
Xy';<S41!56A>"GX6
H"3x#6!<I&II  c(H.E)FG
H
8}!  8q!98D4LEU1Xa(BU2Yr*B"b/K$!$+;?D	

*s1h'(CC4LA.COOCMs3}MMNS)	OVq"	:A>>%*2D"4JBBR!2!24!89	:rc@tj}gd}tj|dgfddgfdddgfdgd	fd
gdfdgd
fdgdfdgdfdgdfdgdff
D]
\}}|j	||||d|j	t|||d|dz
tttfD]V|t||d}|jfd|D|j	|tt|Xd}tt||}|t|||d}|jtdt||D
|j	|ddgddgd|j	|tddddgdtdD	cgc]}	tjd }}	||d!d}
|j!t#||j!t%|||d!"}|j	||
tdd#D]U}tj&td|$}||d%\}}
}|j	|
tj(|Wycc}	w)&N)rrii r
rr@rruy@r)e@r@@r)rwrv@@rN)b@rurr@r)g0a@rrgpw@rgP@r)	g@`@rwgg@rrrg{@rg@@r)g@_@rrrurtrr~rrrg@r|)r}ga@rwgf@rurgq@rvrrg~@rg@g@rrc3LK|]}tt|k(ywrUrrs  rrz>TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>	rrcd|zdz
Srr:r
s rrz6TestQuantiles.test_specific_cases_inclusive.<locals>.f	rrc3NK|]\}}tj||ywrUrrs   rrz>TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>	rrrr)	$@rg>@gD@rTgN@gQ@rgV@rir4 rrrr)r;rrrFrErarrrrrrrrerr5rrr#rr@)rIrrrr&rrrrrgr%rrrrrs               @rtest_specific_cases_inclusivez+TestQuantiles.test_specific_cases_inclusivef	s((	#t
G
L

%&
,-
34
>?
PQ
'
(
5
6
	OKAx
Xy;'OPS41[!IJAPQER"GX6
H"3x#6!KPI&II  c(H.E)FG
H

*s1h'(CC4LAkBCOOCMs3}MMN5	O8	
As8r+FO	Q5C=B{KO	Q
38*=Q  (==42k:CICITR(6*q"	:A>>%*2D"4<JBBR!2!24!89	:>s=Jctj}tddD]>}dg|z}|j||gd|j||dgd@y)Nrrr)rrrrr)r;rrrE)rIrrrs    rtest_equal_inputszTestQuantiles.test_equal_inputs	s\((	q"	0A6A:DYt_.@AYtK@.
0	0rctj}d}t|Dcgc]}tjd}}tt
||k7r<|jtjdtt
||k7r<|jdD]W}||z}|j|||Dcgc]}tj||c}tt|||YdD]r}||z||zdzh}|||Dcgc]}tj||}	}t|	|	ddD
chc]
\}
}||
z
}}
}|j||ktycc}wcc}wcc}wcc}}
w)Nr4皙?)
r
rrrr`rrrrr&rUrr4r)
rr;mi;iisii)&r
)r;rrrrXrasetrQsortrEbisectrrer)rIrtotalrgrr
group_sizeqgroup_sizespospsizess            rtest_equal_sized_groupsz%TestQuantiles.test_equal_sized_groups	sj((	16u>A""3'>>#d)n%KK**3/0#d)n%		O	<A!J1:411EFAtQ'FU:uj9:
<	<E	2A A:uzA~6K3<TQ3GHa6==q)HCH'*3AB'89tq!QU9E9OOE[01		2?GI9sE5E:
E?Fctj}tj}|jt5|ddd|jt5|gdddddd|jt5|gddddd|j|5|gddddd|j|5|gddddd|jt5|gddddd|jt
5|gdd	ddd|j|5|d
gdddd|jt5|gdddddy#1swYNxYw#1swY0xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)NrrrrrrtrXrr)rNr)r;rrtr6rr,)rIrrts   rrzTestQuantiles.test_error_cases	s((	$44


y
)	K	


y
)	-lB!,	-


y
)	'lA&	'



/	)la(	)



/	*lb)	*


y
)	+lc*	+


z
*	0l3/	0



/	!rda 	!


y
)	+n*	+	+!			-	-	'	'	)	)	*	*	+	+	0	0	!	!	+	+skF
FF$+
F1
F=;
G	%
GG!4
G-
FF!$F.1F:=G	GG!G*-G6N)r7r8r9rrrrrr:rrrqrq.	s4:l4:l02.+rrqceZdZdZdZy)TestBivariateStatisticscgdddgfddggdffD]\}}|jtj5tj||ddd|jtj5tj||ddd|jtj5tj
||dddy#1swYxYw#1swYVxYw#1swYxYw)Nrr
rr6r;rt
covariancecorrelationlinear_regressionrs   rtest_unequal_size_errorz/TestBivariateStatistics.test_unequal_size_error	s
AVY
		3DAq"":#=#=>
,%%a+
,"":#=#=>
-&&q!,
-"":#=#=>
3,,Q2
3
3		3
,
,
-
-
3
3s#C4C 2C,C	 C)	,C5	cggfgddgfddggfdgdgfdgddgfddgdgffD]\}}|jtj5tj||ddd|jtj5tj||ddd|jtj5tj
||dddy#1swYxYw#1swYVxYw#1swYxYw)Nr
rrrs   rtest_small_sample_errorz/TestBivariateStatistics.test_small_sample_error	s
H
!QMWbMTA4LTAq7OWqdO


	3DAq"":#=#=>
,%%a+
,"":#=#=>
-&&q!,
-"":#=#=>
3,,Q2
3
3
	3
,
,
-
-
3
3s$C$C0C<$C-	0C9	<D	N)r7r8r9rrr:rrrr	s
33rrceZdZdZdZdZy)TestCorrelationAndCovariancecgdgddfgdgddfgdgddfgdgddfgdgdd	ffD]R\}}}|jtj||||jtj|||Ty)
Nrr
rtrr{rt)rrr
)r
rr
r)r
rrrrMr;rr)rIrr.rs    rtest_resultsz)TestCorrelationAndCovariance.test_results	s
	1%
b)
	2&
	1%
	3'
	HLAq&
"":#9#9!Q#?H"":#8#8A#>G	HrcLgd}gd}|jtj||d|jtj||dgd}|jtj||d|jtj||dy)Nr)rrr`rr)rrg333333?r
rrrs   rtest_different_scalesz2TestCorrelationAndCovariance.test_different_scales	sz55a;SAz44Q:A>z55a;Q?z44Q:C@rcgd}gd}|jtj||dd|jt5tj||ddddy#1swYyxYw)N)
8K-rrr:PLr)
BrrrArrMr?rankedrgl\e?
bad_method)rMr;rr6r,)rIreadingmathematicss   rtest_correlation_spearmanz6TestCorrelationAndCovariance.test_correlation_spearman	
sl;>z55g{S[\1	3

z
*	N""7KM	N	N	NsA((A1N)r7r8r9rrrr:rrrr	s	HANrrc$eZdZdZdZdZdZy)TestLinearRegressioncgd}gd}|jtj5tj||dddy#1swYyxYw)N)r
r
r
r)r6r;rtrrs   rtest_constant_input_errorz.TestLinearRegression.test_constant_input_error
sE


z99
:	/((A.	/	/	/sAAc
gdgdddfgdgdddfgdgdddfgdgddd	fgdgd
ddfgdgdd
dfgdgdddffD]D\}}}}tj||\}}|j|||j||Fy)Nr)rrrrr
)rrrr)rrrrrrrrt)rrurr`)gffffff@g@rrr)r;rrM)rIrr.true_intercept
true_slopeslope	intercepts       rrz!TestLinearRegression.test_results!
s
	1a(
	1a(
a0
b!,
a,
b!,
C01
	6,Aq.* *;;AqAE9""9n=""5*5	6rcgd}gd}tj||d\}}|j|d|j|dy)N)rr`rr)iibiTproportionalgN4@rs)r;rrMrErIrr.rrs     rtest_proportionalz&TestLinearRegression.test_proportional/
sE %7714Pyuj1C(rctddtddg}tddtddg}tj||\}}|jt	|t
|jt	|t
tj||d\}}|jt	|t
|jt	|t
y)NrrrrrNTr)rr;rrrrrs     rtest_float_outputz&TestLinearRegression.test_float_output6
s
a^Xa^,
a^Xa^,%771=y
5%01
9e45%7714Py
5%01
9e45rN)r7r8r9rrrrr:rrrr
s/6)6rrceZdZdZdZdZdZdZdZe	je	jddZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZy)TestNormalDistc|jjdd}|jt5t	|ddd|jt
|jdy#1swY/xYw)Nrr)_mu_sigma)rZ
NormalDistr6rvarsrEr	__slots__rInds  r
test_slotszTestNormalDist.test_slotsI
s\
[[
#
#C
,


y
)	H	r||,.?@		sA,,A5c|jjdd}|j|jd|j|jd|j|j
d|jj}|j|jd|j|jd|j|j
d|j
|jj5|jjdddddGdd|jj}|d	d
}|jt||y#1swYMxYw)Nrrzi!rr
iceZdZy)GTestNormalDist.test_instantiation_and_attributes.<locals>.NewNormalDistNr6r:rr
NewNormalDistr	`
rrr
rr)	rZrrErrIr	r6rtr)rIrr
nnds    r!test_instantiation_and_attributesz0TestNormalDist.test_instantiation_and_attributesO
s
[[
#
#C
,#&2&e,[[
#
#
%!$1%d+

t{{::
;	-KK""3,	-	DKK22	C#cM2	-	-sE--E6c|jj}gd}|j|j||dd|j|jt	||dd|j|jt||dd|j
|jj5|jgddd|j
|jj5|jdgdddGdd|}|j|}|jt||y#1swYxYw#1swYMxYw)N)`rZrnr|rrceZdZy)BTestNormalDist.test_alternative_constructor.<locals>.NewNormalDistNr6r:rrr
ru
rrr
)	rZrrEfrom_samplesrr?r6rtr)rIrrr
rs     rtest_alternative_constructorz+TestNormalDist.test_alternative_constructore
s,[[++
%006
2q8IJ00t=z"a?PQ00d<jQ>OP


t{{::
;	(##B'	(


t{{::
;	*##RD)	*	J	((.cM2	(	(	*	*s
E	E(E%(E1c|jj}d\}}|||}d}|j|}|jt	|||jtt
t|th|jj|}|j||dzz
|cxkxr||dzzkncd}|j|d}|j|d}	|j|d}
|j|d}|j||
|j|	||j||	y)N)r4rr&rrzhappiness and joy)rWztrouble and despair)rZrsamplesrErarrrrrrre)rIrrsigmarrrrdata1data2data3data4s            rtest_sample_generationz%TestNormalDist.test_sample_generationz
s&[[++
	Er5!yy|TA&St_-w7{{%U1W<U1W<=
		!"5	6		!"7	8		!"5	6		!"7	8&&E5)rc	|jj}|dd}|j|jd|jd|j|jd|jdt	dD]8}|j|jd|z
|jd|z:d}t	ddD]N}|j
||z|j
|z
|z}|j|j||d	
P|}tgdD]R\}}|j|j|dz|d	
|j|j|dz|d	
T|dd
}	|j|jj5|	jdddd|j|jtdd|j|jtdd|jtj|jtdy#1swYxYw)Nrr|r|rrgP?rr6rra)2+ݓ?rrggDio?g?gV}b?gQ|?gFx?ggs?g٬\m?g rh?gK7A`?g|гY?gQ?gQI?gsh|??g=yX5?g|a2U0*?gQ?gN@?g/$?g~k	?g]C?gw/?g~:p?g>W[?gM
O?gW[?g鷯?g{Gz?g
qh?g|a2U?gK7A?gvq
-?gjt?gc]F?g\C?gףp=
?g?ga2U0*?gy):?g(y?gN@a?gfc]F?g"lxz,?gOn?g37?gec]?gn?gT?rr-Infrsrr)rZr
assertLesspdfrrMcdfrdr6rtrErrrr)
rIrrrgdxrest_pdfZpxYs
          rtest_pdfzTestNormalDist.test_pdf
s[[++
sBb	155:.c
AEE#J/r	CA""155q>155q>B	Cr3	@AuuQV}quuQx/25G""1558WQ"?	@
L 

	DEAr
""155U#3R"B""155!e#4b"C
	D
sA


t{{::
;	
EE"I		
uV}-s3uU|,c2

155u#678		s<I''I0c	|jj}|dd}tddDcgc]}|j|}}|j	tt
t|th|j	|t||j	|jdd|}dD]O\}}|j|j||d|j|j|d	|z
dQ|dd
}|j|jj5|jdddd|j	|jtdd
|j	|jtdd	|jtj|jtdycc}w#1swYxYw)Nrr|r
rr))rsr)rgqZ ?)rgE_A?)gQ?gGɫs?)g(\?g؞Y?)gQ?g9#?)gHzG?g&S?)rgMbX9?)gQ?gT㥛 ?)g?g??)gffffff@g_xZ?)gQ@g#0?)g)\(@gu<f2?)gףp=
@gVe?)gHzG@g9?rrarrrrrsrr)rZrrr"rErrrrrErMr6rtrrr)	rIrrrcdfsr%zcum_probr's	         rtest_cdfzTestNormalDist.test_cdf
s[[++
sB"'3-0Qa00St_-w7vd|,sT*
L	HKAx
""1558Xa"@""155!9cHnQ"G	H
sA


t{{::
;	
EE"I		
uV}-s3uU|,c2

155u#67831(		sG&;G++G4r'c	8|jj}|dd}|j|jd|j|}dddd}|jD]o\}}t
|d	D]Z\}}|d
|zz}	|j|j|	|dd
|	z
}	|j|j|	|d\q|j|ddjddd}
td|
D]7}	|	|
z}	|j|j|j|	|	9tddD]m}d|z}	|j|j|j|	|	d
|	z
}	|j|j|j|	|	otdD]4}|j|j|j||d6|j|jj5|jdddd|j|jj5|jdddd|j|jj5|jd
ddd|j|jj5|jdddd|dd}|j|jdd|jtj|jtdy#1swY.xYw#1swYxYw#1swYxYw#1swYxYw)Nrr|r)
rsgRQ?gS㥛@gS
@gT㥛 @g^I@g rh@g+N@gC@gV-o@)
g rh?g\(\?g~jt@g+@gMbX9@g(\B@gv@g@gSc@gK7A@)
gPn?gS㥛@gQ@gn
@g(\@gPn@g@g r@gˡE@glq@)rrGrr
)startrrrarrrg>?gE@i3r)rrrsrg?rr)rZrrEinv_cdfritemsrdrMrr"r6rtrrrr)rIriqr%ppr'rowrrrrrhs            rtest_inv_cdfzTestNormalDist.test_inv_cdf
s,[[++
R
 D)2773

L777	8	BID##Cq1
BQ4SD>)&&		!}a&B!G&&qyy|Qq&A	
B	B	
z"c2::8DiP
q!	=A
FA""266"**Q-#8!<	=q"	=AA""266"**Q-#8!<aA""266"**Q-#8!<		=s	GA""2::bffQi#8!A"F	G

t{{::
;	JJsO	


t{{::
;	JJt	


t{{::
;	JJsO	


t{{::
;	JJsO	Q
C#.	


199U5\#:;<								s0-M+,M8+N*N+M58NN
Nc
|jj}dgfddgfdddgfdgdffD]B\}}|j|	}|jt	d
t||DDy)Nr
rrsrgǘۿgǘ?r)g/$rsg/$?rc3RK|]\}}tj||d!yw)r)abs_tolNrrs   rrz0TestNormalDist.test_quantiles.<locals>.<genexpr>"s, ? $1!%Q6 B B ?s%')rZrrrrre)rIr%rr&r%s     rtest_quantileszTestNormalDist.test_quantilessKK""$
G
J
&!"
&'		@KAx[[1[%FOOC ?(+Hf(= ??
@	@rcx|jj}|dd|dddf|dd|dddffD]L\}}}|j|j||d|j|j||dNdd	d
d}|dd|ddf|dd|ddf|dd|ddf|dd|d
df|dd|ddf|dd|ddf|dd|ddf|dd|ddf|dd|ddf|dd|ddf|dd|ddf|dd|ddf|dd|ddf|dd|ddffD]Y\}}|j|j||||d	|j|j||||d	[|}|j	t
5|jddd|j	t
5|j||ddd|j	t
5|jdddd|j	|jj5|j|ddddd|j	|jj5|ddj|dddy#1swYxYw#1swYxYw#1swYxYw#1swYtxYw#1swYyxYw)Nrsr)rgɎ@?gM-[닄?rrai r)stepsr+c	tj}|j|jzdz}|t|j|jz}||z
}d|z|z}t|D	cgc]
}	||	|zz}
}	t
t|j|
}t
t|j|
}t||||}
|tt|||
zScc}	w)Nr))
rrrr#rIrrrr!r)rr'r<r+rcenterwidthr/r#rgx_arrxpyprs              roverlap_numericz4TestNormalDist.test_overlap.<locals>.overlap_numeric1s>99Dffqvvo,FAGGQWW--EUNEuu$B+0<8aUQrT\8E8c!%%'(Bc!%%'(BR$r(+ECR()E11	9s+C,rrrrr|rrirrrgjt?g~jth?gjt?ga2U0*3?gMbX?r
r)rZrrMoverlapr6rrt)rIrX1X2published_resultrCrs       rtest_overlapzTestNormalDist.test_overlap%s[[[++
C%z#s';WEC%z#s';WE)	O$B$
""2::b>3CA"N""2::b>3CA"N	O,1A	2C%z#s';<C%z#s';<C%z#s';<B"Jr3$78C$jb&9:D"%z#r':;D"%z$';<C$jb&9:C$jb&9:C$jb&9:C$jb&9:E5):eU+CDE5):eV+DEE5):eU+CD)	VFB,
""2::b>?2r3JST"U""2::b>?2r3JST"U/	V4
L


y
)	
IIK	


y
)	
IIaO	


y
)	
IIdO	


t{{::
;	(
IIjA&'	(


t{{::
;	(q!$$Q'	(	(							(	(	(	(s<;L)LLL$L0L	LL!$L-0L9c|jj}|dd}|j|jdd|j|jdd|j|jdd|j	t
5|jddd|j	t
5|jddddd|j	t
5|jdddd|j	|jj5|dd	jddddy#1swYxYw#1swYxYw#1swYhxYw#1swYyxYw)
Nrr|gffffff@rgffffffrsr
r)rZrrEzscorer6rrt)rIrrs   rtest_zscorezTestNormalDist.test_zscoreds6[[++
sB#,"t,#,


y
)	
HHJ	


y
)	
HHQN	


y
)	
HHTN	


t{{::
;	)q!##C(	)	)
							)	)s0EE#6E/5E;E #E,/E8;FcT|jjdd}|j|jd|j|jd|j|j
d|j|jd|j|jdy)Nrr|)rZrrErr@rrIr	)rIrs  rtest_propertieszTestNormalDist.test_propertiesss|KK""3+%3'%"%S)rc|jj}|dd}|dd}|j||z|dd|j||z
|ddy)Nrrrrrr)rZrrErIrrr's    r'test_same_type_addition_and_subtractionz6TestNormalDist.test_same_type_addition_and_subtraction{s_[[++
sBr1Q
3 34Q
2r 23rc|jj}|dd}d}|j||dd|j||dd|j||z|dd|j||z|dd|j||z
|dd|j||z
|dd|j||z|dd	|j||z|dd	|j||z|dd
|jt5||zdddy#1swYyxYw)Nrr|rrrrir&rDr)rZrrEr6r)rIrrr.s    rtest_translation_and_scalingz+TestNormalDist.test_translation_and_scalings;[[++
sB!ZR01!Zb12Q
3 34Q
3 34Q
2r 23Q
3 34Q
4 56Q
4 56Q
2s 34


y
)	
E			s/D>>Ec|jj}|dd}|}|j|||j|j|j|j|j
|j
|}|j|||j|j|j|j|j
|j
y)Nrr)rZrassertIsNotrErrIrSs    rtest_unary_operationsz$TestNormalDist.test_unary_operationss[[++
sB
BA(!''*
BA!&&)!''*rc|jj}|}|dd}|}|dd}|dd}|dd}|j|||j|||j|||j|||j||Gdd}|}	|j|j	|	t
|j||	k(d|j|	|k(dGdd|}
|
d	d
d}|d	d
}|j||Gdd
}|d	d
}
|d	d
}|j||
y)NrrrceZdZdZy)'TestNormalDist.test_equality.<locals>.AcyrCr:)rIr*s  r__eq__z.TestNormalDist.test_equality.<locals>.A.__eq__srN)r7r8r9r^r:rrrr\s
rrrceZdZfdZxZS)5TestNormalDist.test_equality.<locals>.SizedNormalDistc4t|||||_yrU)r__init__r)rIrrrr
s    rrbz>TestNormalDist.test_equality.<locals>.SizedNormalDist.__init__s U+r)r7r8r9rbrrs@rSizedNormalDistr`s


rrcrr|9ceZdZdZy)3TestNormalDist.test_equality.<locals>.LognormalDistc ||_||_yrU)rr)rIrrs   rrbz<TestNormalDist.test_equality.<locals>.LognormalDist.__init__s"
rN)r7r8r9rbr:rr
LognormalDistrfs
#rrh)rZrrerEr^NotImplemented)rIrnd1nd2nd3nd4nd5nd6rrrcsrhlndrs               r
test_equalityzTestNormalDist.test_equalitys^[[++
lAlAAAC%c"c"C%C%		
CA72&c2&	j	
CR(b!C 
	#	#C$
R
 B$rc|jjdd}tj|}|j||tj|}|j||y)NB@@)rZrcopyrEdeepcopy)rIrrjrks    r	test_copyzTestNormalDist.test_copysS
[[
#
#D%
0iimS!mmBS!rcD|jjdd}ttjdzD]Y}|j|5tjtj||}|j||ddd[y#1swYfxYw)Nrtrur
)proto)protocol)	rZrrpickleHIGHEST_PROTOCOLrloadsdumpsrE)rIrrzpickleds    rtest_picklezTestNormalDist.test_pickles
[[
#
#D%
0622Q67	.EE*
. ,,v||B'GH  W-
.
.	.
.
.s=BB	c|jj}|dd|dd|dd|dd|ddh}|jt|dy)Nrr|rg.@rrr)rZrrEra)rINDrps   rtest_hashabilityzTestNormalDist.test_hashabilitysS
[[
#
#
R["UD/2c2;2r
BsBKPQ#rcr|jjdd}|jt|dy)Nrtruz NormalDist(mu=37.5, sigma=5.625))rZrrEreprrs  r	test_reprzTestNormalDist.test_reprs-
[[
#
#D%
0b#EFrN)r7r8r9rrrrr(r-rskip_if_pgo_taskrEr6r:rIrMrPrTrVrYrrrxrrrr:rrrr@
sA3,3**,%9N9<
Wu%?=&?=B@=(~
)*4 
+*%X".$
GrrceZdZeZdZdZy)TestNormalDistPythonc>|jtjd<yrCrZrnmodulesrus rrzTestNormalDistPython.setUp$(KKL!rc2ttjd<yrCr;rnrrus rtearDownzTestNormalDistPython.tearDown$.L!rN)r7r8r9rGrZrrr:rrrrs
F0/rrrLceZdZeZdZdZy)TestNormalDistCc>|jtjd<yrCrrus rrzTestNormalDistC.setUprrc2ttjd<yrCrrus rrzTestNormalDistC.tearDownrrN)r7r8r9rNrZrrr:rrrrs
F0/rrcN	|jtj|SrU)addTestsrfDocTestSuite)loadertestsignores   r
load_testsrs0	NN7'')*Lr__main__)rgHz>)UrrrVcollections.abcrvrrfr"rr|rrnrPtestrtest.supportrrrrrr;rrr*r3r5import_fresh_modulerGrNrDr@rSrqrxrrrr$r3r;rTrcrrryrrrrr&r9rvrrrrrrrr=rXr\rgrnrrrrrrrr rGrPrqrrrrrrQrrr7mainr:rr<module>rs_



9
3>
 2)t$	$	V2
11,;H/K
0}008EH
U(##
UXFh''XF~)x  );Jh//;J|=B8,,=B@,X..,>tEX..tEnKh//K8	GH--	G"%(++%ZC(##C,$x  $
(++
=8X&&=8@1)**1)h68$$6&a9""a9H;-(##;-|&(##&<`/`/F'.'.T	#)+>	#7Fo7Ft
?_
?;K;K@9(9(]>.A]>@v(6Iv(r65,65r
*=
4J 3464Z!446u@
u@p:,.A:,z,H%%,A1!!A1L?:.?:D)-&9L)-X,-%8K,-\7#_7"_kh''_kD9"O9(fM))fMRa+H%%a+H3h//3>&N8#4#4&NP%68,,%6N_G_GJ
/8,,n/\#9:/h''/;/zHMMOr