+
    Bi
                    b   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ RItRRut t] ],           Ry8H  tR tR	 tR
 tRzR lt ! R R4      t]P:                  ! RR.R7      t]P:                  ! RR.R7      t ! R R]P@                  4      t! ! R R]P@                  4      t" ! R R]P@                  4      t# ! R R]P@                  4      t$ ! R R]P@                  4      t% ! R R]P@                  4      t& ! R R]P@                  4      t' ! R  R!]P@                  4      t( ! R" R#]P@                  4      t) ! R$ R%]P@                  4      t* ! R& R']P@                  4      t+ ! R( R)]P@                  4      t, ! R* R+]P@                  4      t- ! R, R-]P@                  4      t. ! R. R/]P@                  4      t/ ! R0 R1]P@                  4      t0 ! R2 R3]P@                  4      t1 ! R4 R5]P@                  4      t2 ! R6 R74      t3 ! R8 R94      t4 ! R: R;]3]44      t5 ! R< R=]"4      t6 ! R> R?]"4      t7 ! R@ RA]"4      t8 ! RB RC]34      t9 ! RD RE]"]9]44      t: ! RF RG]"]9]44      t; ! RH RI]"]94      t< ! RJ RK]"]44      t= ! RL RM]<]44      t> ! RN RO]<]44      t? ! RP RQ]<4      t@ ! RR RS]"]9]44      tA ! RT RU]P@                  4      tB ! RV RW]P@                  4      tC ! RX RY]34      tD ! RZ R[]D]"]44      tE ! R\ R]]D]"]44      tF ! R^ R_]D]"4      tG ! R` Ra]P@                  4      tH ! Rb Rc]D]"4      tI ! Rd Re]P@                  4      tJ ! Rf Rg]P@                  4      tK ! Rh Ri]P@                  4      tL ! Rj Rk]P@                  4      tM ! Rl Rm]P@                  4      tN ! Rn Ro]P@                  4      tO ! Rp Rq4      tP ! Rr Rs]P@                  ]P4      tQ]P                  ! ]Rt4       ! Ru Rv]P@                  ]P4      4       tSRw tT]URx8X  d   ]P                  ! 4        R# R# ){z_Test suite for statistics module, including helper NumericTestCase and
approx_equal function.

N)support)import_helperrequires_IEEE_754)DecimalFractiong 7yACg):@c                 0    \         P                  ! ^V 4      # )   )mathcopysignxs   &+/usr/lib/python3.14/test/test_statistics.pysignr   %   s    ==A    c                 H   \        V 4      \        V4      Jd   R # \        V \        4      '       d5   \        P                  ! V 4      ;'       d    \        P                  ! V4      # V P                  4       ^,          pVP                  4       ^,          pW#8H  ;'       d    VR9   # )F)nN)type
isinstancefloatr
   isnanas_tuple)abaexpbexps   &&  r   
_nan_equalr   )   su    , Awd1g!Uzz!}..A.::<?D::<?DL22tz12r   c                     \        \        V 4      \        V4      4      p\        W,
          4      pV'       d	   W2,          M
\        R 4      pW43# )inf)maxabsr   )actualexpectedbaseabs_errrel_errs   &&   r   _calc_errorsr'   H   s=     s6{CM*D&#$G"gleGr   c           
         V^ 8  g   V^ 8  d   \        R4      h\        P                  ! V 4      '       g   \        P                  ! V4      '       d   R# W8X  d   R# \        P                  ! V 4      '       g   \        P                  ! V4      '       d   R# \	        W,
          4      p\        W#\        \	        V 4      \	        V4      4      ,          4      pWE8*  # )    z%error tolerances must be non-negativeFT)
ValueErrorr
   r   isinfr!   r    )r   ytolrelactual_errorallowed_errors   &&&&  r   approx_equalr1   X   s    D Qw#'@AAzz!}}

1vzz!}}

1 qu:LSVSV!445M((r   c                       ] tR t^tRtR# )
_DoNothing N__name__
__module____qualname____firstlineno____static_attributes__r4   r   r   r3   r3      s    H 	r   r3   
statistics_statistics)blocked)freshc                   ^   a  ] tR t^t o R.tR t]P                  ! ]R4      R 4       t	Rt
V tR# )TestModules_normal_dist_inv_cdfc                    V P                    F-  pV P                  \        \        V4      P                  R 4       K/  	  R# r;   N)
func_namesassertEqualgetattrpy_statisticsr7   selffnames   & r   test_py_functionsTestModules.test_py_functions   s-    __EW]E:EE|T %r   requires _statisticsc                    V P                    F-  pV P                  \        \        V4      P                  R 4       K/  	  R# )r<   N)rD   rE   rF   c_statisticsr7   rH   s   & r   test_c_functionsTestModules.test_c_functions   s-    __EW\59DDmT %r   r4   N)r6   r7   r8   r9   rD   rK   unittest
skipUnlessrO   rP   r:   __classdictcell____classdict__s   @r   r@   r@      s7     ()JU '=>U ?Ur   r@   c                   R   a  ] tR t^t o ^ ;ttRR ltR tRR lt]	R 4       t
RtV tR# )	NumericTestCaseNc                4   Vf   V P                   pVf   V P                  p\        V\        P                  P
                  4      '       d8   \        V\        P                  P
                  4      '       d   V P                  pMV P                  pV! WW4V4       R # N)r-   r.   r   collectionsabcSequence_check_approx_seq_check_approx_num)rI   firstsecondr-   r.   msgchecks   &&&&&& r   assertApproxEqual!NumericTestCase.assertApproxEqual   sp    > ;((C;((C5+//":":;;6;??#;#;<<**E**EeSs+r   c           	        \        V4      \        V4      8w  d@   R \        V4      \        V4      3,          pV P                  WV4      pV P                  V4      h\        \	        W4      4       F  w  pw  rV P                  WW4WW4       K  	  R# )z0sequences differ in length: %d items != %d itemsN)len_formatMessagefailureException	enumeratezipr_   )
rI   r`   ra   r-   r.   rb   standardMsgir   es
   &&&&&&    r   r^   !NumericTestCase._check_approx_seq  s~    u:V$Bu:s6{+,  %%c7C'',,!#e"45HAu""13: 6r   c                    \        WW44      '       d   R # V P                  WW4V4      pV P                  WW4      pV P                  V4      hrZ   )r1   _make_std_err_msgrh   ri   )rI   r`   ra   r-   r.   rb   idxrl   s   &&&&&&& r   r_   !NumericTestCase._check_approx_num  sG    s00,,UCcJ!!#3##C((r   c                b    R pVe   RV,          pWe,           p\        W4      w  rxWPWW7V3,          # )zk  %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`   ra   r-   r.   rr   templateheaderr%   r&   s	   &&&&&    r   rq   !NumericTestCase._make_std_err_msg  sD    
' 	 ?DsJF(H'6&sWEEEr   r4   )NNNrZ   )r6   r7   r8   r9   r-   r.   rd   r^   r_   staticmethodrq   r:   rT   rU   s   @r   rX   rX      s6      MC#*,X	;) F Fr   rX   c                   &   a  ] tR tRt o R tRtV tR# )TestSigni/  c                r    V P                  \        R 4      ^4       V P                  \        R4      R4       R# )        N       )rE   r   rI   s   &r   
testZeroesTestSign.testZeroes1  s*    cB'dR(r   r4   N)r6   r7   r8   r9   r   r:   rT   rU   s   @r   rz   rz   /  s     ) )r   rz   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )ApproxEqualSymmetryTesti9  c                    R RR\        R4      \        ^^64      .pRRR\        R4      \        ^^64      .p\        W4       F  w  r4V P                  W44       K  	  R# )	i	  gfffffB@z2.54i	  gB@z2.59Ngfffff(gR()r   r   rk   do_relative_symmetry)rI   args1args2r   r   s   &    r   test_relative_symmetry.ApproxEqualSymmetryTest.test_relative_symmetry<  sY     tVWV_hr26FGtVWV_hr26FG%DA%%a+ &r   c           	        \        W4      \        W4      r!W!,
          p\        W1,          4      \        W2,          4      rTWE,           ^,          pV P                  \	        W^ VR7      4       V P                  \	        W!^ VR7      4       R# )   r-   r.   N)minr    r!   
assertTruer1   )rI   r   r   deltarel_err1rel_err2r.   s   &&&    r   r   ,ApproxEqualSymmetryTest.do_relative_symmetryL  sd    1y#a)1 \3uw<("A% 	Qqc:;Qqc:;r   c           	     v   . ROp^pV EF+  p\         \        \        \        3 EF  pV! V4      ^d,          pWR,           p\	        V\        WV4      ,          4      pV P                  WVW'R7       V P                  WVV^,           ^V,          R7       V P                  WVV^,
          V^,          R7       V P                  WVW'^,          R7       V P                  WVV^,
          VR7       V P                  WVV^,
          ^V,          R7       V P                  WU^ ^ R7       V P                  WV^ ^ R7       EK  	  EK.  	  R# )   r   N)i   k   im )intr   r   r   r!   r    do_symmetry_test)rI   argsr   r   type_r   r,   rs   &       r   test_symmetry%ApproxEqualSymmetryTest.test_symmetryX  s   'Augx8!HSLIc!i( %%a%=%%aaQqS%A%%aaQqS%A%%aQ3%?%%aaQ%?%%aaQqS%A%%aq%9%%aq%9# 9 r   c           
         R p\        WW44      p\        W!W44      pV P                  WgVP                  WW434      4       R# )z+approx_equal comparisons don't match for %rN)r1   rE   format)rI   r   r   r-   r.   ru   flag1flag2s   &&&&&   r   r   (ApproxEqualSymmetryTest.do_symmetry_testp  s=    @Q3,Q3,xc7G'HIr   r4   N)
r6   r7   r8   r9   r   r   r   r   r:   rT   rU   s   @r   r   r   9  s      , 
<:0J Jr   r   c                   V   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )ApproxEqualExactTestiw  c                    \        WW#R 7      pV P                  VRV,          4       \        V) V) W#R 7      pV P                  VRV) ,          4       R# )r   zequality failure for x=%rN)r1   r   )rI   r   r-   r.   results   &&&& r   do_exactly_equal_test*ApproxEqualExactTest.do_exactly_equal_test}  sJ    a5 ;a ?@qb1"#7 ;qb @Ar   c                >    R F  pV P                  V^ ^ 4       K  	  R# )*   N)r   iM  i~:     i  iU
 i  r   rI   r   s   & r   test_exactly_equal_ints,ApproxEqualExactTest.test_exactly_equal_ints  s    =A&&q!Q/ >r   c                >    R F  pV P                  V^ ^ 4       K  	  R# )zG?N)r   g/$?ge@g      7@g     pf@g!rhQ@gB`"KB@r   rI   r   s   & r   test_exactly_equal_floats.ApproxEqualExactTest.test_exactly_equal_floats  s    EA&&q!Q/ Fr   c           	         \         pV! ^^4      V! ^ 4      V! ^^4      V! ^	^4      V! ^#^$4      V! ^^4      3 F  pV P                  V^ ^ 4       K  	  R# r	   N)r   r   rI   Ffs   &  r   test_exactly_equal_fractions1ApproxEqualExactTest.test_exactly_equal_fractions  sS    Aq'1Q41a!Aq'1R9a1gFA&&q!Q/ Gr   c                z    \         p\        VR P                  4       4       F  pV P                  V^ ^ 4       K  	  R# )z8.2 31.274 912.04 16.745 1.2047N)r   mapsplitr   )rI   Dds   &  r   test_exactly_equal_decimals0ApproxEqualExactTest.test_exactly_equal_decimals  s5    Q9??ABA&&q!Q/ Cr   c                    R FO  pV P                  VR^ 4       V P                  V^
,          R^ 4       \        VR4      pV P                  VR^ 4       KQ  	  R# )   {Gz?i  N)r   i  i\  i  i     )r   r   )rI   r   r   s   &  r   test_exactly_equal_absolute0ApproxEqualExactTest.test_exactly_equal_absolute  sR    /A&&q$2&&qtT15D!A&&q$2 0r   c                    V P                  \        R 4      \        R4      ^ 4       V P                  \        R4      ) \        R4      ^ 4       R# )z3.5710.01z81.3971N)r   r   r   s   &r   $test_exactly_equal_absolute_decimals9ApproxEqualExactTest.test_exactly_equal_absolute_decimals  s;    ""77#3WV_aH""GI$6#6Kr   c                    R RR\        ^^4      3 F  pV P                  V^ R4       K  	  V P                  \        R4      ^ \        R4      4       R# )i   g33333SY@r   z11.68r   NgzGr   r   r   r   s   & r   test_exactly_equal_relative0ApproxEqualExactTest.test_exactly_equal_relative  sH    x!R9A&&q!T2 :""77#3QHr   c                    R RR\        ^^4      3 F  pV P                  VRR4       K  	  \        pV P                  V! R4      V! R4      V! R4      4       R# )	i9  gˡE0@皙?r   z7.2z0.1r   Ng\(hr   )rI   r   r   s   &  r   test_exactly_equal_both,ApproxEqualExactTest.test_exactly_equal_both  sP    (1a.9A&&q#t4 :""1U8QuXqyAr   r4   N)r6   r7   r8   r9   r   r   r   r   r   r   r   r   r   r:   rT   rU   s   @r   r   r   w  s<     B0
0
00	3L
IB Br   r   c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	ApproxEqualUnequalTesti  c                x    W) 3 F1  p\        W"^,           ^ ^ R7      pV P                  VRV,          4       K3  	  R# )r	   r   zinequality failure for x=%rN)r1   assertFalse)rI   r   r   r   s   &&  r   do_exactly_unequal_test.ApproxEqualUnequalTest.do_exactly_unequal_test  s8    RA!!qSaQ7FV%BQ%FG r   c                :    R F  pV P                  V4       K  	  R# )  N)r   i i  i  iXC  r   r   s   & r   test_exactly_unequal_ints0ApproxEqualUnequalTest.test_exactly_unequal_ints  s    /A((+ 0r   c                :    R F  pV P                  V4       K  	  R# )Q#@N)r   g[@gfffffG@gףp=
W"@g=
ףp=1@r   r   s   & r   test_exactly_unequal_floats2ApproxEqualUnequalTest.test_exactly_unequal_floats  s    3A((+ 4r   c                    \         pV! ^^4      V! ^^	4      V! ^^4      V! ^eR4      3 F  pV P                  V4       K  	  R# )r	   iς N)r   r   r   s   &  r   test_exactly_unequal_fractions5ApproxEqualUnequalTest.test_exactly_unequal_fractions  s@    Aq'1Q7Ab"Iqe}=A((+ >r   c                r    \        \        R P                  4       4       F  pV P                  V4       K  	  R# )z!3.1415 298.12 3.47 18.996 0.00245N)r   r   r   r   rI   r   s   & r   test_exactly_unequal_decimals4ApproxEqualUnequalTest.test_exactly_unequal_decimals  s,    WAGGIJA((+ Kr   r4   N)r6   r7   r8   r9   r   r   r   r   r   r:   rT   rU   s   @r   r   r     s$     H
,
,
,, ,r   r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tRtV tR# )ApproxEqualInexactTesti  c           
         R pW,           W,
          3 F^  pVP                  W4      pV P                  \        W^V,          ^ R7      V4       V P                  \        WV^,          ^ R7      V4       K`  	  R# zTest failure for x={!r}, y={!r}r   Nr   r   r1   r   rI   r   r   ru   r,   rb   s   &&&   r   do_approx_equal_abs_test/ApproxEqualInexactTest.do_approx_equal_abs_test  s`    4)QY'A//!'COOL1U7BCH\!E!GCSI (r   c                `    R F'  pV P                  V^
4       V P                  V^4       K)  	  R# )i)  N)iiIir   r)   r	   	   %   i  i&  i6jr   r   s   & r   test_approx_equal_absolute_ints6ApproxEqualInexactTest.test_approx_equal_absolute_ints  s-    JA))!R0))!Q/ Kr   c                    R F9  pV P                  VR4       V P                  VR4       V P                  VR4       K;  	  R# )gtq@      ?r   -C6?N)	gtqgfffffFXg333333g333333      ?      ?333333@gQ@gҭ@r   r   s   & r   !test_approx_equal_absolute_floats8ApproxEqualInexactTest.test_approx_equal_absolute_floats  s=    LA))!S1))!T2))!V4 Mr   c                    \        ^^4      p. ROpR V 4        F/  pV P                  W14       V P                  V\        V4      4       K1  	  R# )r	   c              3   :   "   T F  p\        V^4      x  K  	  R# 5i)   Nr   ).0r   s   & r   	<genexpr>NApproxEqualInexactTest.test_approx_equal_absolute_fractions.<locals>.<genexpr>  s     6:a(1b//:s   N)ir   r~   r)   r	   r      r   "   G   )r   r   r   )rI   r   
numeratorsr   s   &   r   $test_approx_equal_absolute_fractions;ApproxEqualInexactTest.test_approx_equal_absolute_fractions  sC    B@
6:6A))!3))!U5\: 7r   c                    \        R 4      p\        \         RP                  4       4       F'  pV P                  W!4       V P                  V) V4       K)  	  R# )r   z1.0 3.5 36.08 61.79 7912.3648N)r   r   r   r   )rI   r   r   s   &  r   #test_approx_equal_absolute_decimals:ApproxEqualInexactTest.test_approx_equal_absolute_decimals  sG    W=CCEFA))!3))1"e4 Gr   c           	     B    V P                  \        R RR^ R7      4       R# )gh㈵>r   r   Ngh㈵)r   r1   r   s   &r   test_cross_zero&ApproxEqualInexactTest.test_cross_zero  s    T5dBCr   c           
        R pV^V,           ,          V^V,
          ,          3 F^  pVP                  W4      pV P                  \        W^ ^V,          R7      V4       V P                  \        W^ V^,          R7      V4       K`  	  R# r   r   r   s   &&&   r   do_approx_equal_rel_test/ApproxEqualInexactTest.do_approx_equal_rel_test  sl    4QuW+q!E'{+A//!'COOL1!E'BCH\!A57CSI ,r   c           	     2   V P                  \        ^@^/^ RR7      4       V P                  \        ^@^/^ RR7      4       V P                  \        RR^ RR7      4       V P                  \        RR^ RR7      4       V P                  \        RR^ RR7      4       R	# )
@   g
ףp=
?r   gGz?i  i         ?i  i  N)r   r1   r   r   s   &r   test_approx_equal_relative_ints6ApproxEqualInexactTest.test_approx_equal_relative_ints  sw    R=>R=>S#1%@AS#1%@Ac3A5ABr   c                `    R F'  pV P                  VR4       V P                  VR4       K)  	  R# )g{GJf@{Gz?r   N)g{GJf皙r   r   g\(|B@gʡE>@gx@)r  r   s   & r   !test_approx_equal_relative_floats8ApproxEqualInexactTest.test_approx_equal_relative_floats  s-    EA))!T2))!V4 Fr   c                    \         p\        ^^4      pV! ^^T4      V! ^^4      V! ^1^24      V! ^\^U4      3 F;  pV\        V4      3 F'  pV P                  W44       V P                  V) V4       K)  	  K=  	  R# )   N)r   r   r  )rI   r   r   r   r   s   &    r   $test_approx_equal_relative_fractions;ApproxEqualInexactTest.test_approx_equal_relative_fractions  sp    AAr(Ab"IqRy!B)<AU5\*--a3--qb!4 + =r   c                    \        \        R P                  4       4       F:  pV P                  V\        R4      4       V P                  V) \        R4      4       K<  	  R# )z$0.02 1.0 5.7 13.67 94.138 91027.93210.0010.05N)r   r   r   r  r   s   & r   #test_approx_equal_relative_decimals:ApproxEqualInexactTest.test_approx_equal_relative_decimals$  sI    WDJJLMA))!WW-=>))1"gfo> Nr   c           	     L   V'       d   V P                   MV P                  pV! \        WV^ R7      4       V'       d   V P                   MV P                  pV! \        W^ VR7      4       V'       g	   V'       d   V P                   MV P                  pV! \        WW4R7      4       R# )r)   r   N)r   r   r1   )rI   r   r   r-   r.   tol_flagrel_flagrc   s   &&&&&&& r   do_check_both$ApproxEqualInexactTest.do_check_both2  sn    #+1A1Al1Sa01#+1A1Al1QC01$,t?O?Ol1S23r   c                ^    V P                  R RRRRR4       V P                  RR	RRRR4       R# )
R@+@Mbp?W8?TMb`?g-C6*?Ng?5^Ig%Cr.  r   s   &r   test_approx_equal_both1.ApproxEqualInexactTest.test_approx_equal_both1:  s2    5%dC665&$Er   c                2    V P                  R RRRRR4       R# )r1  r2  r3  gVF?8?TFNr6  r   s   &r   test_approx_equal_both2.ApproxEqualInexactTest.test_approx_equal_both2?  s    5%eDr   c                2    V P                  R RRRRR4       R# )r1  r2  MbP?r4  FTNr6  r   s   &r   test_approx_equal_both3.ApproxEqualInexactTest.test_approx_equal_both3C  s    5%tDr   c                ^    V P                  R RRRRR4       V P                  RRRRRR4       R	# )
g=
ףp=@      @r   r=  FgQ[@g(\[@r  giUMu>Nr6  r   s   &r   test_approx_equal_both4.ApproxEqualInexactTest.test_approx_equal_both4G  s2    4tUE5A664ueDr   r4   N)r6   r7   r8   r9   r   r   r   r  r  r  r  r  r   r$  r)  r.  r7  r:  r>  rB  r:   rT   rU   s   @r   r   r     sc     J05;5DJC55?4F
EEE Er   r   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )ApproxEqualSpecialsTestiM  c           	        \         \        3 F  pV! R 4      pV P                  \        W"4      4       V P                  \        W"^ ^ 4      4       V P                  \        W"^R4      4       V P                  \        V) V) 4      4       V P	                  \        W") 4      4       V P	                  \        VR4      4       K  	  R# )r   r     N)r   r   r   r1   r   )rI   r   r   s   &  r   test_inf ApproxEqualSpecialsTest.test_infP  s    W%E,COOL23OOL1a89OOL1d;<OOL#t45\#t45\#t45 &r   c                    \         \        3 F6  pV! R 4      pW!! R4      R3 F  pV P                  \        W#4      4       K  	  K8  	  R# )nanr   rG  N)r   r   r   r1   )rI   r   rK  others   &   r   test_nan ApproxEqualSpecialsTest.test_nanZ  sB    W%E,CuU|T2  c!9: 3 &r   c           	     p    \         P                  ! R R4      pV P                  \        VR RRR7      4       R# )r|   r   r   Nr~   )r
   r   r   r1   rI   nzeros   & r   test_float_zeroes)ApproxEqualSpecialsTest.test_float_zeroes`  s)    c2&UCScBCr   c           	     j    \        R 4      pV P                  \        V\        ^ 4      RRR7      4       R# )z-0.0r   r   N)r   r   r1   rP  s   & r   test_decimal_zeroes+ApproxEqualSpecialsTest.test_decimal_zeroesd  s&    UGAJCSIJr   r4   N)
r6   r7   r8   r9   rH  rM  rR  rU  r:   rT   rU   s   @r   rE  rE  M  s!     6;DK Kr   rE  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestApproxEqualErrorsi  c                B    V P                  \        \        ^d^dRR4       R# )d   r   Nr~   assertRaisesr*   r1   r   s   &r   test_bad_tol"TestApproxEqualErrors.test_bad_toll  s    *lCb#Fr   c                B    V P                  \        \        ^d^d^R4       R# )r[  Nr  r\  r   s   &r   test_bad_rel"TestApproxEqualErrors.test_bad_relp  s    *lCaFr   r4   N)r6   r7   r8   r9   r^  ra  r:   rT   rU   s   @r   rX  rX  i  s     GG Gr   rX  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestNumericTestCaseiz  c                    \         P                  ! V!  pV P                  ! V!  pV F  pV P                  WB4       K  	  R # rZ   )rX   rq   generate_substringsassertIn)rI   r   
actual_msgr#   	substrings   &&   r   do_testTestNumericTestCase.do_test  s8    $66=
++T2!IMM)0 "r   c                N    V P                  \        \        P                  4       R # rZ   )assertIsSubclassrX   rR   TestCaser   s   &r    test_numerictestcase_is_testcase4TestNumericTestCase.test_numerictestcase_is_testcase  s    ox/@/@Ar   c                ,    RpV P                  V4       R# )      @N)rr        @r         ?Nrj  rI   r   s   & r   test_error_msg_numeric*TestNumericTestCase.test_error_msg_numeric  s    *Tr   c                ,    RpV P                  V4       R# )      @N)rz  g      @g      ?r      ru  rv  s   & r   test_error_msg_sequence+TestNumericTestCase.test_error_msg_sequence  s    )Tr   c                    \        W4      w  rgR V,          RV,          RV,          RV,          .pVe   VP                  RV,          4       V# )ztol=%rzrel=%rzabsolute error = %rzrelative error = %rzdiffer at index %d)r'   append)	rI   r`   ra   r-   r.   rr   r%   r&   
substringss	   &&&&&&   r   rf  'TestNumericTestCase.generate_substrings  sU    '633%/%/	
 ?2S89r   r4   N)r6   r7   r8   r9   rj  ro  rw  r|  rf  r:   rT   rU   s   @r   rd  rd  z  s$     1B

 r   rd  c                   8   a  ] tR tRt o ]tRR.tR tR tRt	V t
R# )GlobalsTesti  __doc____all__c                d    V P                    F  pV P                  V P                  V4       K!  	  R # rZ   )expected_metadataassertHasAttrmodule)rI   metas   & r   	test_metaGlobalsTest.test_meta  s&    **Dt{{D1 +r   c                    V P                   pVP                   F.  pV P                  VR RV,          4       V P                  W4       K0  	  R# )_zprivate name "%s" in __all__N)r  r  assertNotStartsWithr  )rI   r  names   &  r   test_check_allGlobalsTest.test_check_all  sD    NND$$T3;dBD v, #r   r4   N)r6   r7   r8   r9   r;   r  r  r  r  r:   rT   rU   s   @r   r  r    s$     F"I.2
- -r   r  c                   &   a  ] tR tRt o R tRtV tR# )StatisticsErrorTesti  c                z    V P                  \        R 4       V P                  \        P                  \        4       R# )StatisticsErrorN)r  r;   rm  r  r*   r   s   &r   test_has_exception&StatisticsErrorTest.test_has_exception  s)    :'89j88*Er   r4   N)r6   r7   r8   r9   r  r:   rT   rU   s   @r   r  r    s     F Fr   r  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )ExactRatioTesti  c                h    R F+  pV P                  \        P                  ! V4      V^34       K-  	  R# )   N)r)   r   c   l      Fx:^V )rE   r;   _exact_ratio)rI   rm   s   & r   test_intExactRatioTest.test_int  s+    ,AZ44Q7!Q@ -r   c                    RpV F7  p\        V^%4      pV P                  \        P                  ! V4      V^%34       K9  	  R# )r   N)r	      &   )r   rE   r;   r  )rI   r  r   r   s   &   r   test_fractionExactRatioTest.test_fraction  s;    $
ABAZ44Q7!RA r   c                x   V P                  \        P                  ! R 4      R4       V P                  \        P                  ! R4      R4       \        ^d4       Uu. uF  p\        P
                  ! R^d4      NK  	  ppV F3  p\        P                  ! V4      w  rEV P                  W4V,          4       K5  	  R# u upi )r        ?Nr	      )r   r  )rE   r;   r  rangerandomuniform)rI   r  datar   numdens   &     r   
test_floatExactRatioTest.test_float  s    007@007@38:>:atS):>A!..q1HCQC(  ?s    B7c                    \         p\        P                  pV P                  V! V! R 4      4      R4       V P                  V! V! R4      4      R4       V P                  V! V! R4      4      R4       R# )z0.125z12.345z-1.98Nr  )i	     )i2   )r   r;   r  rE   )rI   r   r  s   &  r   test_decimalExactRatioTest.test_decimal  s]    !..aj16:ak2K@aj19=r   c                   \        R 4      p ! R R\         4      p ! R R\        4      pW) 3 F  p\         V\        V3 F  pV! V4      p\        P                  ! V4      pV P	                  WvR34       V P	                  \        V^ ,          4      V4       V P                  \        P                  ! V^ ,          4      4       K  	  K  	  R# )INFc                       ] tR tRtRtR# )(ExactRatioTest.test_inf.<locals>.MyFloati  r4   Nr5   r4   r   r   MyFloatr        r   r  c                       ] tR tRtRtR# )*ExactRatioTest.test_inf.<locals>.MyDecimali  r4   Nr5   r4   r   r   	MyDecimalr    r  r   r  N)	r   r   r;   r  rE   r   r   r
   r+   )rI   r  r  r  r   r   r   ratios   &       r   rH  ExactRatioTest.test_inf  s    El	e 		 	;C'9=#J"//2  D	2  eAh7

58 45 > r   c                f   \        R 4      p ! R R\         4      pW! V4      3 F  p\        P                  ! V4      pV P                  \        P
                  ! V^ ,          4      4       V P                  V^,          R4       V P                  \        V^ ,          4      \        V4      4       K  	  R# )NANc                       ] tR tRtRtR# ).ExactRatioTest.test_float_nan.<locals>.MyFloati  r4   Nr5   r4   r   r   r  r    r  r   r  N)	r   r;   r  r   r
   r   assertIsrE   r   )rI   r  r  rK  r  s   &    r   test_float_nanExactRatioTest.test_float_nan  s    El	e 	&C++C0EOODJJuQx01MM%(D)T%(^T#Y7	 'r   c                v   \        R 4      p\        R4      p ! R R\         4      pW! V4      W#! V4      3 F  p\        P                  ! V4      pV P                  \	        V^ ,          V4      4       V P                  V^,          R4       V P                  \        V^ ,          4      \        V4      4       K  	  R# )r  sNANc                       ] tR tRtRtR# )2ExactRatioTest.test_decimal_nan.<locals>.MyDecimali  r4   Nr5   r4   r   r   r  r    r  r   r  N)r   r;   r  r   r   r  rE   r   )rI   r  r  r  rK  r  s   &     r   test_decimal_nanExactRatioTest.test_decimal_nan  s    env	 	3y?C++C0EOOJuQx56MM%(D)T%(^T#Y7	 @r   r4   N)r6   r7   r8   r9   r  r  r  r  rH  r  r  r:   rT   rU   s   @r   r  r    s/     AB)>68	8 	8r   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
DecimalToRatioTesti  c                    \        R 4      pV P                  \        P                  ! V4      VR34       V P                  \        P                  ! V) 4      V) R34       R# )r  N)r   rE   r;   r  )rI   r   s   & r   test_infinity DecimalToRatioTest.test_infinity  sM    en005T{C00#6#tEr   c                    \        R 4      \        R4      3 FG  p\        P                  ! V4      w  r#V P                  \	        W!4      4       V P                  VR4       KI  	  R# )r  r  N)r   r;   r  r   r   r  )rI   rK  r  r  s   &   r   rM  DecimalToRatioTest.test_nan  sL    ENGFO4C!..s3HC OOJs01MM#t$ 5r   c                6   \        R 4      \        R4      .pV F|  p\        P                  ! V4      w  r4V P                  V^ 4       V P	                  V^ 4       \        P                  ! V) 4      w  r4V P                  V^ 4       V P	                  V^ 4       K~  	  R# )z	9.8765e12z
9.8765e-12N)r   r;   r  assertGreaterEqualassertGreaterassertLessEqual)rI   numbersr   r  r  s   &    r   	test_signDecimalToRatioTest.test_sign  s    ;')>?A "..q1HC##C+sA&!..r2HC  a(sA& r   c                h    \         P                  ! \        R 4      4      pV P                  VR4       R# )z0.1234N)rY    r;   r  r   rE   rI   ts   & r   test_negative_exponent)DecimalToRatioTest.test_negative_exponent$  s'    ##GH$56K(r   c                h    \         P                  ! \        R 4      4      pV P                  VR4       R# )z1.234e7N)i K r	   r  r  s   & r   test_positive_exponent)DecimalToRatioTest.test_positive_exponent)  s'    ##GI$67M*r   c                    \         P                  ! \        R 4      4      pV P                  VR4       \         P                  ! \        R4      4      pV P                  VR4       R# )1e2z1.47e5N)r[  r	   )i8> r	   r  r  s   & r   test_regression_20536(DecimalToRatioTest.test_regression_20536.  sM     ##GEN3H%##GH$56K(r   r4   N)r6   r7   r8   r9   r  rM  r  r  r  r  r:   rT   rU   s   @r   r  r    s)     F%')
+
) )r   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )IsFiniteTesti7  c                    ^\        ^^4      R\        R4      3 F(  pV P                  \        P                  ! V4      4       K*  	  R# )r   rr  5.5N)r   r   r   r;   	_isfiniter   s   & r   test_finiteIsFiniteTest.test_finite:  s6    Xa^S'%.9AOOJ0034 :r   c                    \        R 4      \        R 4      3 F(  pV P                  \        P                  ! V4      4       K*  	  R# r   Nr   r   r   r;   r  r   s   & r   r  IsFiniteTest.test_infinity?  s2    ,/AZ11!45 0r   c                    \        R 4      \        R4      \        R4      3 F(  pV P                  \        P                  ! V4      4       K*  	  R# rK  r  r  Nr  r   s   & r   rM  IsFiniteTest.test_nanD  s9    ,@AZ11!45 Ar   r4   N)	r6   r7   r8   r9   r  r  rM  r:   rT   rU   s   @r   r  r  7  s     5
6
6 6r   r  c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )
CoerceTestiJ  c                   \         \        \        \        3 Fd  pV P	                  \
        P                  ! V\        4      V4        ! R  RV4      pV P	                  \
        P                  ! V\        4      V4       Kf  	  R# )c                       ] tR tRtRtR# )%CoerceTest.test_bool.<locals>.MyClassie  r4   Nr5   r4   r   r   MyClassr  e      dr   r  N)r   r   r   r   r  r;   _coercebool)rI   Tr  s   &  r   	test_boolCoerceTest.test_bool_  sU     uh0AMM*,,Q5q9"!"MM*,,Wd;WE 1r   c                    V P                  \        P                  ! W4      V4       V P                  \        P                  ! W!4      V4       R # rZ   )r  r;   r  rI   ABs   &&&r   assertCoerceToCoerceTest.assertCoerceToh  s4    j((.2j((.2r   c                    V P                  W4        ! R  RV4      pV P                  W24        ! R RV4      pV P                  W4       V P                  W44       R# )c                       ] tR tRtRtR# )/CoerceTest.check_coerce_to.<locals>.SubclassOfAir  r4   Nr5   r4   r   r   SubclassOfAr  r  r  r   r  c                       ] tR tRtRtR# )/CoerceTest.check_coerce_to.<locals>.SubclassOfBiu  r4   Nr5   r4   r   r   SubclassOfBr  u  r  r   r  N)r  )rI   r  r  r  r  s   &&&  r   check_coerce_toCoerceTest.check_coerce_tom  sL     	A!"!"K+"!"A+K5r   c                    V P                  \        \        P                  W34       V P                  \        \        P                  W!34       R # rZ   )r]  	TypeErrorr;   r  r
  s   &&&r   assertCoerceRaisesCoerceTest.assertCoerceRaisesy  s6    )Z%7%7!@)Z%7%7!@r   c                2   V P                  \        P                  ! W4      V4        ! R  RV4      p ! R RV4      p ! R RV4      pW#V3 F  pV P                  W4       K  	  V P                  W$4       V P	                  W#4       V P	                  W44       R# )c                       ] tR tRtRtR# )*CoerceTest.check_type_coercions.<locals>.Ui  r4   Nr5   r4   r   r   Ur        Dr   r  c                       ] tR tRtRtR# )*CoerceTest.check_type_coercions.<locals>.Vi  r4   Nr5   r4   r   r   Vr"    r   r   r#  c                       ] tR tRtRtR# )*CoerceTest.check_type_coercions.<locals>.Wi  r4   Nr5   r4   r   r   Wr%    r   r   r&  N)r  r;   r  r  r  )rI   r  r  r#  r&  typs   &&    r   check_type_coercionsCoerceTest.check_type_coercions~  s{     	j((.2!9C' A!%%r   c                    V P                  \        4       \        \        \        3 F  pV P                  \        V4       K  	  R # rZ   )r(  r   r   r   r   r  )rI   r'  s   & r   r  CoerceTest.test_int  s1    !!#&8W-C  c* .r   c                d    V P                  \        4       V P                  \        \        4       R # rZ   )r(  r   r  r   r   s   &r   r  CoerceTest.test_fraction  s     !!(+Xu-r   c                0    V P                  \        4       R # rZ   )r(  r   r   s   &r   r  CoerceTest.test_decimal  s    !!'*r   c                0    V P                  \        4       R # rZ   )r(  r   r   s   &r   r  CoerceTest.test_float  s    !!%(r   c                    \         \        \        R 4      \        \        3 F1  p\
        \        \        \        3 F  pV P                  W!4       K  	  K3  	  R # rZ   )
strlistr   tupledictr   r   r   r   r  )rI   bad_type	good_types   &  r   test_non_numeric_types!CoerceTest.test_non_numeric_types  s<    dDJt<H!5(G<	''	< = =r   c                    \         \        3 F:  p ! R  RV4      pV P                  V\        4       V P                  V\        4       K<  	  R# )c                       ] tR tRtRtR# )6CoerceTest.test_incompatible_types.<locals>.MySubclassi  r4   Nr5   r4   r   r   
MySubclassr=    s    r   r>  N)r   r   r  r   )rI   r  r>  s   &  r   test_incompatible_types"CoerceTest.test_incompatible_types  s9    "A%Q%##Aw/##J8 #r   r4   N)r6   r7   r8   r9   r  r  r  r  r(  r  r  r  r  r9  r?  r:   rT   rU   s   @r   r  r  J  sC     *F3

6A
& +.
+)=
9 9r   r  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )ConvertTesti  c                p    V P                  W4       V P                  \        V4      \        V4      4       R # rZ   )rE   r  r   rI   r   r,   s   &&&r   check_exact_equalConvertTest.check_exact_equal  s&    d1gtAw'r   c                    \         P                  ! \        ^G4      \        4      pV P	                  V^G4        ! R R\        4      p\         P                  ! \        ^4      V4      pV P	                  W! ^4      4       R# )r  c                       ] tR tRtRtR# )#ConvertTest.test_int.<locals>.MyInti  r4   Nr5   r4   r   r   MyIntrI    s    $r   rJ  N)r;   _convertr   r   rE  )rI   r   rJ  s   &  r   r  ConvertTest.test_int  sZ    c2q"%Ce4q%),r   c                   \         P                  ! \        ^_^c4      \        4      pV P                  V\        ^_^c4      4        ! R R\        4      p\         P                  ! \        ^G^4      V4      pV P                  W! ^G^4      4       R# )_   c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )-ConvertTest.test_fraction.<locals>.MyFractioni  c                @   < V P                  \        SV `	  V4      4      # rZ   	__class__super__truediv__rI   rL  rS  s   &&r   rU  9ConvertTest.test_fraction.<locals>.MyFraction.__truediv__      ~~eg&9%&@AAr   r4   r6   r7   r8   r9   rU  r:   rT   __classcell__rS  rV   s   @@r   
MyFractionrP         B Br   r\  N)r;   rK  r   rE  )rI   r   r\  s   &  r   r  ConvertTest.test_fraction  sr    R 0(;q(2r"23	B 	B R 0*=q*R"45r   c                   \         P                  ! \        R^4      \        4      pV P	                  VR4        ! R R\        4      p\         P                  ! \        ^	^4      V4      pV P	                  W! R4      4       R# )r	   c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )'ConvertTest.test_float.<locals>.MyFloati  c                @   < V P                  \        SV `	  V4      4      # rZ   rR  rV  s   &&r   rU  3ConvertTest.test_float.<locals>.MyFloat.__truediv__  rX  r   r4   rY  r[  s   @@r   r  ra    r]  r   r  r  Nr~   g      )r;   rK  r   r   rE  )rI   r   r  s   &  r   r  ConvertTest.test_float  sf    Q7q$'	Be 	B A8q'%.1r   c                   \         P                  ! \        ^^(4      \        4      pV P	                  V\        R4      4        ! R R\        4      p\         P                  ! \        R^4      V4      pV P	                  W! R4      4       R# )r	   z0.025c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )+ConvertTest.test_decimal.<locals>.MyDecimali  c                @   < V P                  \        SV `	  V4      4      # rZ   rR  rV  s   &&r   rU  7ConvertTest.test_decimal.<locals>.MyDecimal.__truediv__  rX  r   r4   rY  r[  s   @@r   r  rg    r]  r   r  z-0.9375Nr  )r;   rK  r   r   rE  )rI   r   r  s   &  r   r  ConvertTest.test_decimal  sm    B9q''"23	B 	B b 19=q)I"67r   c                    \        R 4      \        R 4      3 F?  pW) 3 F4  p\        P                  ! V\	        V4      4      pV P                  W24       K6  	  KA  	  R# r  )r   r   r;   rK  r   rE  )rI   r  r   r   s   &   r   rH  ConvertTest.test_inf  sK    %L'%.1CT{''T#Y7&&q. # 2r   c                    \        R 4      \        R4      \        R4      3 F=  p\        P                  ! V\	        V4      4      pV P                  \        W!4      4       K?  	  R# r  )r   r   r;   rK  r   r   r   )rI   rK  r   s   &  r   rM  ConvertTest.test_nan  sG    %L'%.'&/BC##Cc3AOOJq./ Cr   c                    V P                  \        4      ;_uu_ 4        \        P                  ! R \        4       R R R 4       R #   + '       g   i     R # ; irZ   )r]  r  r;   rK  r   r   s   &r   test_invalid_input_type#ConvertTest.test_invalid_input_type  s2    y))e, *)))s   AA	r4   N)r6   r7   r8   r9   rE  r  r  r  r  rH  rM  rp  r:   rT   rU   s   @r   rB  rB    s2     (
-628/0
- -r   rB  c                   2   a  ] tR tRt o R tR tR tRtV tR# )FailNegTesti  c                    ^R\        ^4      \        ^4      .p\        \        P                  ! V4      4      pV P                  W4       R# r	          @N)r   r   r4  r;   	_fail_negrE   )rI   valuesnews   &  r   test_pass_throughFailNegTest.test_pass_through  s;    S(1+wqz2:''/0%r   c                    ^R\        ^4      \        ^4      3 FB  pV) .p\        P                  ! V4      pV P	                  \        P
                  \        V4       KD  	  R# ru  )r   r   r;   rw  r]  r  next)rI   r   seqits   &   r   test_negatives_raise FailNegTest.test_negatives_raise  sN    S(1+wqz2A2$C%%c*Bj88$C 3r   c                6   R \         P                  ! RR4      ,          p \        \        P                  ! R.V4      4       V P                  R4       V P                  XV4       R#   \        P                   d   pTP                  ^ ,          p Rp?LARp?ii ; i)zbadness #%d'  i z(expected exception, but it didn't happenNr~   )	r  randintr}  r;   rw  failr  r   rE   )rI   rb   rn   errmsgs   &   r   test_error_msgFailNegTest.test_error_msg  sx    fnnUE::	B%%rdC01 II@A%	 )) 	VVAYF	s   !A& &B;BBr4   N)	r6   r7   r8   r9   rz  r  r  r:   rT   rU   s   @r   rs  rs    s     &D	& 	&r   rs  c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )UnivariateCommonMixini
  c                F    V P                  \        V P                  4       R # rZ   r]  r  funcr   s   &r   test_no_args"UnivariateCommonMixin.test_no_args  s    )TYY/r   c                    . R\        . 4      3 F.  pV P                  \        P                  V P                  V4       K0  	  R # )Nr4   )iterr]  r;   r  r  )rI   emptys   & r   test_empty_data%UnivariateCommonMixin.test_empty_data  s3    "d2h'Ej88$))UK (r   c                ~    \        \        ^
4      4      pV\        V4      8X  d   \        P                  ! V4       K(  V# 
   r4  r  sortedr  shufflerI   r  s   & r   prepare_data"UnivariateCommonMixin.prepare_data  s,    E"IfTl"NN4 r   c                ~    V P                  4       pVR ,          pV P                  V4      pV P                  WR4       R# ):NNNzdata has been modifiedN)r  r  assertListEqual)rI   r  savedr  s   &   r   test_no_inplace_modifications3UnivariateCommonMixin.test_no_inplace_modifications  s9      " QIIdOT*BCr   c                    . RO^d,          pV P                  V4      p\        P                  ! V4       V P                  V4      pV P                  W#4       R# )r	   N)r	   r   r#  r#  r#  r   r      )r  r  r  rE   )rI   r  r#   r"   s   &   r   test_order_doesnt_matter.UnivariateCommonMixin.test_order_doesnt_matter'  sB     (+99T?t4*r   c                    ! R  R\         4      p ! R R\        4      pR pV P                  4       pV P                  V4      p\         \        \        WV3 F+  pV P                  V! V4      4      pV P                  Wu4       K-  	  R# )c                       ] tR tRtRtR# )BUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyListi6  r4   Nr5   r4   r   r   MyListr  6  r  r   r  c                       ] tR tRtRtR# )CUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyTuplei8  r4   Nr5   r4   r   r   MyTupler  8  r  r   r  c                     R  V  4       # )c              3   $   "   T F  qx  K  	  R # 5irZ   r4   )r  objs   & r   r  XUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator.<locals>.<genexpr>;  s     (4CC4s   r4   r  s   &r   	generatorEUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator:  s    (4((r   N)r4  r5  r  r  r  rE   )rI   r  r  r  r  r#   kindr   s   &       r   test_type_of_data_collection2UnivariateCommonMixin.test_type_of_data_collection4  sp    	T 		e 		)  "99T?5$CDYYtDz*FV. Dr   c                    \        ^^2^4      pV P                  \        V4      4      pV P                  V P                  V4      V4       R# r  N)r  r  r4  rE   rI   r  r#   s   &  r   test_range_data%UnivariateCommonMixin.test_range_dataB  s:    RQ99T$Z(4(3r   c                    V P                  R 4       V P                  ^4       V P                  R4       V P                  \        4       4       R # )Ng      E@)check_for_type_errorobjectr   s   &r   test_bad_arg_types(UnivariateCommonMixin.test_bad_arg_typesH  s>     	!!$'!!"%!!$'!!&(+r   c                L    V P                   ! \        V P                  .VO5!   R # rZ   r  rv  s   &*r   r  *UnivariateCommonMixin.check_for_type_errorW  s    )TYY66r   c                0    ! R  R\         4      pV P                  4       pV P                  V4      p\         V\        \        3 FJ  pV Uu. uF
  qT! V4      NK  	  pp\        V4      ! V P                  V4      4      pV P                  Ws4       KL  	  R# u upi )c                   B   a a ] tR tRt oV 3R ltV 3R lt]tRtVtV ;t	# )@UnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloati^  c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   r   rT  rU  rV  s   &&r   rU  LUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__truediv___      Dz%'"5e"<==r   c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   r   rT  __add__rV  s   &&r   r  HUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__add__a      Dz%'/%"899r   r4   )
r6   r7   r8   r9   rU  r  __radd__r:   rT   rZ  r[  s   @@r   r  r  ^  s     >:HHr   r  N)r   r  r  r   r   r   rE   )rI   r  rawr#   r  r   r  r   s   &       r   test_type_of_data_element/UnivariateCommonMixin.test_type_of_data_elementZ  s}    	e 	 !99S>GWh7D%()SDGSD)(^DIIdO4FV. 8)s   
Br4   N)r6   r7   r8   r9   r  r  r  r  r  r  r  r  r  r  r:   rT   rU   s   @r   r  r  
  s>     0L
D+/4,7/ /r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )UnivariateTypeMixinim  c                D     ! R  R\         4      p\         \        \        V3# )c                      a a ] tR tRt oV 3R ltV 3R ltV 3R ltV 3R ltV 3R ltV 3R lt	]	t
V 3R lt]tR	tVtV ;t# )
HUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloatiy  c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   r  rV  s   &&r   rU  TUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__truediv__z  r  r   c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   )r   rT  __rtruediv__rV  s   &&r   r  UUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rtruediv__|  s    Dz%'"6u"=>>r   c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   )r   rT  __sub__rV  s   &&r   r  PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__sub__~  r  r   c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   )r   rT  __rsub__rV  s   &&r   r  QUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rsub__  s    Dz%'"25"9::r   c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   )r   rT  __pow__rV  s   &&r   r  PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__pow__  r  r   c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   r  rV  s   &&r   r  PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__add__  r  r   c                @   < \        V 4      ! \        SV `	  V4      4      # rZ   )r   rT  __mul__rV  s   &&r   r  PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__mul__  r  r   r4   )r6   r7   r8   r9   rU  r  r  r  r  r  r  r  __rmul__r:   rT   rZ  r[  s   @@r   r  r  y  s4     >?:;::H:HHr   r  )r   r   r   )rI   r  s   & r   #prepare_types_for_conservation_test7UnivariateTypeMixin.prepare_types_for_conservation_testw  s    	e 	" w'22r   c                    V P                  4       pV P                  4        FE  pV Uu. uF
  q2! V4      NK  	  ppV P                  V4      pV P                  \	        V4      V4       KG  	  R # u upi rZ   )r  r  r  r  r   )rI   r  r  r   r   r   s   &     r   test_types_conserved(UnivariateTypeMixin.test_types_conserved  s_       "<<>D"&'$Qa$A'YYq\FMM$v,- ?'s   A,r4   N)r6   r7   r8   r9   r  r  r:   rT   rU   s   @r   r  r  m  s     3*. .r   r  c                   &   a  ] tR tRt o R tRtV tR# )TestSumCommoni  c                    R  pWn         R# )c                  \    \         P                  ! V !  w  rp\         P                  ! W!4      # rZ   )r;   _sumr  )r   r  valuer   s   *   r   simplified_sum+TestSumCommon.setUp.<locals>.simplified_sum  s%    $//40KAa%%e//r   Nr  )rI   r  s   & r   setUpTestSumCommon.setUp  s    	0 #	r   r  N)r6   r7   r8   r9   r  r:   rT   rU   s   @r   r  r    s     
# #r   r  c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )TestSumi  c                0    \         P                  V n        R # rZ   )r;   r  r  r   s   &r   r  TestSum.setUp      OO	r   c                    . R\        . 4      3 F4  pV P                  V P                  V4      \        \	        ^ 4      ^ 34       K6  	  R# )r)   Nr4   )r  rE   r  r   r   r  s   & r   r  TestSum.test_empty_data  s:    T"X&DTYYt_sHQK.CD 'r   c                l    V P                  V P                  . RO4      \        \        ^<4      ^34       R# )r	   N)r	   r   r#  ir  r   r	   )rE   r  r   r   r   s   &r   	test_intsTestSum.test_ints  s*    #?@x|Q/	1r   c                x    V P                  V P                  R .^,          4      \        \        R4      ^34       R# )rt        @N)rE   r  r   r   r   s   &r   test_floatsTestSum.test_floats  s/    D6"9-#3	5r   c                    V P                  V P                  \        ^R4      .R,          4      \        \        ^^4      R34       R# )r	   rG    N)rE   r  r   r   s   &r   test_fractionsTestSum.test_fractions  s:    HQ$5#6s#:;"HQNC8	:r   c           
         \         pV! R 4      V! R4      V! R4      V! R4      V! R4      V! R4      V! R4      V! R4      .pV P                  V P                  V4      \         \        R4      ^34       R	# )
r'  z5.246z1.702z-0.025z3.974z2.328z4.617z2.843z20.686N)r   rE   r  rI   r   r  s   &  r   test_decimalsTestSum.test_decimals  si    '
AgJ'
AhK'
AgJ'
AgJ 	4!78#4a8	:r   c                    \        R 4       Uu. uF  p\        P                  ! RR 4      NK  	  ppV P                  \	        V P                  V4      ^,          4      \        P                  ! V4      RR7       R# u upi )rG  gؗҬ<r.   Nr  )r  r  r  rd   r   r  r
   fsum)rI   r  r  s   &  r   test_compare_with_math_fsum#TestSum.test_compare_with_math_fsum  s\     5:$K@KqtT*K@uTYYt_Q%78$))D/uU As    A9c                    V P                  \        V P                  . ROR4       V P                  \        V P                  . RO4       R# )r	   999Nr	   r   r#  )r	   r   r#  r  r  r   s   &r   test_strings_failTestSum.test_strings_fail  s1    )TYY	5A)TYY0@Ar   c                    V P                  \        V P                  . ROR4       V P                  \        V P                  . RO4       R# )r	      999Nr  )r	   r   r#  r  r  r   s   &r   test_bytes_failTestSum.test_bytes_fail  s1    )TYY	6B)TYY0ABr   c           	         V P                  \        V P                  ^R\        ^4      .4       V P                  \        V P                  ^R.\        ^4      4       R# ru  )r]  r  r  r   r   s   &r   test_mixed_sumTestSum.test_mixed_sum  sE     	)TYYC0DE)TYYC'!*Er   r  N)r6   r7   r8   r9   r  r  r  r
  r  r  r  r  r   r#  r:   rT   rU   s   @r   r  r    sB     
$E
15::VB
C
F Fr   r  c                   &   a  ] tR tRt o R tRtV tR# )SumTortureTesti  c                   V P                  \        P                  ! . ROR,          4      \        \	        R4      R34       V P                  \        P                  ! . R	OR,          4      \        \	        R4      R34       \        P                  ! . R
OR,          4      w  rpV P                  V\        4       V P                  VR4       V P                  \        V4      RRR7       R# )r	   r  g     @i@  g^,gV瞯<r  N)r	   }Ô%ITr	   }Ô%I)r(  r	   r	   r)  )0.++r	   r*  r~   )rE   r;   r  r   r   r  rd   )rI   r  r  counts   &   r   test_tortureSumTortureTest.test_torture  s    )>u)DE'!2E:	<)>u)DE'!2E:	<"(?(EFa&uSz7>r   r4   N)r6   r7   r8   r9   r,  r:   rT   rU   s   @r   r&  r&    s     	? 	?r   r&  c                   V   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )SumSpecialValuesi  c                    \         \        3 Fk  pV! R 4      p\        P                  ! ^V^.4      ^,          pV P	                  \        V4      V4       V P                  \        P                  ! V4      4       Km  	  R# )rK  N)	r   r   r;   r  r  r   r   r
   r   )rI   r   rK  r   s   &   r   rM  SumSpecialValues.test_nan  sZ    W%E,C__aa[1!4FMM$v,.OODJJv./	 &r   c                    V P                  \        P                  ! V4      4       V P                  \	        V4      \	        V4      4       V P                  V^ 8  V^ 8  4       R# )r)   N)r   r
   r+   r  r   rE   )rI   r   r   s   &&&r   check_infinitySumSpecialValues.check_infinity  sD    

1&d1gtCy)Qa(r   c                    \         P                  ! ^^V^.4      ^,          pV P                  W!4       \         P                  ! ^^V^V^.4      ^,          pV P                  W!4       R# r   )r;   r  r3  rI   r   r   s   && r   do_test_infSumSpecialValues.do_test_inf  sY    !QQ03F(!QQQ!78;F(r   c                \    \        R 4      pR F  pV P                  W!,          4       K  	  R# r   Nr	   r~   )r   r7  rI   r   r   s   &  r   test_float_infSumSpecialValues.test_float_inf  s%    ElDTX& r   c                \    \        R 4      pR F  pV P                  W!,          4       K  	  R# r:  )r   r7  r<  s   &  r   test_decimal_inf!SumSpecialValues.test_decimal_inf  s%    enDTX& r   c                    \        R 4      p\        P                  ! ^^V^V) ^.4      ^,          pV P                  \        P
                  ! V4      4       R# r  )r   r;   r  r   r
   r   r6  s   &  r   test_float_mismatched_infs+SumSpecialValues.test_float_mismatched_infs  sB    El!QQa!89!<

6*+r   c           	     @   \        R 4      p^^V^V) ^.p\        P                  ! \        P                  4      ;_uu_ 4        V P	                  \
        P                  ! \        P                  ! V4      ^,          4      4       RRR4       R#   + '       g   i     R# ; ir  )	r   decimallocalcontextExtendedContextr   r
   r   r;   r  rI   r   r  s   &  r   3test_decimal_extendedcontext_mismatched_infs_to_nanDSumSpecialValues.test_decimal_extendedcontext_mismatched_infs_to_nan  sh    en1c1sdA&!!'"9"9::OODJJzt'<Q'?@A ;:::s   ABB	c                   \        R 4      p^^V^V) ^.p\        P                  ! \        P                  4      ;_uu_ 4        V P	                  \        P
                  \        P                  V4       RRR4       R#   + '       g   i     R# ; ir  )r   rF  rG  BasicContextr]  InvalidOperationr;   r  rI  s   &  r   0test_decimal_basiccontext_mismatched_infs_to_nanASumSpecialValues.test_decimal_basiccontext_mismatched_infs_to_nan  sa    en1c1sdA&!!'"6"677g66
N 8777s   0A;;B	c                    \        R 4      p^V^.pV P                  \        P                  \        P
                  V4       R# )r  N)r   r]  rF  rN  r;   r  )rI   r  r  s   &  r   test_decimal_snan_raises)SumSpecialValues.test_decimal_snan_raises!  s2    v4|'22JOOTJr   r4   N)r6   r7   r8   r9   rM  r3  r7  r=  r@  rC  rJ  rO  rR  r:   rT   rU   s   @r   r/  r/    s;     0)'
'
,BOK Kr   r/  c                   2   a  ] tR tRt o R tR tR tRtV tR# )AverageMixini*  c                    ^RR\        ^^4      \        R4      3 F%  pV P                  V P                  V.4      V4       K'  	  R# r   g     @E@g  X_yCz0.28Nr   r   rE   r  r   s   & r   test_single_valueAverageMixin.test_single_value-  s=    dFHR$4gfoFATYYs^Q/ Gr   c                6    R ^R\        ^=^C4      \        R4      3# )      @ 7y!Cz4.9712r   r   r   s   &r   'prepare_values_for_repeated_single_test4AverageMixin.prepare_values_for_repeated_single_test2  s    R"b!1783DEEr   c           	     
   V P                  4        FZ  pR FQ  pV P                  WR7      ;_uu_ 4        V.V,          pV P                  V P                  V4      V4       RRR4       KS  	  K\  	  R#   + '       g   i     Kl  ; i)r   )r   r+  Nr   r   r  r  )r_  subTestrE   r  rI   r   r+  r  s   &   r   test_repeated_single_value'AverageMixin.test_repeated_single_value5  sf    ==?A'\\A\333u9D$$TYYt_a8 43 ( @333s   ,A1	1Br4   N)	r6   r7   r8   r9   rY  r_  re  r:   rT   rU   s   @r   rU  rU  *  s     0
F9 9r   rU  c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )TestMeani>  c                0    \         P                  V n        R # rZ   )r;   meanr  r   s   &r   r  TestMean.setUp?  r  r   c                L    V P                  V P                  . RO4      ^4       R# )r(  N)r(  r	   r#  r)  rE   r  r   s   &r   test_torture_pepTestMean.test_torture_pepB  s    #891=r   c                |    . ROp\         P                  ! V4       V P                  V P                  V4      R4       R# )r)   g     @@N)r)   r	   r   r#  r#  r#  r   r   r   r  r{  r{  r{  r{  r  r   r  r  rE   r  r  s   & r   r  TestMean.test_intsF  s+    ?t4&1r   c                |    . ROp\         P                  ! V4       V P                  V P                  V4      R4       R# )     @1@g     6@N)rt  g     3@      4@g     5@g     5@g     @7@g      9@g     ;@rq  r  s   & r   r
  TestMean.test_floatsL  s+    Et4)4r   c                    \         pV! R 4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      V! R4      4       R# )z1.634z2.517z3.912z4.072z5.813z3.5896Nr   r  r  rE   r  r  s   &  r   r  TestMean.test_decimalsR  sS    '
AgJ'
AgJ'
Kt4!H+6r   c           
        \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      V! RR4      4       R# )r	   i  i  Nr   r  r  rE   r  rI   r   r  s   &  r   r  TestMean.test_fractionsY  so    !Q1a!Aq'1Q7AaGQq!Wa1gNt4!D$-8r   c                   . ROp\         \        3 Fk  pR Fb  pV! R4      V,          pW.,           pV P                  V4      pV P                  \        P
                  ! V4      4       V P                  Wd4       Kd  	  Km  	  R# )r	   r   Nr	   r#  r   r{  r   r;  )r   r   r  r   r
   r+   rE   )rI   r  r  r   r   r  r   s   &      r   rH  TestMean.test_inf`  sg    G$D5k$&U{4

6 23  -   %r   c           
         ^^^\        R4      ^^^\        R4      .pV P                  V4      pV P                  \        P                  ! V4      4       R# )r   r   z-infN)r   r  r   r
   r   rI   r  r   s   &  r   test_mismatched_infsTestMean.test_mismatched_infsk  sB    1auq!Qf>4

6*+r   c                    . ROp\         \        3 FJ  pV! R4      pW.,           pV P                  V4      pV P                  \        P
                  ! V4      4       KL  	  R# )r	   rK  Nr  )r   r   r  r   r
   r   )rI   r  r  r   r  r   s   &     r   rM  TestMean.test_nanq  sJ    G$Du+C;DYYt_FOODJJv./	 %r   c                    R p. ROpV P                  V4      V,           pT P                  V Uu. uF  qDV,           NK  	  up4      pV P                  WS4       R# u upi )g    eAN	333333@      @g@g@g333333@@g       @g333333 @g"@r  rE   rI   cr  r#   r   r   s   &     r   test_big_dataTestMean.test_big_dataz  sR    <99T?Q&.AaCC./* /   Ac                    \        R 4       Uu. uF  p\        P                  ! R^4      NK  	  ppV P                  V4      pV P                  V^,          4      pV P	                  WC4       R# u upi rG  Nr  r  r  r  r  rd   rI   r  r  r#   r"   s   &    r   test_doubled_dataTestMean.test_doubled_data  sW    /4T{;{!r1%{;99T?46"v0 <    A,c                j    \        R 4      pV P                  \        P                  ! V.4      V4       R# )1e4N)r   rE   r;   rj  r   s   & r   test_regression_20561TestMean.test_regression_20561  s(     EN!-q1r   c                (   V P                  \        P                  ! R R.4      R4       RpRpR F_  pV P                  \        P                  ! V.V,          4      V4       V P                  \        P                  ! V.V,          4      V4       Ka  	  R# )gg      g       N)r   r#  r   r  )rE   r;   rj  )rI   bigtinyr   s   &   r   test_regression_25177TestMean.test_regression_25177  s}     	#%:;=!	# $AZ__cU1W5s;Z__dVAX6=  r   r  N)r6   r7   r8   r9   r  rn  r  r
  r  r  rH  r  rM  r  r  r  r  r:   rT   rU   s   @r   rh  rh  >  sK     $>2579	.,0+12> >r   rh  c                      a a ] tR tRt oR tV 3R ltR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tRtVtV ;t# )TestHarmonicMeani  c                0    \         P                  V n        R # rZ   )r;   harmonic_meanr  r   s   &r   r  TestHarmonicMean.setUp  s    ,,	r   c                F   < \         SV `  4       pVP                  ^ 4       V# )r)   )rT  r  remove)rI   rx  rS  s   & r   r  TestHarmonicMean.prepare_data  s!    %'ar   c                6    R ^R\        ^=^C4      \        R4      3# )r\  r]  z4.125r^  r   s   &r   r_  8TestHarmonicMean.prepare_values_for_repeated_single_test  s    R"b!1773CDDr   c                P    . ROpV P                  V P                  V4      ^ 4       R# )r	   N)r	   r)   r   rm  rI   rx  s   & r   	test_zeroTestHarmonicMean.test_zero  s     6*A.r   c                    \         P                  pR.. RO3 FB  pV P                  VR7      ;_uu_ 4        V P                  WP                  V4       RRR4       KD  	  R#   + '       g   i     KY  ; i)r	   )rx  Nr~   )r	   r   r#  )r;   r  rc  r]  r  )rI   excrx  s   &  r   test_negative_error$TestHarmonicMean.test_negative_error  sU    ((tZ(FV,,!!#yy&9 -, ),,,s   A  A1c           
     0   R .. RO. RO. RO3 F]  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       K_  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)z3.14r  N)123)r	   r  r#  4r   )ffffff@r  r  z5.6)rc  r]  r  r  r  s   & r   test_invalid_type_error(TestHarmonicMean.test_invalid_type_error  so     H"	
D 4((&&y11IIdO 2 )(
 21 )((s#   B	A1B1B<BBc                |    . ROp\         P                  ! V4       V P                  V P                  V4      R4       R# )r   N)r   r   r   r  r   r   g333333@rq  r  s   & r   r  TestHarmonicMean.test_ints  s+    #t4%0r   c                    . ROp\         P                  ! V4       V P                  V P                  V4      R4       V P                  V P                  . RO4      R4       R# )r	   rt  r   N)r  rt  rt  r   r   )rt  r   r   r   rq  r  s   & r   test_floats_exact"TestHarmonicMean.test_floats_exact  sE    (t4#.#893?r   c                p    \        ^^e4       F%  pV P                  V P                  V.4      V4       K'  	  R# r   r  rE   r  r   s   & r   test_singleton_lists%TestHarmonicMean.test_singleton_lists  s,    q#ATYYs^Q/ r   c           
        \         pV P                  V P                  V! ^4      V! ^4      V! ^<4      V! ^<4      .4      V! ^4      4       V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P                  V4      V! R4      4       V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P                  V4      V! R4      R	,          4       R
# )   r(  z0.10z0.20z1.68z0.32z5.94z2.75i iC N)r   rE   r  r  r  r  s   &  r   test_decimals_exact$TestHarmonicMean.test_decimals_exact  s    AbE1R5!B%2#?@!B%H&	1V9ai6;t4!F)4&	1V9ai6;t4!E(5.9r   c           
        \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      V! RR4      4       R# )r	   i  Ni|  r{  r|  s   &  r   r  TestHarmonicMean.test_fractions  so    !Q1a!Aq'1Q7AaGQq!Wa1gNt4!E4.9r   c                d    R \        R4      R.pV P                  V P                  V4      R 4       R# )rv  r   r   N)r   rE   r  r  s   & r   rH  TestHarmonicMean.test_inf  s+    uU|S)6*C0r   c                    R \        R4      R.pV P                  \        P                  ! V P	                  V4      4      4       R# )rv  rK  r   N)r   r   r
   r   r  r  s   & r   rM  TestHarmonicMean.test_nan  s0    uU|S)

499V#456r   c                    ^op. ROpV P                  V4      V,          pT P                  V Uu. uF  qDV,          NK  	  up4      pV P                  WS4       R# u upi )o   Nr  r  r  s   &     r   test_multiply_data_points*TestHarmonicMean.test_multiply_data_points  sR    <99T?1$.AaCC./* /r  c                    \        R 4       Uu. uF  p\        P                  ! ^^4      NK  	  ppV P                  V4      pV P                  V^,          4      pV P	                  WC4       R# u upi )rG  Nr  r  s   &    r   r  "TestHarmonicMean.test_doubled_data  sW    .3Dk:kq!$k:99T?46"v0 ;r  c           
     :   V P                  V P                  ^(^<.^^.4      R4       V P                  V P                  ^(^<.^^.R7      R4       V P                  V P                  \        ^(^<.4      \        ^^.4      4      R4       V P                  V P                  \        ^
^4      \        ^^4      \        ^^4      .. RO4      V P                  \        ^
^4      .^,          \        ^^4      .^,          ,           \        ^^4      .^
,          ,           4      4       V P                  V P                  ^
.^.4      ^
4       V P	                  \
        4      ;_uu_ 4        V P                  . RO. RO4       RRR4       V P	                  \        P                  4      ;_uu_ 4        V P                  . RO^^.4       RRR4       V P	                  \        P                  4      ;_uu_ 4        V P                  ^
.^ .4       RRR4       V P	                  \        P                  4      ;_uu_ 4        V P                  ^
^.^ ^ .4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L~; i  + '       g   i     R# ; i)(   g      L@)weightsN)r   r   r  r  )r	   r4   r#  )rE   r  r  r   r]  r  r;   r  r   s   &r   test_with_weights"TestHarmonicMean.test_with_weights  s   B8aW5t<B8,-r7 # 459	;4R>#'B=237	9IIxAQ!QH*UIIxA'!+A'!+,1~&+, -	.
 	B4!-r2y))IIi, *z99::IIi!Q( ;z99::IIrdQC  ;z99::IIr2hA' ;: *):::::::s0   I%I#+I6/J	I 	#I3	6J		J	r  )r6   r7   r8   r9   r  r  r_  r  r  r  r  r  r  r  r  rH  rM  r  r  r  r:   rT   rZ  r[  s   @@r   r  r    s\     -E/
:
$1@0
	::1
7
+1( (r   r  c                   \   a a ] tR tRt oR tV 3R ltR tR tR tR t	R t
R	 tR
tVtV ;t# )
TestMediani  c                0    \         P                  V n        R # rZ   r;   medianr  r   s   &r   r  TestMedian.setUp      %%	r   c                t   < \         SV `  4       p\        V4      ^,          ^8w  d   VP                  ^4       V# )r   )rT  r  rg   r  )rI   r  rS  s   & r   r  TestMedian.prepare_data  s0    w#%t9Q;!KKNr   c                P    . ROpV P                  V P                  V4      R4       R# )r	   r\  Nr	   r   r#  r   r   r  rm  r  s   & r   test_even_intsTestMedian.test_even_ints#  s    !4#.r   c                P    . ROpV P                  V P                  V4      ^4       R# )r	   N)r	   r   r#  r   r   r  r   rm  r  s   & r   test_odd_intsTestMedian.test_odd_ints)  s    $4!,r   c                    \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      V! ^^4      4       R# r   r{  r|  s   &  r   test_odd_fractionsTestMedian.test_odd_fractions/  s_    !Q1a!Aq'1Q7AaG<t4!Aq'2r   c           	         \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      V! ^^4      4       R# r   r{  r|  s   &  r   test_even_fractionsTestMedian.test_even_fractions7  g    !Q1a!Aq'1Q7AaGQq!WEt4!Aq'2r   c                    \         pV! R 4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      V! R4      4       R# )2.53.14.25.75.8Nrx  r  s   &  r   test_odd_decimalsTestMedian.test_odd_decimals?  sS    %!E(AeHah%At4!E(3r   c                    \         pV! R 4      V! R4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      V! R4      4       R# )z1.2r  r  r  r  r  z3.65Nrx  r  s   &  r   test_even_decimalsTestMedian.test_even_decimalsG  sY    %!E(AeHah%!E(Kt4!F)4r   r  )r6   r7   r8   r9   r  r  r  r  r  r  r  r  r:   rT   rZ  r[  s   @@r   r  r    s2     &/-3345 5r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestMedianDataTypeiP  c                0    \         P                  V n        R # rZ   r  r   s   &r   r  TestMedianDataType.setUpR  r  r   c                ~    \        \        ^4      4      pV\        V4      8X  d   \        P                  ! V4       K(  V# )r  r  r  s   & r   r  TestMedianDataType.prepare_dataU  s,    E"IfTl"NN4 r   r  N)r6   r7   r8   r9   r  r  r:   rT   rU   s   @r   r  r  P  s     & r   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestMedianLowi]  c                0    \         P                  V n        R # rZ   )r;   
median_lowr  r   s   &r   r  TestMedianLow.setUp^  s    ))	r   c                P    . ROpV P                  V P                  V4      ^4       R# r	   Nr  rm  r  s   & r   r  TestMedianLow.test_even_intsa      !4!,r   c           	         \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      V! ^^4      4       R# r   r{  r|  s   &  r   r  !TestMedianLow.test_even_fractionsg  r  r   c                    \         pV! R 4      V! R4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      V! R4      4       R# z1.1z2.2z3.3z4.4r  z6.6Nrx  r  s   &  r   r   TestMedianLow.test_even_decimalso  Y    %!E(AeHah%!E(Kt4!E(3r   r  N
r6   r7   r8   r9   r  r  r  r  r:   rT   rU   s   @r   r  r  ]  s     *-34 4r   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestMedianHighix  c                0    \         P                  V n        R # rZ   )r;   median_highr  r   s   &r   r  TestMedianHigh.setUpy  s    **	r   c                P    . ROpV P                  V P                  V4      ^4       R# r  rm  r  s   & r   r  TestMedianHigh.test_even_ints|  r
  r   c           	         \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      V! ^^4      4       R# r   r{  r|  s   &  r   r  "TestMedianHigh.test_even_fractions  r  r   c                    \         pV! R 4      V! R4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      V! R4      4       R# r  rx  r  s   &  r   r  !TestMedianHigh.test_even_decimals  r  r   r  Nr  rU   s   @r   r  r  x  s     +-34 4r   r  c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestMedianGroupedi  c                0    \         P                  V n        R # rZ   )r;   median_groupedr  r   s   &r   r  TestMedianGrouped.setUp  s    --	r   c                6   . ROpV P                  V P                  V4      ^4       . ROpV P                  V P                  V4      R4       . R	OpV P                  V P                  V^4      R4       . R
OpV P                  V P                  V^4      RRR7       R# )r  g     +@g     `3@g4@:0yE>r-   N)r        r&  r&  r  r  )r  r%  r&  r&  r&  r&  r  )r   r  r  r  r  r  r  r     r'     )r      r)  r)  r)  r  r  r     r*  r*     r+        rE   r  rd   r  s   & r   test_odd_number_repeated*TestMedianGrouped.test_odd_number_repeated  s    +4"-+4&1:4+V4Ktyyq1;DIr   c                8   . ROpV P                  V P                  V^4      RRR7       . R	OpV P                  V P                  V4      RRR7       . R
OpV P                  V P                  V4      R4       . ROpV P                  V P                  V4      R4       R# )r   g*3@r#  r$  g["8@r        @N)
r   r  r  r  r  r  r  r'  r'  r(  )r   r#  r   r   r   r   )r   r#  r#  r   r   r   r   r   r   r   r  r  )
r#  r   r   r   r   r   r   r   r  r  )rd   r  rE   r  s   & r   test_even_number_repeated+TestMedianGrouped.test_even_number_repeated  s    6tyyq1;DI!tyy
E34#.-4$/r   c                    R ^DR\        ^^e4      \        R4      3 F@  pR F7  pV.V,          pV P                  V P                  V4      \	        V4      4       K9  	  KB  	  R# )333333@g ޗCz32.9714Nrb  r   r   rE   r  r   rd  s   &   r   re  ,TestMedianGrouped.test_repeated_single_value  sW     r68B#4gi6HIA's5y  4%(; ( Jr   c                    ^RR\        ^^4      \        R4      3 F.  pV P                  V P                  V.4      \	        V4      4       K0  	  R# rW  r7  r   s   & r   rY  #TestMedianGrouped.test_single_value  sC     dFHR$4gfoFATYYs^U1X6 Gr   c                    \         pV! ^^4      V! ^	^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      R4       R# )r         @Nr{  r|  s   &  r   r  $TestMedianGrouped.test_odd_fractions  sY    !Q1a!B(Ab!HaAh?t4#.r   c           	         \         pV! ^^4      V! ^	^4      V! ^^4      V! ^^4      V! ^^4      V! ^^4      .p\        P                  ! V4       V P                  V P	                  V4      R4       R# )r         
@Nr{  r|  s   &  r   r  %TestMedianGrouped.test_even_fractions  sa    !Q1a!B(Ab!HaAh"aIt4$/r   c                    \         pV! R 4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      R4       R# )r  6.57.58.5g      @Nrx  r  s   &  r   r  #TestMedianGrouped.test_odd_decimals  sO    %!E(AeHah%At4$/r   c                   \         pV! R 4      V! R 4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      R4       V! R 4      V! R 4      V! R4      V! R4      V! R4      V! R4      .p\        P                  ! V4       V P                  V P	                  V4      R4       R# )r  rB  rC  rD        @      @Nrx  r  s   &  r   r  $TestMedianGrouped.test_even_decimals  s    %!E(AeHah%!E(Kt4#.%!E(AeHah%!E(Kt4#.r   c                    . ROpV P                  V P                  VR4      R4       . R	OpV P                  V P                  VR4      RRR7       . R
OpV P                  V P                  V^4      R4       R# )      @rt  g      @g["8@r#  r$  g     p@N)
rK  rr  rr  rA  rA  r<  r<  r?  r\  rz  )rK  rr  rr  rA  rA  rA  r<  r<  r?  r\  rz  )   rL       rN  rN  rN    rO  ,  @  iT  r.  r  s   & r   test_intervalTestMedianGrouped.test_interval  sg    F4.6Ltyyt4jdKK4,e4r   c                6   . ROpV P                  \        V P                  V4       . ROpV P                  \        V P                  V4       . ROpR pV P                  \        V P                  W4       . ROpRpV P                  \        V P                  W4       R# ) r   N)rU  rU  rU  )r   r   r   r  r  )rI   r  intervals   &  r   test_data_type_error&TestMedianGrouped.test_data_type_error  sx    )TYY5)TYY5)TYY?)TYY?r   r  N)r6   r7   r8   r9   r  r/  r3  re  rY  r  r  r  r  rR  rW  r:   rT   rU   s   @r   r  r    sD     .J$0$<7/00/5@ @r   r  c                   V   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestModei  c                0    \         P                  V n        R # rZ   )r;   moder  r   s   &r   r  TestMode.setUp  r  r   c                
    . RO# )r	   )r	   r	   r	   r	   r#  r   r{  r   r)   r  r   r4   r   s   &r   r  TestMode.prepare_data  s
     10r   c                b    \        ^^2^4      pV P                  V P                  V4      ^4       R# r  r  r  s   & r   r  TestMode.test_range_data  s(    RQ4"-r   c                    R pV P                  V P                  V4      R4       RP                  4       pV P                  V P                  V4      R4       R# )abcbdbr   zfe fi fo fum fi fifiN)rE   r  r   r  s   & r   test_nominal_dataTestMode.test_nominal_data  sE    4#.#))+4$/r   c                    \        \        ^
4      4      p\        ^
4       FC  pW.,           p\        P                  ! V4       V P	                  V P                  V4      V4       KE  	  R# r  Nr4  r  r  r  rE   r  )rI   r  rm   r   s   &   r   test_discrete_dataTestMode.test_discrete_data!  sJ    E"IrAs
ANN1TYYq\1- r   c                P    . ROpV P                  V P                  V4      ^4       R# )r	   N)r	   r	   r   r   r   r   r#  r   r   r  r  r  r  r{  r  r   r   rm  r  s   & r   test_bimodal_dataTestMode.test_bimodal_data)  s!    B 	4!,r   c                p    \        \        ^
4      4      pV P                  V P                  V4      ^ 4       R# rh  )r4  r  rE   r  r  s   & r   test_unique_dataTestMode.test_unique_data0  s'    E"I4!,r   c                H    V P                  \        V P                  R 4       R # rZ   r  r   s   &r   test_none_dataTestMode.test_none_data6  s    
 	)TYY5r   c                x    \         P                  ! ^^R7      pV P                  V P                  V4      R4       R# )r	   )r   r   r   N)r[   CounterrE   r  )rI   r  s   & r   test_counter_dataTestMode.test_counter_data=  s0    
 !q) 	1s+r   r  N)r6   r7   r8   r9   r  r  r  re  rj  rm  rp  rs  rw  r:   rT   rU   s   @r   rZ  rZ    s7     $1
.
0.--6, ,r   rZ  c                   &   a  ] tR tRt o R tRtV tR# )TestMultiModeiH  c                    \         P                  pV P                  V! R 4      R.4       V P                  V! R4      . RO4       V P                  V! R4      . 4       R# )aabbbbbbbbccr   aabbbbccddddeeffffggrU  N)r   r   r   )r;   	multimoderE   )rI   r~  s   & r   test_basicsTestMultiMode.test_basicsJ  sN    ((	>2SE:#9:OL2+r   r4   N)r6   r7   r8   r9   r  r:   rT   rU   s   @r   rz  rz  H  s     , ,r   rz  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )	TestFMeaniQ  c           
        \         P                  p\        p\        p. RORR3V! R4      V! R4      V! R4      .RR3V! ^^4      V! ^^4      V! ^^4      .RR3. RORR	3R ^V! ^^4      .RR
3R\	        . RO4      RR33 F@  w  rEpV! V4      pV P                  \        V4      \        V4       V P                  WuV4       KB  	  R# )r\        @floats3.54.05.25decimals	fractions333333?booleansmixed typesiteratorNr\  rs        @)TFTTF)r  r  r5  )	r;   fmeanr   r   r  r  r   r   rE   )rI   r  r   r   r  expected_meanr  actual_means   &       r   r  TestFMean.test_basicsS  s      tX.h%!F),dJ?1gqAw"a)4=-tZ@1aAh}5-"#T:6*%D  +KMM${+UD9[>*r   c                `   \         P                  p\         P                  pV P                  V4      ;_uu_ 4        V! . 4       R R R 4       V P                  V4      ;_uu_ 4        V! \	        . 4      4       R R R 4       V P                  \
        4      ;_uu_ 4        V! R 4       R R R 4       V P                  \
        4      ;_uu_ 4        V! . RO4       R R R 4       V P                  \
        4      ;_uu_ 4        V! 4        R R R 4       V P                  \
        4      ;_uu_ 4        V! . RO^F4       R R R 4       R #   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R # ; i)Nr  Nr  r  r  <   )r;   r  r  r]  r  r  rI   r  r  s   &  r   test_error_casesTestFMean.test_error_casesd  s     $44//"I 0//$r(O 0y))$K *y)).! *y))G *y)),# *) 0////)))))))))sG   	D<$E	E#	E69F	&F<E	E 	#E3	6F		F	F-	c                   \         P                  p\        R 4      p\        R4      pV P                  \        P
                  ! V! ^
V.4      4      R4       V P                  \        P
                  ! V! W#.4      4      R4       V P                  \        P                  ! V! ^
V.4      4      R4       V P                  \        4      ;_uu_ 4        V! W3) .4       RRR4       R#   + '       g   i     R# ; i)NanInfrK  nan and infinityinfinityN)	r;   r  r   r   r
   r   r+   r]  r*   )rI   r  NaNr  s   &   r   test_special_valuesTestFMean.test_special_valuest  s      ElEl

5"c#34e<

5##457IJ

5"c#34jAz**3+ +***s   C""C3	c           	        \         P                  p\         P                  pV P                  V! . ROR.^,          4      V! . RO4      4       V P                  V! . RO. RO4      V! . RO4      4       V P                  V! \	        . RO4      \	        . RO4      4      V! . RO4      4       V P                  V4      ;_uu_ 4        V! . RO^^.4       RRR4       V P                  V4      ;_uu_ 4        V! \	        . RO4      \	        ^^.4      4       RRR4       V P                  V4      ;_uu_ 4        V! ^
^.R^.4       RRR4       V P                  V4      ;_uu_ 4        V! \	        ^
^.4      \	        R^.4      4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ly; i  + '       g   i     R# ; i)	r  rt  N)r  r  r  r  )r  r  r  )rt  rt  r   )r  r  r  r  r  r  r(  r~   )r;   r  r  rE   r  r]  r  s   &  r   test_weightsTestFMean.test_weights  sa     $44"TFQJ/"#	% 	, 23"#	% 	$|$d+=&>?"#	% //,A' 0//$|$dAq6l3 0//2r(RG$ 0//$Bx.$Aw-0 0/ 0////////s0   F
0 F1F0  G
F	F-	0G 	G	r4   N)
r6   r7   r8   r9   r  r  r  r  r:   rT   rU   s   @r   r  r  Q  s     ?"$ 	1 1r   r  c                   H   a  ] tR tRt o RtR tR tR tR tR t	R t
R	tV tR
# )VarianceStdevMixini  -q=c                    ^RR\        ^^"4      \        R4      3 F%  pV P                  V P                  V.4      ^ 4       K'  	  R# )   g3@g  %Bz8.392NrX  r   s   & r   rY  $VarianceStdevMixin.test_single_value  s>    dFHR$4gg6FGATYYs^Q/ Hr   c                    R ^1R\        ^^4      \        R4      3 F7  pR F.  pV.V,          pV P                  V P                  V4      ^ 4       K0  	  K9  	  R# )r  g @6<Cz62.4802N)r   r#  r   r  rX  rd  s   &   r   re  -VarianceStdevMixin.test_repeated_single_value  sP    r68Aq>793EFA&s5y  4!4 ' Gr   c                    R .R,          pV P                  V4      pV P                  VRRR7       V P                  V^ 4       R# )g.F7ݚ?r  r|   gؗҌ<r$  N)r  rd   r  r  s   &  r   test_domain_error_regression/VarianceStdevMixin.test_domain_error_regression  sE     ""5( 4vs6*r   c                    . ROpV P                  V4      pRpV Uu. uF  qDV,           NK  	  ppV P                  V P                  V4      V4       R# u upi ){Gz?g     j@N)
r  gRQ?g
ףp=
?gRQ @gp=
ף@gQ	@r2  gQ@gGz@gQ@)r  rd   rI   r  r#   shiftr   r  s   &     r   test_shift_data"VarianceStdevMixin.test_shift_data  sQ     K99S>#&'3aE		3'tyy9 (   Ac                    . ROpV P                  V4      pRpV Uu. uF  qDV,           NK  	  ppV P                  V P                  V4      V4       R# u upi )r	   N)
r	   r#  r#  r   r   r{  r   r  r  r   i ʚ;r  r  s   &     r   test_shift_data_exact(VarianceStdevMixin.test_shift_data_exact  sN    /99S>#&'3aE		3'4(3 (r  c                    \        R 4       Uu. uF  p\        P                  ! R^4      NK  	  ppV P                  V4      pV P	                  V P                  \        V4      4      V4       R# u upi r  )r  r  r  r  rE   r  rI   r  r  r#   s   &   r   test_iter_list_same&VarianceStdevMixin.test_iter_list_same  sV     05T{;{!r1%{;99T?4:.9 <s    A-r4   N)r6   r7   r8   r9   r.   rY  re  r  r  r  r  r:   rT   rU   s   @r   r  r    s/      C0
5+:4
: 
:r   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestPVariancei  c                0    \         P                  V n        R # rZ   )r;   	pvariancer  r   s   &r   r  TestPVariance.setUp  s    ((	r   c                    \        \        R 4      4      p\        P                  ! V4       RpV P	                  V P                  V4      V4       R# )r  Ng   P_Ari  r  s   &  r   test_exact_uniform TestPVariance.test_exact_uniform  s9    E%L!t$4(3r   c                T    . ROpRpV P                  V P                  V4      V4       R# )r   g     6@Nr   r{  r%  r   rm  rI   r  exacts   &  r   r  TestPVariance.test_ints  s$    4%0r   c                    \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      .pV! ^^4      pV P                  V4      pV P                  WC4       V P                  V\         4       R# r   r   r  rE   assertIsInstancerI   r   r  r  r   s   &    r   r  TestPVariance.test_fractions  c    !Q1a!Aq'1Q73!Q4'fh/r   c                    \         pV! R 4      V! R4      V! R4      V! R4      .pV! R4      pV P                  V4      pV P                  WC4       V P                  V\         4       R# )z12.1z12.2z12.5z12.9z0.096875Nr   r  rE   r  rI   r   r  r  r   s   &    r   r  TestPVariance.test_decimals  sY    &	1V9ai6;*4'fg.r   c                    . ROpRpV P                  V4      pV P                  W24       V P                  V\        4       R# )r)   N)r)   r)   r	   gqq?r  rE   r  r   rI   r  r  r   s   &   r   test_accuracy_bug_20499%TestPVariance.test_accuracy_bug_20499  7    4'fe,r   r  N)r6   r7   r8   r9   r  r  r  r  r  r  r:   rT   rU   s   @r   r  r    s(     )410/- -r   r  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )TestVariancei  c                0    \         P                  V n        R # rZ   )r;   variancer  r   s   &r   r  TestVariance.setUp  s    ''	r   c                    ^#RR\        ^^4      \        R4      3 F/  pV P                  \        P                  V P
                  V.4       K1  	  R# )#   g333338@g (G!=Cz4.2084Nr   r   r]  r;   r  r  r   s   & r   rY  TestVariance.test_single_value
  sB    dFHR$4gh6GHAj88$))aSI Ir   c                T    . ROp^pV P                  V P                  V4      V4       R# )r   Nr  rm  r  s   &  r   r  TestVariance.test_ints  s$    4%0r   c                    \         pV! ^^4      V! ^^4      V! ^^4      V! ^^4      .pV! ^^4      pV P                  V4      pV P                  WC4       V P                  V\         4       R# r   r  r  s   &    r   r  TestVariance.test_fractions  r  r   c                    \         pV! ^4      V! ^4      V! ^4      V! ^	4      .p^V! R4      ,          V! ^4      ,          pV P                  V4      pV P                  WC4       V P                  V\         4       R# )r   z9.5Nr  r  s   &    r   r  TestVariance.test_decimals  se    !adAaD!A$'!E(
1Q44'fg.r   c                    RpV P                  V P                  V4      R4       V P                  V P                  VRR7      R 4       R# )r   rv  r   xbarNr   rv  rm  r  s   & r   test_center_not_at_mean$TestVariance.test_center_not_at_mean'  s<    4#.4c2C8r   c                    . ROpRpV P                  V4      pV P                  W24       V P                  V\        4       R# )r)   N)r)   r)   r   gUUUUUU?r  r  s   &   r   r  $TestVariance.test_accuracy_bug_20499,  r  r   r  N)r6   r7   r8   r9   r  rY  r  r  r  r  r  r:   rT   rU   s   @r   r  r    s.     (J
10/9
- -r   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )
TestPStdevi3  c                0    \         P                  V n        R # rZ   )r;   pstdevr  r   s   &r   r  TestPStdev.setUp5  r  r   c                   \        R 4       Uu. uF  p\        P                  ! R^4      NK  	  pp\        P                  ! \
        P                  ! V4      4      pV P                  V P                  V4      V4       R# u upi )rG  Ni)	r  r  r  r
   sqrtr;   r  rE   r  r  s   &   r   test_compare_to_variance#TestPStdev.test_compare_to_variance8  s[    16t=AsB'=99Z11$784(3 >    A=c                    RpV P                  V P                  V4      R4       V P                  V P                  VRR7      R4       R# )r#  rr  r   )murG  N)r#  r  r{  r  rm  r  s   & r   r  "TestPStdev.test_center_not_at_mean>  s<    4#.4C0#6r   r  N)	r6   r7   r8   r9   r  r  r  r:   rT   rU   s   @r   r  r  3  s     &47 7r   r  c                   f   a  ] tR tRt o R t]]P                  ! R4      R 4       4       tR t	Rt
V tR# )TestSqrtHelpersiD  c                   \         P                  ! \        ^d4      \        ^R4      4       F  w  r\        P                  ! W4      pV P                  V\        4       W3,          V,          V8X  d   KG  V P                  V^,          ^4       T P                  W#^,
          ^,          ,          Tu;8  ;'       d    W#^,           ^,          ,          8  Mu 4       K  	  R# )r[  rG  N)		itertoolsproductr  r;   _integer_sqrt_of_frac_rtor  r   rE   r   )rI   r   mr   s   &   r   test_integer_sqrt_of_frac_rto-TestSqrtHelpers.test_integer_sqrt_of_frac_rtoF  s    %%eCj%4.ADA44Q:A!!!S)s1uzQqS!$OOAQ
NQ??!eaZ?@ Br   cpuc           	     >   R  R lp\         P                  p\        R4       F  pV! ^
V! ^24      ,          4      pV! ^
V! ^24      ,          4      ^,           pV P                  WER7      ;_uu_ 4        \	        WE4      p\
        P                  ! WE4      pV P                  V! Wg4      4       RRR4       K  	  V P                  \
        P                  ! ^ ^4      R4       V P                  \        4      ;_uu_ 4        \
        P                  ! R^4       RRR4       V P                  \        4      ;_uu_ 4        \
        P                  ! ^R4       RRR4       V P                  \        4      ;_uu_ 4        \
        P                  ! ^^ 4       RRR4       V P                  \
        P                  ! RR4      \
        P                  ! ^^4      4       R#   + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i)c                <    V ^8  d   QhR\         R\        R\        /# )r   r   rootreturn)r   r   r  )r   s   "r   __annotate__=TestSqrtHelpers.test_float_sqrt_of_frac.<locals>.__annotate__V  s!     	? 	? 	? 	?4 	?r   c                 t   V '       g   VR 8H  # \         P                  ! V\         P                  4      p\         P                  ! V\         P                  ) 4      p\        V4      pV\        V4      ,           ^,          pV\        V4      ,           ^,          pV^,          T u;8*  ;'       d    V^,          8*  # u # )r|   )r
   	nextafterr   r   )r   r  r_upr_down	frac_roothalf_way_uphalf_way_downs   &&     r   is_root_correctly_roundedJTestSqrtHelpers.test_float_sqrt_of_frac.<locals>.is_root_correctly_roundedV  s    s{" ..txx8D NN4$((;F #+4.I%.$%?1$DK'08F3C'Cq&HM !A%>>kQ.>>>>>r   i`  )	numeratordenonimatorNr|   r~   r   )r  	randranger  rc  r   r;   _float_sqrt_of_fracr   rE   r]  r*   ZeroDivisionError)rI   r  r  rm   r  r  r   r  s   &       r   test_float_sqrt_of_frac'TestSqrtHelpers.test_float_sqrt_of_fracR  s{   	?$ $$	vA&rYr]':;I(y})<=AK	KK&y>(<<YT 9! BC LK  	771=sCz****2q1 +z****1b1 + 011**1a0 2 	77B?A_A_`acdAef# LKK +*** 21s0   09G9G&6G93HG#&G6	9H		H	c           	        \        R 4      RR3\        R4      RR3\        R4      RR33 EF:  w  rp\        P                  ! \        P                  4      ;_uu_ 4        V P	                  \
        P                  ! W#4      V4       RRR4       \        P                  ! \        P                  4      ;_uu_ 4       pV;P                  ^,          un        \        V4      \        V4      ,          p\        P                  Vn	        VP                  4       pRRR4       \        P                  ! \        P                  4      ;_uu_ 4        X5pRRR4       V P	                  VX4       EK=  	  V P	                  \
        P                  ! ^ ^4      R4       V P                  \        P                  4      ;_uu_ 4        \
        P                  ! R	^4       RRR4       V P                  \        P                  4      ;_uu_ 4        \
        P                  ! ^R	4       RRR4       V P                  \        4      ;_uu_ 4        \
        P                  ! ^^ 4       RRR4       V P	                  \
        P                  ! R
R	4      \
        P                  ! ^^4      4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i)z0.4481904599041192673635338663l   :jt9)4]! l       73Me'z0.7924949131383786609961759598l   Q_Ar,NE*z0.8500554152289934068192208727l   kr"-D9}ZGNr|   r~   r   )r   rF  rG  DefaultContextrE   r;   _decimal_sqrt_of_fracprec
ROUND_05UProundingr  r]  rN  r  )rI   r  r  denominatorctxhigh_prec_ratiohigh_prec_roottarget_roots   &       r   test_decimal_sqrt_of_frac)TestSqrtHelpers.test_decimal_sqrt_of_frac  s$    568VXwx568VXwx568VXwx-
(D[
 %%g&<&<==  !A!A)!Y[_` > %%g&<&<==A"))"4w{7K"K&11!0!5!5!7	 >
 %%g&<&<==-o >T;/!-
& 	99!Q?Ew7788,,R3 9w7788,,Q3 9 011,,Q2 2 	99"bA:CcCcdeghCij3 >== >==
 >== 98888 21sI   'J8AJ-K7K>K);K<J*-J>KK&	)K9	<L	r4   N)r6   r7   r8   r9   r	  r   r   requires_resourcer   r-  r:   rT   rU   s   @r   r  r  D  sA     
A u%*g & *gX#k #kr   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )	TestStdevi  c                0    \         P                  V n        R # rZ   )r;   stdevr  r   s   &r   r  TestStdev.setUp  s    $$	r   c                    ^QRR\        ^^4      \        R4      3 F/  pV P                  \        P                  V P
                  V.4       K1  	  R# )Q   gHzwi@g  f7?+Bz35.719Nr  r   s   & r   rY  TestStdev.test_single_value  sA    ffhq"owx7HIAj88$))aSI Jr   c                   \        R 4       Uu. uF  p\        P                  ! R^	4      NK  	  pp\        P                  ! \
        P                  ! V4      4      pV P                  V P                  V4      V4       R# u upi )rG  Nr   )	r  r  r  r
   r  r;   r  assertAlmostEqualr  r  s   &   r   r  "TestStdev.test_compare_to_variance  s[    /4T{;{!r1%{;99Z0067tyy9 <r  c                P    RpV P                  V P                  VRR7      R 4       R# )r   rv  r  Nr  rm  r  s   & r   r  !TestStdev.test_center_not_at_mean  s$    4c2C8r   r  N)
r6   r7   r8   r9   r  rY  r  r  r:   rT   rU   s   @r   r1  r1    s     %J
:9 9r   r1  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestGeometricMeani  c                   \         P                  pV P                  V! . RO4      R4       V P                  V! RR.4      R4       V P                  V! R.4      R4       \        P                  ! R4       \        ^^d4      \        ^R4      \        ^R4      \        R	R^4      \        RR	R4      . RO\        R4       Uu. uF  p\        P                  ! R
4      NK  	  up\        R4       Uu. uF  p\        P                  ! RR4      NK  	  up\        R4       Uu. uF  p\        P                  ! RRR4      NK  	  up3	 F~  p\        P                  ! \        \        V4      4      \        ^4      \        V4      ,          ,          pV! V4      pV P                  \        P                  ! V\!        V4      4      4       K  	  R# u upi u upi u upi )6         B@rs  g      "@g      @g     1@l   ; rG  r  r        I@  ru  r<  i  i  N)r@  r+  $   r  )r  r	  r%  r   x   r{  )r;   geometric_meanr9  r  seedr  expovariatelognormvariate
triangularr
   prodr   r   rg   r   iscloser   )rI   rF  rm   rng
gm_decimalgm_floats   &     r   r  TestGeometricMean.test_basics  se   #22~l;TB~sCj93?~vh7@N#aaa c61%fc2&'38<@<a##D)<@;@<H<a&&tS1<H>CElKl""4t4lK
C 3w#45'!*s3x:OPJ%c*HOODLL53DEF
 AHKs   =G+ G!Gc           	     v   \         P                  p\        p\        pR p. ROR3V! R4      V! R4      V! R4      .R3V! ^^4      V! ^^4      V! ^^4      .R3R^V! ^^4      .R3R\	        . RO4      R	33 F@  w  rVV! V4      pV P                  \        V4      \        V4       V P                  Wt^R
7       KB  	  R# )gd@r\  r  r  r  r  r  r  r  r  placesNr  )r  r5  )	r;   rF  r   r   r  r  r   r   r9  )rI   rF  r   r   r  r  r  r  s   &       r   test_various_input_types*TestGeometricMean.test_various_input_types  s    #22x(h%!F),j91gqAw"a);71aAh/'"#Z0JD ).KMM${+UD9"";a"Hr   c                   \         P                  pRpV! RV,          RV,          RV,          .4      pV P                  \        P                  ! VRV,          4      4       V P                  \        P                  ! V4      4       RpV! RV,          RV,          RV,          .4      pV P                  \        P                  ! VRV,          4      4       V P                  VR4       R# )rv  g      K@g      8@rA  r|   Ng      p~g      p)r;   rF  r   r
   rL  r   r+   assertNotEqual)rI   rF  largebig_gmsmallsmall_gms   &     r   test_big_and_small$TestGeometricMean.test_big_and_small  s    #22 te|TE\ JKVTE\:;F+, !4%<te|"LMXte|<=Hc*r   c                   \         P                  p\         P                  pV P                  V4      ;_uu_ 4        V! . 4       R R R 4       V P                  V4      ;_uu_ 4        V! . RO4       R R R 4       V P                  V4      ;_uu_ 4        V! . RO4       R R R 4       V P                  V4      ;_uu_ 4        V! R\        P
                  ) R.4       R R R 4       V P                  V4      ;_uu_ 4        V! \        . 4      4       R R R 4       V P                  \        4      ;_uu_ 4        V! R 4       R R R 4       V P                  \        4      ;_uu_ 4        V! . RO4       R R R 4       V P                  \        4      ;_uu_ 4        V! 4        R R R 4       V P                  \        4      ;_uu_ 4        V! . RO^F4       R R R 4       R #   + '       g   i     EL; i  + '       g   i     EL~; i  + '       g   i     ELf; i  + '       g   i     EL>; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R # ; i)Nr\  r  )r\        r  )r|   r_  r  r  r  )r;   rF  r  r]  r
   r   r  r  )rI   rF  r  s   &  r   r  "TestGeometricMean.test_error_cases  s   #22$44//2 0//,- 0//,- 0//C$((D12 0//48$ 0y))4  *y))>* *y)) *y))<, *)! 0//////////////))))))))))sk   	G$G$G8<H8H /	H4II:I.G!	$G5	8H		H	 H1	4I	I	I+	.I?	c                   \         P                  p\        R 4      p\        R4      pV P                  \        P
                  ! V! ^
V.4      4      R4       V P                  \        P
                  ! V! W#.4      4      R4       V P                  \        P                  ! V! ^
V.4      4      R4       V P                  \        4      ;_uu_ 4        V! W3) .4       RRR4       V P                  V! . RO4      R4       V P                  V! . RO4      R4       V P                  \        P
                  ! V! ^ V.4      4      4       V P                  \        P
                  ! V! ^ V.4      4      4       R#   + '       g   i     L; i)	r  r  rK  r  r  Nr|   )r#  r|   r   )r#  r}   r   )
r;   rF  r   r   r
   r   r+   r]  r*   rE   )rI   rF  r  r  s   &   r   r  %TestGeometricMean.test_special_values		  s   #22ElEl

>2s)#<=uE

>3*#=>@RS

>2s)#<=zJz**C;' + 	4c:5s;

>1c(#;<=

>1c(#;<= +*s   E00F 	c           	        \         P                  pR p. RO. RO. RO. RO. RO.pV FA  pV P                  VR7      ;_uu_ 4        V! V4      pV P                  WR^R7       RRR4       KC  	  R#   + '       g   i     KX  ; i)	gY};t@)vrR  N)r   r#  r   r{  )r   r#  r   rH  )r   r#  r	  rH  )r   r<  r	  rH  )rv  r<  r	  rH  )r;   rF  rc  r9  )rI   rF  r  rx  rd  r  s   &     r   test_mixed_int_and_float*TestGeometricMean.test_mixed_int_and_float	  st    #22( 
 A"",Q/&&{!&L #" """s   A--A>r4   N)r6   r7   r8   r9   r  rT  r\  r  r  re  r:   rT   rU   s   @r   r>  r>    s,     G,I$+-,>"M Mr   r>  c                      a  ] tR tRt o ]P
                  ! R4      R 4       tR t]P
                  ! R4      R 4       tRt	V t
R# )TestKDEi+	  r  c           
     T   \         P                  p\         P                  p. ROp. ROpRR lpV FO  pV P                  VR7      ;_uu_ 4        V! VRVR7      pV! VR^4      pV P	                  VR	^R
7       RRR4       KQ  	  . ROp	Rp
RpV F_  pV P                  VR7      ;_uu_ 4        V! WVRR7      pV! WV4      pV! VRVR4      pV P	                  V! V4      V^R
7       RRR4       Ka  	  V P                  V4      ;_uu_ 4        V! . R	R7       RRR4       V P                  \        4      ;_uu_ 4        V! RR.R4       RRR4       V P                  \        4      ;_uu_ 4        V! \        V4      R4       RRR4       V P                  V4      ;_uu_ 4        V! VRR7       RRR4       V P                  V4      ;_uu_ 4        V! VRR7       RRR4       V P                  \        4      ;_uu_ 4        V! VRR7       RRR4       V P                  V4      ;_uu_ 4        V! VR	RR7       RRR4       V P                  \        4      ;_uu_ 4        V! VR	RR4       RRR4       Rp
RpV! WJV4      pV P                  VP                  R4       V P                  WgP                  4       V P                  \        V
4      VP                  4       V! ^ .R	R4      pV P                  V! R4      R4       V P                  V! R	4      R4       ^^.p	V! V	RR4      pV P                  V! ^d4      R4       V	P                  ^d4       V P                  V! ^d4      R4       R#   + '       g   i     EKB  ; i  + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     ELb; i  + '       g   i     EL>; i  + '       g   i     EL&; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i) normalgaussr  rJ  cosinec                    aa VS,
          V,          oVV3R  l\        V4       4       p\        \        W4      4      S,          # )c              3   R   <"   T F  pSVR,           S,          ,           x  K  	  R# 5i)r	   Nr   r4   )r  rm   dxlows   & r   r  6TestKDE.test_kde.<locals>.integrate.<locals>.<genexpr>=	  s!     D|!C2~--|   $')r  sumr   )r  rp  highsteps	midpointsro  s   &f&& @r   	integrate#TestKDE.test_kde.<locals>.integrate:	  s4    *%BDuU|DIs4+,r11r   kernelr   hrz  r   rR  Nr  g      %@T
cumulativei r|  r\   defr|   r3  boguspdfr	  rj  rk  logisticsigmoidrectangularr  rJ  	parabolicepanechnikovquarticbiweight	triweightrl   皙ٿffffff?ffffff@@)r  r  )r#  r   r  r        r   )r;   kder  rc  r9  r]  r  r  rE   r6   rg  r  reprr  r  )rI   r  r  kernelssamplerw  rz  f_hatarear  r|  r   cdfs   &            r   test_kdeTestKDE.test_kde-	  sJ   nn$44A 3	2 FV,,Fc&9 R0&&tS&; -,  FV,,$6d;DV, Q8&&s1vtA&>	 -,  //cN 0y))$ *y))Vc" *//# 0//$ 0y))%  *//#g. 0y))Wd+ *
 Fv&/fmm,d1gu}}-
 QCi(tc*sS) 1vD#|,sS)C5:s+u -,, -,, 0//))))))//////)))///)))sx   *M *:M5	N
9N*N2O
O:O.&PP M25N
N	N/	2O	O	O+	.O?	P	P'	c                2   \         P                  p\        R^e4       Uu. uF  q"^d,          NK  	  pp\        R4       Uu. uF  q"R,          R,           NK  	  ppVP                  4        F  w  rVVR,          pVR,          pV P	                  VR7      ;_uu_ 4        V F#  p	V P                  V! V! V	4      4      V	^R7       K%  	  V F#  p
V P                  V! V! V
4      4      V
^R7       K%  	  RRR4       K  	  R# u upi u upi   + '       g   i     K  ; i)	r[  rG  r  invcdfry  rR  Nr  Mb@?)r;   _kernel_specsr  itemsrc  r9  )rI   kernel_specsrm   xarrparrrz  specr  r  r   ps   &          r   test_kde_kernel_specsTestKDE.test_kde_kernel_specs}	  s     "//  %T3/0/!#/0*/+6+Q$  +6(..0LFu+C(^FV,,A**6#a&>1Q*G A**3vay>1R*H  -, 1 16 -,,s   C;D ADDc                  aaaa \         P                  p\         P                  p. ROp. ROpV FP  pV P                  VR7      ;_uu_ 4        V! VRVR7      o\	        ^
4       Uu. uF
  pS! 4       NK  	  ppRRR4       KR  	  V P                  V4      ;_uu_ 4        V! . RR7       RRR4       V P                  \        4      ;_uu_ 4        V! R	R
.R4       RRR4       V P                  \        4      ;_uu_ 4        V! \        V4      R4       RRR4       V P                  V4      ;_uu_ 4        V! VRR7       RRR4       V P                  V4      ;_uu_ 4        V! VRR7       RRR4       V P                  \        4      ;_uu_ 4        V! VRR7       RRR4       V P                  V4      ;_uu_ 4        V! VRRR7       RRR4       RpRpV! WHV4      oV P                  SP                  R4       V P                  VSP                  4       V P                  \        V4      SP                  4       . ROp	\	        R^4       U
u. uF  q^
,          NK  	  pp
RpRpRoVV3R lpVV3R lpV F  pV P                  VR7      ;_uu_ 4        V! WVR R7      o\        \	        V4       Uu. uF
  pS! 4       NK  	  up4      o\         P                  ! WVRR7      oV F7  p
V P                  \         P"                  ! V! V
4      V! V
4      RR7      4       K9  	  RRR4       K  	  ^^.p	V! V	^R4      oT P%                  \'        \	        R4       Uu. uF
  pS! 4       NK  	  up4      ^
4       V	P)                  ^d4       V P+                  \'        V3R l\	        R4       4       4      ^
4       R# u upi   + '       g   i     EK  ; i  + '       g   i     EL*; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; iu up
i u upi   + '       g   i     EK  ; iu upi )!rj  rJ  rl  ry  r   r{  Nr   r  r\   r  r|   r3  r  randi@B g      ?r   c                    < \         P                  ! SV 4      p\         P                  ! SV S,           4      pW!,
          \        S4      ,          # rZ   )bisectbisect_leftrg   )r   rm   j
big_samplero  s   &  r   
p_observed+TestKDE.test_kde_random.<locals>.p_observed	  s<    "":q1A"":q2v6AES_,,r   c                 <   < S! V S,           4      S! V 4      ,
          # rZ   r4   )r   F_hatro  s   &r   
p_expected+TestKDE.test_kde_random.<locals>.p_expected	  s    R=58++r   rG  Tr}  r  abs_tolr  c              3   2   <"   T F  pS! 4       x  K  	  R # 5irZ   r4   )r  rm   r  s   & r   r  *TestKDE.test_kde_random.<locals>.<genexpr>	  s     ;{!tvv{s   r  r  r  )r  r  r  r  r  r  r   g,@g333333.@g.@g/@g      1@r  l   iA  )r;   
kde_randomr  rc  r  r]  r  r  rE   r6   rg  r  r  r  r  r   r
   rL  
assertLessr    r  r  )rI   r  r  r  r  rz  rm   
selectionsr|  r  r   r  r   r  r  r  r  ro  r  s   &              @@@@r   test_kde_randomTestKDE.test_kde_random	  sf   **
$44A 3 FV,,!&C?.3Bi8idfi
8 -,  //rS! 0y))u~s+ *y))tF|S) *//v& 0//v% 0y))v' *//vW5 0
 &V,/fdll+d1gt||, T %dC 01 01B 01	-	, FV,,!$6
C#U1X$>XTVX$>?
"t4HAOODLLA
1W]$^_  -,  1v$<0U4[9[TV[9:B?C3;uT{;;R@} 9 -,, 0//))))))//////)))/// 2& %? -,, :s   N3%N.
5N3OO=O01PPP,9Q 	QQ-Q=AQQ3.N33OO	O-	0P	P	P)	,P=	 Q	QQ0r4   N)r6   r7   r8   r9   r   r/  r  r  r  r:   rT   rU   s   @r   rh  rh  +	  sN     u%M, &M,^I" u%KA &KAr   rh  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestQuantilesi	  c                0  a \         P                  p. ROp\        P                  ! V4       ^. 3^R.3^RR.3^. RO3^. RO3^. RO3^. RO3^
. RO3^. RO3^. RO33
 EF  w  r4V P	                  WA! W#R7      4       V P	                  \        V! W#R7      4      V^,
          4       \        \        \        3 FW  oV! \        SV4      VR7      pV P                  V3R lV 4       4       V P	                  V\        \        SV4      4      4       KY  	  \        V4      ^8  d   V P	                  V! WCR7      V4       \        V4      p^V^ ,          ,          V^,          ,
          p^VR,          ,          VR,          ,
          pW'V.,           p	V P	                  V! W#R7      V! WRR7      W234       R p
\        \        W4      4      pV! \        W4      VR7      pT P                  \        ;QJ d%    R	 \        W4       4       F  '       d   K   R
M	  RM! R	 \        W4       4       4      4       EK  	  \        ^^<4       FU  p\        P                   ! \        ^d4      VR7      pV! V4      w  rpV P	                  V\         P"                  ! V4      4       KW  	  R# )rE       @o@      i@      t@r   c              3   R   <"   T F  p\        \        V4      S8H  4      x  K  	  R # 5irZ   allr   r  r   datatypes   & r   r  4TestQuantiles.test_specific_cases.<locals>.<genexpr>	  "     I&QDGx$7 8 8&rr  	inclusiver   methodc                 "    R V ,          R,
          # r\  g3333J@r4   r   s   &r   r   ,TestQuantiles.test_specific_cases.<locals>.f

      Qw))r   c              3   R   "   T F  w  r\         P                  ! W4      x  K  	  R # 5irZ   r
   rL  r  rn   r   s   &  r   r  r  
       M}tqQ 2 2}   %'FTkN)rE  r     rQ  i^  )      d@r       t@)      a@     k@     @r@     u@)      ^@r  r  r       u@)      Y@r  g     j@r  g     r@r  g     Xv@)	g      V@r  g      g@r  r  r  g     `t@r  g     v@)      T@r  r  r        l@r  g     q@r  r  r  g     v@)g      R@g      Z@r  g      e@r  r        n@g     p@r  r  g     t@r  g     @v@g      w@r~   r   )r;   	quantilesr  r  rE   rg   r   r   r   r   r   r4  r  r  rk   r  choicesr  )rI   r  r  r   r#   r   sdatalohipadded_datar   expactr  q1q2q3r  s   &                @r   test_specific_cases!TestQuantiles.test_specific_cases	  sF    ((	(tGL%&,-34ABOP   ! 5 6KA Xy';<S4!56A>"GX6"3x#6!<I&II  c(H.E)FG 7
 8}!  8!98D 4LEU1Xa(BU2Yr*Bb/K$$+;?	*s1'(CCLA.COOCCMs3}MCCCMs3}MMNSV q"A>>%*2D"4JBBR!2!24!89 r   c                  a \         P                  p. ROp\        P                  ! V4       ^. 3^R.3^RR.3^. RO3^. RO3^. RO3^. RO3^
. RO3^. RO3^. RO33
 EF6  w  r4V P	                  WA! W#RR7      4       V P	                  \        V! W#RR7      4      V^,
          4       \        \        \        3 FX  oV! \        SV4      VRR7      pV P                  V3R lV 4       4       V P	                  V\        \        SV4      4      4       KZ  	  R p\        \        Wd4      4      pV! \        Wb4      VRR7      pT P                  \        ;QJ d%    R \        Wx4       4       F  '       d   K   R	M	  R
M! R \        Wx4       4       4      4       EK9  	  V P	                  V! ^ ^d.^
RR7      . RO4       V P	                  V! \        ^ ^e4      ^
RR7      . RO4       \        R4       U	u. uF  p	\        P                  ! R4      NK  	  pp	V! V^ RR7      p
VP!                  \#        V4      4       VP!                  \%        V4      4       V! V^ R7      pV P	                  WJ4       \        ^^<4       FW  p\        P&                  ! \        ^d4      VR7      pV! VRR7      w  rpV P	                  V\         P(                  ! V4      4       KY  	  V P	                  V! ^
.^R7      . RO4       V P	                  V! ^
.^RR7      . RO4       R# u up	i )r[       r@r        y@r  r  c              3   R   <"   T F  p\        \        V4      S8H  4      x  K  	  R # 5irZ   r  r  s   & r   r  >TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>/
  r  rr  c                 "    R V ,          R,
          # r  r4   r   s   &r   r   6TestQuantiles.test_specific_cases_inclusive.<locals>.f2
  r  r   c              3   R   "   T F  w  r\         P                  ! W4      x  K  	  R # 5irZ   r  r  s   &  r   r  r  6
  r  r  FTi  r  r  r  r  	exclusiveN)r[  r  i  i   )     e@r       @@)r  r       v@     @)     b@r  r  r       @)g     0a@   r  r  g     pw@r  g     P@)	g     @`@r  g     g@r  r  r  g     {@r  g     @@)g     @_@r  r   r  r  r  r  r  r  r  g     @)r  g     a@r  g     f@r  r  g     q@r  r  r  g      ~@r  g      @g     @)	      $@ru  g      >@g      D@rB  g      N@g     Q@r  g     V@r  r  r  )r;   r  r  r  rE   rg   r   r   r   r   r   r4  r  rk   r  r  r  r   r    r  r  )rI   r  r  r   r#   r   r   r  r  rm   r"   r  r  r  r  r  s   &              @r   test_specific_cases_inclusive+TestQuantiles.test_specific_cases_inclusive
  s    ((	#tGL%&,-34>?PQ ' ( 5 6KA Xy;'OPS4[!IJAPQER"GX6"3x#6!KPI&II  c(H.E)FG 7
*s1'(CCLAkBCOOCCMs3}MCCCMs3}MMN58 	As8r+FO	Q5C=B{KO	Q
 38*=*Q  (*=42k:CICITR(*q"A>>%*2D"4<JBBR!2!24!89  	B41-/ABB41[ACUV >s   +L
c                    \         P                  p\        ^^
4       FC  pR.V,          pV P                  V! V4      . RO4       V P                  V! VRR7      . RO4       KE  	  R# )r   r  r  r  Nr  )r;   r  r  rE   )rI   r  r   r  s   &   r   test_equal_inputsTestQuantiles.test_equal_inputsP
  sW    ((	q"A6A:DYt_.@AYtK@.0 r   c                &   \         P                  pR p\        V4       Uu. uF  p\        P                  ! R4      NK  	  pp\        \        V4      4      V8w  d(   VP                  \        P                  ! R4      4       K@  VP                  4        R F[  pW%,          pT P                  V! WER7       Uu. uF  p\        P                  ! WG4      NK  	  up\        \        WbV4      4      4       K]  	  R F  pW%,          W%,          ^,           0pV! WER7       Uu. uF  p\        P                  ! WG4      NK  	  p	p\        WR,          4       U
Uu0 uF  w  rWz,
          kK  	  pp
pV P                  W8*  4       K  	  R# u upi u upi u upi u upp
i )r  皙?r  :r	   NNN)r	   r   r   r  r  r  r[  r  r  rG  rC  r  r  )
r%     ;   m      i;  i  is  i  i)&  )r;   r  r  r  rH  rg   setr  sortrE   r  r4  rk   r   )rI   r  totalrm   r  r   
group_sizeqgroup_sizesposr  sizess   &           r   test_equal_sized_groups%TestQuantiles.test_equal_sized_groupsX
  sE   ((	16u>A""3'>#d)n%KK**3/0		 OAJ1:41EF1EAt'1EFU:j9:< O EA :uzA~6K3<T3GH3Ga6==)3GCH'*3B'89'8tqQUU'8E9OOE01	 E ? G I9s   E>4F
FFc                   \         P                  p\         P                  pV P                  \        4      ;_uu_ 4        V! 4        R R R 4       V P                  \        4      ;_uu_ 4        V! . RO^^R7       R R R 4       V P                  \        4      ;_uu_ 4        V! . RO^4       R R R 4       V P                  V4      ;_uu_ 4        V! . RO^ R7       R R R 4       V P                  V4      ;_uu_ 4        V! . RORR7       R R R 4       V P                  \        4      ;_uu_ 4        V! . RORR7       R R R 4       V P                  \
        4      ;_uu_ 4        V! . RORR7       R R R 4       V P                  V4      ;_uu_ 4        V! . ^R7       R R R 4       V P                  \        4      ;_uu_ 4        V! . RO^R7       R R R 4       R #   + '       g   i     EL; i  + '       g   i     ELv; i  + '       g   i     ELY; i  + '       g   i     EL?; i  + '       g   i     EL%; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R # ; i)Nr  r   Xr  r  r~   )r  Nr(  )r;   r  r  r]  r  r*   )rI   r  r  s   &  r   r  TestQuantiles.test_error_caseso
  s   ((	$44y))K *y))lB!, *y))lA& *//la( 0//lb) 0y))lc* *z**l3/ +//bA 0y))n* *)! *))))))))//////)))**//)))sk   G+G&G:H9H"+H6I
I;I0G#	&G7	:H	H	"H3	6I	
I	I-	0J	r4   N)r6   r7   r8   r9   r  r	  r  r  r  r:   rT   rU   s   @r   r  r  	  s&     4:l9Wv02.+ +r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestBivariateStatisticsi
  c                R   . RO^^.3^^.. RO33 F  w  rV P                  \        P                  4      ;_uu_ 4        \        P                  ! W4       RRR4       V P                  \        P                  4      ;_uu_ 4        \        P                  ! W4       RRR4       V P                  \        P                  4      ;_uu_ 4        \        P
                  ! W4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lo; i  + '       g   i     EK  ; i)r	   Nr  r]  r;   r  
covariancecorrelationlinear_regressionrD  s   &  r   test_unequal_size_error/TestBivariateStatistics.test_unequal_size_error
  s    AVY
DA "":#=#=>>%%a+ ?"":#=#=>>&&q, ?"":#=#=>>,,Q2 ?>
 ?>>>>>>s#   C.D	D.C>DD&c                r   . . 3. ^^.3^^.. 3^.^.3^.^^.3^^.^.33 F  w  rV P                  \        P                  4      ;_uu_ 4        \        P                  ! W4       RRR4       V P                  \        P                  4      ;_uu_ 4        \        P                  ! W4       RRR4       V P                  \        P                  4      ;_uu_ 4        \        P
                  ! W4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lo; i  + '       g   i     EK  ; ir   r$  rD  s   &  r   test_small_sample_error/TestBivariateStatistics.test_small_sample_error
  s    H!QMWbMTA4LTAq7OWqdO
DA "":#=#=>>%%a+ ?"":#=#=>>&&q, ?"":#=#=>>,,Q2 ?>
 ?>>>>>>s$   C>DD$>DD!$D6r4   N)r6   r7   r8   r9   r(  r+  r:   rT   rU   s   @r   r"  r"  
  s     
33 3r   r"  c                      a  ] tR tRt o R tR tR t]]P                  ! ]
R4      ]P                  R 4       4       4       tR tRtV tR	# )
TestCorrelationAndCovariancei
  c                   . RO. RO^3. RO. ROR3. RO. ROR3. RO. RO^ 3. RO. ROR33 FR  w  rpV P                  \        P                  ! W4      V4       V P                  \        P                  ! W4      V4       KT  	  R# )	r	   r   Nr  r~   r~   r   r  )r#  r   r	   )r	   r   r	   )r	   r#  r   r9  r;   r&  r%  )rI   r   r,   r   s   &   r   test_results)TestCorrelationAndCovariance.test_results
  s|    	1%b)	2&	1%	3'
LA& "":#9#9!#?H"":#8#8#>G
r   c                N   . ROp. ROpV P                  \        P                  ! W4      R4       V P                  \        P                  ! W4      ^4       . ROpV P                  \        P                  ! W4      ^4       V P                  \        P                  ! W4      R4       R# )r	   r   r   Nr  )r  r(  r  )r   r  g333333?r1  rD  s   &  r   test_different_scales2TestCorrelationAndCovariance.test_different_scales
  s}    z55a;SAz44Q:A>z55a;Q?z44Q:C@r   c           
         \        ^d4       F  p\        P                  ! 4       p\        P                  ! 4       p\        P                  ! W#,          4      p\
        P                  ! W#4      pV P                  W#WER7      ;_uu_ 4        V P                  WE4       RRR4       K  	  RRRrcpV P                  \
        P                  ! W#4      V4       V P                  \        P                  ! W#,          4      V4       \        P                  P                  \        P                  P                  ,          pV P                  \
        P                  ! Ww4      V4       \        P                  P                  pV P                  \
        P                  ! W4      V4       RRRRRR\        P                   \        P                   ) \        P"                  \        P"                  ) .
p	\$        P&                  ! V	^R	7       EF/  w  r# \        P                  ! W#,          4      p \
        P                  ! W#4      pV P                  W#WER7      ;_uu_ 4        \+        V\,        4      '       d%   VR
8X  d   V P                  VR
4        RRR4       K  V P/                  V\0        4       \        P2                  ! V4      '       d1   V P5                  \        P2                  ! V4      4        RRR4       K  V P                  WT4       V P                  \7        V4      \7        V4      4       RRR4       EK2  	  R#   + '       g   i     EK4  ; i  \(         d    R
p EL8i ; i  \(         d    R
p EL5i ; i  + '       g   i     EK  ; i)r[  )r   r,   r#   r"   N?4ܶ?Қzv?SdP?r|   r   rs  )repeatr*   r}   r  r_  )r  r  rH  r
   r  r;   	_sqrtprodrc  r9  rE   rW  sys
float_infor   epsilonr    rK  r   r  r  r*   r   r3  r  r   r   r   r   )
rI   rm   r   r,   r#   r"   targetsmallestbiggestspecial_valuess
   &         r   *test_sqrtprod_helper_function_fundamentalsGTestCorrelationAndCovariance.test_sqrtprod_helper_function_fundamentals
  s   sA""$A""$Ayy'H))!/FII&&x8 JI  *+=?Qf--a3V<DIIae,f5 >>%%(>(>>--hA8L..$$--g?I tS$T((TXXItxx$((D%%nQ??DA(99QU+&#--a3 IIh,,\1I$$V\: JI %%fe4::h''OODJJv$67 JI   2  ftH~> JI @! JII&  ('(  &%&IIIsN   L.?MM1M+1M+:&M+*5M+.M MMM('M(+M=z8accuracy not guaranteed on machines with double roundingc                   R RRr2pV P                  \        P                  ! W4      V4       V P                  \        P
                  ! W,          4      V4       R R lp^ p^ p\        R4       F}  p\        P                  ! 4       p\        P                  ! 4       p\        P                  ! W4      p\        P
                  ! W,          4      p	V! W4      p
WXV
8H  ,          pWiV
8H  ,          pK  	  V P                  WV4       R# )r8  r9  r:  c                <    V ^8  d   QhR\         R\         R\         /# )r   r   r,   r  )r   )r   s   "r   r  bTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy.<locals>.__annotate__
  s!     	- 	-u 	- 	-5 	-r   c                    \         P                  ! V 4      p \         P                  ! V4      p\         P                  ! 4       ;_uu_ 4       p^Vn        \	        W,          P                  4       4      uuRRR4       #   + '       g   i     R# ; i)r  N)rF  r   rG  r%  r   r  )r   r,   r)  s   && r   reference_valueeTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy.<locals>.reference_value
  sU    "A"A%%''3ae\\^, ('''s   
&A;;B	r  N)
rE   r;   r<  rW  r
   r  r  r  rH  r  )rI   r   r,   r@  rJ  new_agreementsold_agreementsrm   ry  oldrefs   &          r   /test_sqrtprod_helper_function_improved_accuracyLTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy
  s     *+=?Qf--a3V<DIIae,f5	- vA""$A""$A&&q,C))AE"C!!'Ccz*Ncz*N  	>:r   c                
   . ROp. ROpV P                  \        P                  ! WRR7      R4       V P                  \        4      ;_uu_ 4        \        P                  ! WRR7       RRR4       R#   + '       g   i     R# ; i)8   rankedr  gl\e?
bad_methodN)
rS  K   -   r  =   r  :   P   L   rX  )
B   F   r  r  A   rS  r  M   C   ?   )r9  r;   r&  r]  r*   )rI   readingmathematicss   &  r   test_correlation_spearman6TestCorrelationAndCovariance.test_correlation_spearman  sa     ;>z55gS[\1	3 z**""7M +***s   A11B	r4   N)r6   r7   r8   r9   r2  r5  rD  r   rR   skipIfHAVE_DOUBLE_ROUNDINGr   cpython_onlyrP  rd  r:   rT   rU   s   @r   r.  r.  
  s^     	HA)?V __)OQ; Q ;6N Nr   r.  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestLinearRegressioni  c                    . ROp. ROpV P                  \        P                  4      ;_uu_ 4        \        P                  ! W4       RRR4       R#   + '       g   i     R# ; i)r	   N)r	   r	   r	   r  )r]  r;   r  r'  rD  s   &  r   test_constant_input_error.TestLinearRegression.test_constant_input_error  s@    z99::((. ;:::s   AA"	c           
        . RO. RO^ ^ 3. RO. RO^ ^3. RO. RO^d^ 3. RO. RO^
^3. RO. RO^ R3. RO. R	O^^3. RO. R
O^R33 F@  w  rr4\         P                  ! W4      w  rVV P                  Wc4       V P                  WT4       KB  	  R# )r	   r   Nr  )r)   r)   r)   )r[  r[  r[  )r  r&  r   r~   r0  )   r*  r   )r  g@r6  )r;   r'  r9  )rI   r   r,   true_intercept
true_slopeslope	intercepts   &      r   r2  !TestLinearRegression.test_results  s    	1a(	1a(a0b!,a,b!,C01
,A.  *;;AAE""9=""551
r   c                    . ROp. ROp\         P                  ! WRR7      w  r4V P                  VR4       V P                  VR4       R# )r  Tproportionalr|   N)r  r  r(  r  )   i  ib  i  gN4@)r;   r'  r9  rE   rI   r   r,   rr  rs  s   &    r   test_proportional&TestLinearRegression.test_proportional,  sA     %774Puj1C(r   c                   \        ^^4      \        ^^4      .p\        ^^4      \        ^^4      .p\        P                  ! W4      w  r4V P                  \	        V\
        4      4       V P                  \	        V\
        4      4       \        P                  ! WRR7      w  r4V P                  \	        V\
        4      4       V P                  \	        V\
        4      4       R# )r   Trv  N)r   r;   r'  r   r   r   ry  s   &    r   test_float_output&TestLinearRegression.test_float_output3  s    a^Xa^,a^Xa^,%77=
5%01
9e45%774P
5%01
9e45r   r4   N)
r6   r7   r8   r9   rl  r2  rz  r}  r:   rT   rU   s   @r   rj  rj    s     /6)6 6r   rj  c                      a  ] tR tRt o R tR tR tR tR tR t	]
P                  ]
P                  ! R4      R	 4       4       tR
 tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestNormalDisti=  c                   V P                   P                  R ^4      pV P                  \        4      ;_uu_ 4        \	        V4       RRR4       V P                  \        VP                  4      R4       R#   + '       g   i     L7; i)rP  N)_mu_sigma)r  
NormalDistr]  r  varsrE   r5  	__slots__rI   nds   & r   
test_slotsTestNormalDist.test_slotsF  sX    [[##C,y))H *r||,.?@ *)s   A55B	c                   V P                   P                  R ^4      pV P                  VP                  R 4       V P                  VP                  ^4       V P                  VP
                  R4       V P                   P                  4       pV P                  VP                  ^ 4       V P                  VP                  ^4       V P                  VP
                  ^4       V P                  V P                   P                  4      ;_uu_ 4        V P                   P                  R R4       RRR4        ! R RV P                   P                  4      pV! ^^4      pV P                  \        V4      V4       R#   + '       g   i     LU; i)r  Nc                       ] tR tRtRtR# )GTestNormalDist.test_instantiation_and_attributes.<locals>.NewNormalDisti]  r4   Nr5   r4   r   r   NewNormalDistr  ]  r  r   r  i!  i)	r  r  rE   rj  r3  r  r]  r  r   )rI   r  r  nnds   &   r   !test_instantiation_and_attributes0TestNormalDist.test_instantiation_and_attributesL  s   [[##C,#&2&e, [[##%!$1%d+ t{{::;;KK""3, <	DKK22 	C#cM2 <;s   E66F	c                &   V P                   P                  p. ROpV P                  VP                  V4      V! ^c^	4      4       V P                  VP                  \	        V4      4      V! ^c^	4      4       V P                  VP                  \        V4      4      V! ^c^	4      4       V P                  V P                   P                  4      ;_uu_ 4        VP                  . 4       RRR4       V P                  V P                   P                  4      ;_uu_ 4        VP                  ^
.4       RRR4        ! R RV4      pVP                  V4      pV P                  \        V4      V4       R#   + '       g   i     L; i  + '       g   i     L\; i)`   Nc                       ] tR tRtRtR# )BTestNormalDist.test_alternative_constructor.<locals>.NewNormalDistir  r4   Nr5   r4   r   r   r  r  r  r  r   r  )r  r   Z   \   n   )	r  r  rE   from_samplesr5  r  r]  r  r   )rI   r  r  r  r  s   &    r   test_alternative_constructor+TestNormalDist.test_alternative_constructorb  s"   [[++
%006
2q8IJ00t=z"a?PQ00d<jQ>OPt{{::;;##B' <t{{::;;##RD) <	J 	((.cM2 <;;;s   E-F -E=	 F	c                   V P                   P                  pR Rr2V! W#4      pRpVP                  V4      pV P                  \	        V4      V4       V P                  \        \        \        V4      4      \        04       V P                   P                  V4      pT P                  W#^,          ,
          Tu;8*  ;'       d    W#^,          ,           8*  Mu 4       ^dpVP                  VRR7      pVP                  VRR7      p	VP                  VRR7      p
VP                  VRR7      pV P                  W4       V P                  W4       V P                  W4       R# )r  r<  rG  zhappiness and joyr  ztrouble and despairN)r  r  samplesrE   rg   r  r   r   r   rj  r   rW  )rI   r  r   sigmar  r   r  r  data1data2data3data4s   &           r   test_sample_generation%TestNormalDist.test_sample_generationw  s   [[++
CEr!yy|TA&St_-w7{{%1W<<1W<= 		!"5	6		!"7	8		!"5	6		!"7	8&&E)r   c           	        V P                   P                  pV! ^d^4      pV P                  VP                  ^c4      VP                  ^d4      4       V P                  VP                  ^e4      VP                  ^d4      4       \	        ^24       FA  pV P                  VP                  ^dV,
          4      VP                  ^dV,           4      4       KC  	  R8p\	        ^Z^o4       FZ  pVP                  WT,           4      VP                  V4      ,
          V,          pV P                  VP                  V4      V^R7       K\  	  V! 4       p\        . RNRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1N4       FZ  w  rXV P                  VP                  VR2,          4      V^R7       V P                  VP                  V) R2,          4      V^R7       K\  	  V! ^d^ 4      p	V P                  V P                   P                  4      ;_uu_ 4        V	P                  ^Z4       R3R3R34       V P                  VP                  \        R44      4      R54       V P                  VP                  \        R64      4      R54       V P                  \        P                  ! VP                  \        R74      4      4      4       R3#   + '       g   i     L; i)9r[  rR  g+ݓ?ggDio?g?gV}b?gQ|?gFx?ggs?g٬\m?g rh?gK7A`?g|гY?gQ?gQI?gsh|??g=yX5?g|a2U0*?gQ?gN@?g/$?g~k	?g]C?gw/?g~:p?g>W[?gMO?gW[?g鷯?g{Gz?gqh?g|a2U?gK7A?gvq-?gjt?gc]F?g\C?gףp=
?g?ga2U0*?gy):?g(y?gN@a?gfc]F?g"lxz,?gOn?g37?gec]?gn?gT?r  N-Infr|   r  r  g      P?)r  r  r  r  r  r9  r  rj   r]  r  rE   r   r   r
   r   )
rI   r  r  rm   ro  r   est_pdfZpxYs
   &         r   test_pdfTestNormalDist.test_pdf  s   [[++
sBb	155:.c
AEE#J/rA""155q>155q>B  r3AuuQV}quuQx/25G""1558WQ"?   L  
 
 
" 
$* 
,2 
 
 
" 
$* 
,2 
  
  
 # 
 %+ 
 -3 
 	 
 	 
 #	 
 %+	 
 -3	 

  

  

 # 

 %+ 

 -3 
  
  
 # 
 %+ 
 -3 
  
  
 # 
 %+ 
 -3 
  
  
 # 
 %+ 
 -3 
  
  
 # 
 %+ 
 -3 
  
  
 # 
 %+ 
 -3 
 EA ""155U#3R"B""155!e#4b"C sAt{{::;;EE"I < 	uV}-s3uU|,c2

155u#678 <;s   K33L	c           	        V P                   P                  pV! ^d^4      p\        ^^4       Uu. uF  q2P                  V4      NK  	  ppV P	                  \        \        \        V4      4      \        04       V P	                  V\        V4      4       V P	                  VP                  ^d4      R4       V! 4       pR	 FS  w  rgV P                  VP                  V4      V^R7       V P                  VP                  V) 4      RV,
          ^R7       KU  	  V! ^d^ 4      pV P                  V P                   P                  4      ;_uu_ 4        VP                  ^Z4       RRR4       V P	                  VP                  \        R4      4      R4       V P	                  VP                  \        R4      4      R4       V P                  \        P                  ! VP                  \        R4      4      4      4       R# u upi   + '       g   i     L; i)
r[  r   r|   rR  r   Nr  r  r  ))r|   r   )r   gqZ ?)r  gE_A?)gQ?gGɫs?)g(\?g؞Y?)gQ?g9#?)gHzG?g&S?)r  gMbX9?)gQ?gT㥛 ?)g?g??)gffffff @g_xZ?)gQ@g#0?)g)\(@gu<f2?)gףp=
@gVe?)gHzG@g9?)r  r  r  r  rE   r  r   r   r   r  r9  r]  r  r   r
   r   )	rI   r  r  r   cdfsr  zcum_probr  s	   &        r   test_cdfTestNormalDist.test_cdf  s   [[++
sB"'3-0-Qa-0St_-w7vd|,sT* LKA ""1558Xa"@""155!9cHnQ"G sAt{{::;;EE"I < 	uV}-s3uU|,c2

155u#6783 1( <;s   G6	G;;H	r  c           	        V P                   P                  pV! ^d^4      pV P                  VP                  R4      VP                  4       V! 4       pRRRRRR/pVP                  4        F|  w  rV\        V^R7       Ff  w  rxVRV) ,          ,          p	V P                  VP                  V	4      ) V^R7       RV	,
          p	V P                  VP                  V	4      V^R7       Kh  	  K~  	  V P                  V! ^(R	4      P                  R
4      R4       Rp
\        ^V
4       F;  p	W,          p	V P                  VP                  VP                  V	4      4      V	4       K=  	  \        ^^34       Fv  pRV) ,          p	V P                  VP                  VP                  V	4      4      V	4       RV	,
          p	V P                  VP                  VP                  V	4      4      V	4       Kx  	  \        ^4       F5  pV P                  VP                  VP                  V4      4      V^R7       K7  	  V P                  V P                   P                  4      ;_uu_ 4        VP                  R4       RRR4       V P                  V P                   P                  4      ;_uu_ 4        VP                  R4       RRR4       V P                  V P                   P                  4      ;_uu_ 4        VP                  R4       RRR4       V P                  V P                   P                  4      ;_uu_ 4        VP                  R4       RRR4       V! ^d^ 4      pV P                  VP                  R4      ^d4       V P                  \        P                  ! VP                  \        R4      4      4      4       R#   + '       g   i     ELO; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i)r[  r   r	  r|   rr  r   )startr  rR  r   g>?g  E@rv  Ng?r  )
r|   gRQ?gS㥛@gS
@gT㥛 @g^I@g rh@g+N@gC@gV-o@)
g rh?g\(\?g~jt@g+@gMbX9@g(\B@gv@g@gSc@gK7A@)
gPn?gS㥛@gQ@gn@g(\@gPn@g@g r@gˡE@glq@i   r  )r  r  rE   inv_cdfrj  r  rj   r9  r  r  r]  r  r   r
   r   r   )rI   r  iqr  ppr$   rowr  r   r  r   rn   s   &           r   test_inv_cdfTestNormalDist.test_inv_cdf  s     [[++
 R D)2773
 L 7 7 7	8 ID#Cq14SD>)&&		!}a&B!G&&qyy|Qq&A	 2 $ 	z"c2::8DiP q!AFA""266"**Q-#8!<  q"AA""266"**Q-#8!<aA""266"**Q-#8!<	  sA""2::bffQi#8!A"F  t{{::;;JJsO <t{{::;;JJt <t{{::;;JJsO <t{{::;;JJsO < QC#. 	

199U5\#:;< <;;;;;;;;;s0   N.O$O+O).N?	O	O&	)O9	c           
     @   V P                   P                  4       p^. 3^R.3^RR.3^. R	O33 Fl  w  r#VP                  VR7      pT P                  \        ;QJ d%    R \        W44       4       F  '       d   K   RM	  RM! R \        W44       4       4      4       Kn  	  R# )
r	   r|   gǘ?r  c              3   V   "   T F  w  r\         P                  ! WR R7      x  K!  	  R# 5i)r   r  Nr  r  s   &  r   r  0TestNormalDist.test_quantiles.<locals>.<genexpr>  s'       ?(= !%Q6 B B(=s   ')FTNgǘۿ)g/$r|   g/$?)r  r  r  r   r  rk   )rI   r  r   r#   r"   s   &    r   test_quantilesTestNormalDist.test_quantiles  s    KK""$GJ&!"&'	KA [[1[%FOOCC  ?(+H(= ?CCC  ?(+H(= ? ? @r   c                   V P                   P                  pV! R R4      V! RR4      R3V! R R4      V! RR4      R33 FL  w  r#pV P                  VP                  V4      V^R7       V P                  VP                  V4      V^R7       KN  	  RRR^/R	 lpV! R R4      V! RR4      3V! R R4      V! RR4      3V! R R4      V! RR4      3V! ^F^4      V! ^AR
4      3V! ^d^4      V! ^n^4      3V! R^4      V! ^n^4      3V! R^4      V! R^4      3V! ^d^4      V! ^d^4      3V! ^d^4      V! ^n^4      3V! ^d^4      V! ^^4      3V! ^d^4      V! ^^#4      3V! RR4      V! RR4      3V! RR4      V! RR4      3V! RR4      V! RR4      33 FW  w  r#V P                  VP                  V4      V! W#4      ^R7       V P                  VP                  V4      V! W#4      ^R7       KY  	  V! 4       pV P	                  \
        4      ;_uu_ 4        VP                  4        RRR4       V P	                  \
        4      ;_uu_ 4        VP                  Wf4       RRR4       V P	                  \
        4      ;_uu_ 4        VP                  R4       RRR4       V P	                  V P                   P                  4      ;_uu_ 4        VP                  V! ^^ 4      4       RRR4       V P	                  V P                   P                  4      ;_uu_ 4        V! ^^ 4      P                  V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r|   rv  r   gɎ@?gM-[닄?rR  ru  i    r  c                $   \         P                  pV P                  VP                  ,           R ,          pV\        V P                  VP                  4      ,          pWV,
          pR V,          V,          p\        V4       U	u. uF  qW,          ,           NK  	  p
p	\        \        V P                  V
4      4      p\        \        VP                  V
4      4      p\        V! V4      V! V4      4      pV! \        \        W4      4      V,          # u up	i )rv  )
r
   r  rj  r    r3  r  r4  r   r  r   )r  r  ru  r  r  centerwidthr  ro  rm   x_arrxpypr  s   &&$$          r   overlap_numeric4TestNormalDist.test_overlap.<locals>.overlap_numeric.  s    99Dffqvvo,FAGGQWW--ENEuu$B+0<8<aQT\\<E8c!%%'(Bc!%%'(BR$r(+EC()E11	 9s   Dr\  r5  gjt?g~jth?gjt?ga2U0*3?gMbX?Nr  i)r  r  r9  overlapr]  r  r  )rI   r  X1X2published_resultr  r  s   &      r   test_overlapTestNormalDist.test_overlap"  s2   [[++
 C%z#s';WEC%z#s';WE)$B$ ""2::b>3CA"N""2::b>3CA"N)	25 	2A 	2 C%z#s';<C%z#s';<C%z#s';<B"Jr3$78C$jb&9:D"%z#r':;D"%z$';<C$jb&9:C$jb&9:C$jb&9:C$jb&9:E5):eU+CDE5):eV+DEE5):eU+CD)FB, ""2::b>?23JST"U""2::b>?23JST"U/4 Ly))IIK *y))IIaO *y))IIdO *t{{::;;IIjA&' <t{{::;;q!$$Q' <; *))))));;;;;s<   L*;L>2M9M$M7*L;	>M	M!	$M4	7N	c                   V P                   P                  pV! ^d^4      pV P                  VP                  ^4      R4       V P                  VP                  ^:4      R4       V P                  VP                  ^d4      R4       V P	                  \
        4      ;_uu_ 4        VP                  4        RRR4       V P	                  \
        4      ;_uu_ 4        VP                  ^^4       RRR4       V P	                  \
        4      ;_uu_ 4        VP                  R4       RRR4       V P	                  V P                   P                  4      ;_uu_ 4        V! ^^ 4      P                  ^d4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r[  gffffff@r|   Ngffffff)r  r  rE   zscorer]  r  r  )rI   r  r  s   &  r   test_zscoreTestNormalDist.test_zscorea  s!   [[++
sB#,"t,#,y))HHJ *y))HHQN *y))HHTN *t{{::;;q!##C( <; *)))));;;s0    E8FFF18F	F	F.	1G	c                V   V P                   P                  ^d^4      pV P                  VP                  ^d4       V P                  VP                  ^d4       V P                  VP
                  ^d4       V P                  VP                  ^4       V P                  VP                  ^4       R# r[  N)r  r  rE   rj  r  r\  r3  r  )rI   r  s   & r   test_propertiesTestNormalDist.test_propertiesp  s|    KK""3+%3'%"%S)r   c                    V P                   P                  pV! ^d^4      pV! ^(^4      pV P                  W#,           V! ^^4      4       V P                  W#,
          V! ^<^4      4       R# r  )r  r  rE   rI   r  r  r  s   &   r   'test_same_type_addition_and_subtraction6TestNormalDist.test_same_type_addition_and_subtractionx  s[    [[++
sBr1
3 34
2r 23r   c                   V P                   P                  pV! ^d^4      p^
pV P                  V5V! ^d^4      4       V P                  V) V! R^4      4       V P                  W#,           V! ^n^4      4       V P                  W2,           V! ^n^4      4       V P                  W#,
          V! ^Z^4      4       V P                  W2,
          V! R^4      4       V P                  W#,          V! R^4      4       V P                  W2,          V! R^4      4       V P                  W#,          V! ^
R4      4       V P                  \        4      ;_uu_ 4        W2,           RRR4       R#   + '       g   i     R# ; i)r[  rG  r   Nr  i)r  r  rE   r]  r  )rI   r  r  r,   s   &   r   test_translation_and_scaling+TestNormalDist.test_translation_and_scaling  s(   [[++
sB!ZR01!Zb12
3 34
3 34
2r 23
3 34
4 56
4 56
2s 34y))E *)))s   	EE0	c                   V P                   P                  pV! ^d^4      pV5pV P                  W#4       V P                  VP                  VP                  4       V P                  VP
                  VP
                  4       V) pV P                  W#4       V P                  VP                  VP                  ) 4       V P                  VP
                  VP
                  4       R# r  )r  r  assertIsNotrE   rj  r3  r  s   &   r   test_unary_operations$TestNormalDist.test_unary_operations  s    [[++
sBB(!''*B!&&)!''*r   c                   V P                   P                  pV! 4       pV! ^^4      pV! 4       pV! ^^4      pV! ^^4      pV! ^^4      pV P                  W#4       V P                  W$4       V P                  W54       V P                  W64       V P                  W74        ! R R4      pV! 4       p	V P                  VP	                  V	4      \
        4       V P                  W)8H  ^
4       V P                  W8H  ^
4        ! R RV4      p
V
! ^d^^94      pV! ^d^4      pV P                  W4        ! R R4      pV! ^d^4      pV! ^d^4      pV P                  W4       R# )r   c                   &   a  ] tR tRt o R tRtV tR# )'TestNormalDist.test_equality.<locals>.Ai  c                    ^
# r  r4   )rI   rL  s   &&r   __eq__.TestNormalDist.test_equality.<locals>.A.__eq__  s    r   r4   N)r6   r7   r8   r9   r  r:   rT   rU   s   @r   r  r    s      r   r  c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )5TestNormalDist.test_equality.<locals>.SizedNormalDisti  c                2   < \         SV `  W4       W0n        R # rZ   )rT  __init__r   )rI   r   r  r   rS  s   &&&&r   r  >TestNormalDist.test_equality.<locals>.SizedNormalDist.__init__  s     +r   r  )r6   r7   r8   r9   r  r:   rT   rZ  r[  s   @@r   SizedNormalDistr    s      r   r  c                   &   a  ] tR tRt o R tRtV tR# )3TestNormalDist.test_equality.<locals>.LognormalDisti  c                    Wn         W n        R # rZ   r   r  )rI   r   r  s   &&&r   r  <TestNormalDist.test_equality.<locals>.LognormalDist.__init__  s    "
r   r  N)r6   r7   r8   r9   r  r:   rT   rU   s   @r   LognormalDistr    s     # #r   r  N)r  r  rW  rE   r  NotImplemented)rI   r  nd1nd2nd3nd4nd5nd6r  r   r  sr  lndr  s   &              r   test_equalityTestNormalDist.test_equality  sL   [[++
lAlAAAC%""C%C%	 	 CA72&2&	j 	 CR(b! 
	# 	# C$R B$r   c                    V P                   P                  R R4      p\        P                  ! V4      pV P                  W4       \        P                  ! V4      pV P                  W4       R# )     B@     @N)r  r  copyrE   deepcopy)rI   r  r  r  s   &   r   	test_copyTestNormalDist.test_copy  sO    [[##D%0iim!mmB!r   c           
     r   V P                   P                  R R4      p\        \        P                  ^,           4       Fb  pV P                  VR7      ;_uu_ 4        \        P                  ! \        P                  ! WR7      4      pV P                  W4       RRR4       Kd  	  R#   + '       g   i     Ky  ; i)r   r  )proto)protocolN)	r  r  r  pickleHIGHEST_PROTOCOLrc  loadsdumpsrE   )rI   r  r  pickleds   &   r   test_pickleTestNormalDist.test_pickle  sz    [[##D%0622Q67EE** ,,v||B'GH  - +* 8***s   =B%%B6c                    V P                   P                  pV! ^d^4      V! RR4      V! ^d^
4      V! ^_^4      V! ^d^4      0pV P                  \        V4      ^4       R# )r[  r  g      .@N)r  r  rE   rg   )rI   NDr  s   &  r   test_hashabilityTestNormalDist.test_hashability  sS    [[##R["UD/2c2;2r
BsBKPQ#r   c                t    V P                   P                  R R4      pV P                  \        V4      R4       R# )r   r  z NormalDist(mu=37.5, sigma=5.625)N)r  r  rE   r  r  s   & r   	test_reprTestNormalDist.test_repr  s-    [[##D%0b#EFr   r4   N)r6   r7   r8   r9   r  r  r  r  r  r  r   skip_if_pgo_taskr/  r  r  r  r  r  r  r  r  r  r  r  r  r  r:   rT   rU   s   @r   r  r  =  s     A3,3**,%9N9< u%?= & ?=B@=(~)*4 
+*%X".$
G Gr   r  c                   0   a  ] tR tRt o ]tR tR tRtV t	R# )TestNormalDistPythoni  c                @    V P                   \        P                  R &   R# rC   r  r=  modulesr   s   &r   r  TestNormalDistPython.setUp      $(KKL!r   c                4    \         \        P                  R &   R# rC   r;   r=  r  r   s   &r   tearDownTestNormalDistPython.tearDown      $.L!r   r4   N)
r6   r7   r8   r9   rG   r  r  r!  r:   rT   rU   s   @r   r  r    s     F0/ /r   r  rM   c                   0   a  ] tR tRt o ]tR tR tRtV t	R# )TestNormalDistCi  c                @    V P                   \        P                  R &   R# rC   r  r   s   &r   r  TestNormalDistC.setUp  r  r   c                4    \         \        P                  R &   R# rC   r   r   s   &r   r!  TestNormalDistC.tearDown  r#  r   r4   N)
r6   r7   r8   r9   rO   r  r  r!  r:   rT   rU   s   @r   r%  r%    s     F0/ /r   r%  c                     VP                  \        P                  ! 4       4       \        P                  R 8X  d*   VP                  \        P                  ! \
        4      4       V# )short)addTestsdoctestDocTestSuiter=  float_repr_styler;   )loadertestsignores   &&&r   
load_testsr3    sA    	NN7'')*
w&w++J78Lr   __main__g7yAC)r  gHz>)Wr   r  r[   collections.abcr  rF  r-  r  r
   r	  r  r=  rR   testr   test.supportr   r   r   r  r   r;   r,   rg  r   r   r'   r1   r3   import_fresh_modulerG   rO   rn  r@   rX   rz   r   r   r   r   rE  rX  rd  r  r  r  r  r  r  rB  rs  r  r  r  r  r&  r/  rU  rh  r  r  r  r  r  r  rZ  rz  r  r  r  r  r  r  r1  r>  rh  r  r"  r.  rj  r  r  rS   r%  r3  r6   mainr4   r   r   <module>r:     sz  
           
   9    V1A) 3> 2)t$	 $	V 11,;H/K008EH
U(## 
UXFh'' XF~)x   );Jh// ;J|=B8,, =B@,X.. ,>tEX.. tEnKh// K8	GH-- 	G"%(++ %Z-(## -(F(++ F=8X&& =8@1)** 1)h68$$ 6&a9"" a9H;-(## ;-|&(## &<`/ `/F'. '.T	#)+> 	#7Fo 7Ft
?_ 
?;K ;K@9( 9(]>.A ]>@v(6I v(r65, 65r
*= 
4J 3 464Z!4 46u@
 u@p:,.A :,z,H%% ,A1!! A1L?:. ?:D)-&9L )-X,-%8K ,-\7#_ 7"_kh'' _kD9"O 9(nM)) nMboAh oAdf+H%% f+R3h// 3>oN8#4#4 oNb%68,, %6N_G _GJ/8,,n / 
\#9:/h'' / ;/ zMMO r   