fYrUgdZddlZddlZddlZddlZddlmZddlmZddl m Z m Z ddl m Z mZddlmZmZmZmZmZmZmZmZddlmZdd lmZdd lmZmZmZed ZGd d e Z!dZ"d>dZ#dZ$dZ%dZ&dZ'd?dZ(de)de)de)fdZ*dej+j,zdzZ-e)e.d<de)de)de/fdZ0de)de)defdZ1dZ2d>d Z3d!Z4d>d"Z5d#Z6d$Z7d%Z8d@d'Z9d(Z:d)Z;d*d+d,d-Zd.Z=d>d/Z>d>d0Z?d>d1Z@d2ZAd3ZBd4ZCed5d6ZDd7d8d9ZEd:ZF dd;lGmFZFn #eH$rYnwxYwGd<d=ZIdS)A) NormalDistStatisticsError correlation covariancefmeangeometric_mean harmonic_meanlinear_regressionmeanmedianmedian_grouped median_high median_lowmode multimodepstdev pvariance quantilesstdevvarianceNFraction)Decimal)groupbyrepeat) bisect_left bisect_right)hypotsqrtfabsexperftaulogfsum)reduce)mul)Counter namedtuple defaultdict@ceZdZdS)rN)__name__ __module__ __qualname__1/opt/alt/python311/lib64/python3.11/statistics.pyrrsDr1rc d}t}|j}i}|j}t|tD]B\}}||t t |D]\}} |dz }|| d|z|| <Cd|vr |d} n+td|D} tt|t} | | |fS)Nrc3<K|]\}}t||VdSNr.0dns r2 z_sum..s.@@tq!HQNN@@@@@@r1) setaddgetrtypemap _exact_ratiosumitemsr&_coerceint) datacounttypes types_addpartials partials_gettypvaluesr:r9totalTs r2_sumrPs> E EEE IH.s0<.s.@@DAq!Q@@@@@@r1c3BK|]\}}t|||zVdSr6rr7s r2r;z_ss..s4DDtq!(1ac""DDDDDDr1)rPr<r=r*rErr?r@rArrBrCr&rD)rFrTrOssdrGrHrI sx_partials sxx_partialsrLrMr:sxsxxr9s ` @r2_ssr\s }<<<<c t||ur|St|tr|jdkrt} ||S#t $r:t|t r#||j||jz cYSwxYw)Nr4)r?rerErorfrgrrn)valuerOs r2_convertrrMs0 E{{a !Se/144 qxx  a ! ! 1U_%%%*;(<(<< < < <  s AAB  B negative valuec#HK |D]}|dkrt||VdS)Nr)r)rMerrmsgrSs r2 _fail_negrv_sDA  q55!&)) )r1r:mreturncP tj||z}|||z|z|kzSr6)r`isqrt)r:rwas r2_integer_sqrt_of_frac_rtor|gs/P 16A !A r1_sqrt_bit_widthc ||z tz dz}|dkrt||d|zz|z}d}nt|d|zz|}d| z}||z S)Nr}rr4) bit_lengthrr|)r:rwqrnros r2_float_sqrt_of_fracrss; !,,.. (? :q@AAvv-aa!e<<A  -a26k1== A2g { ""r1c  |dkr|stdS| | }}t|t|z }|\}}|}|\}}d|z||zdzz|||z||zzdzzkr|S|}|\} } d|z|| zdzz||| z| |zzdzzkr|S|S)Nrz0.0r})rrrk next_plus next_minus) r:rwrootnrdrplusnpdpminusnmdms r2_decimal_sqrt_of_fracrs#= Avv "5>> !rA21 AJJ # ) ) + +D  " " $ $FB >>  D  " " $ $FB1u2zABB 2222 OO  E  # # % %FB1u2zABB 2222 Kr1cz t|\}}}|dkrtdt||z |S)Nr4z%mean requires at least one data point)rPrrr)rFrOrNr:s r2r r sFt**KAua1uuEFFF EAIq ! !!r1c t|n"#t$rdfd}||}YnwxYw|%t|}std|z S t|}n.#t$r!t |}t|}YnwxYwtt t ||}|krtdt|}|std||z S)Nrc3BKt|dD] \}|V dS)Nr4)start) enumerate)iterablerSr:s r2rGzfmean..counts<!(!444  1  r1z&fmean requires at least one data pointz(data and weights must be the same lengthzsum of weights must be non-zero)lenrgr%rlistr@r')rFweightsrGrN num_weightsnumdenr:s @r2rrsC  II       uT{{T  L!"JKK Kqy#'ll ###w--'ll # s3g&& ' 'CKHIII w--C A?@@@ 9s33A..(BBc tttt|S#t$rt ddwxYw)NzGgeometric mean requires a non-empty dataset containing positive numbers)r!rr@r$rmr)rFs r2rrse G5S$(())) GGG<==BF GGs .2A c. t||urt|}d}t|}|dkrtd|dkrQ|O|d}t |t jtfr|dkrt||Std|td|}|}nmt||urt|}t||krtdtdt||D\}}} t||}tdt||D\}}} n#t$rYdSwxYw|dkrtd t||z |S) Nz.harmonic mean does not support negative valuesr4z.harmonic_mean requires at least one data pointrzunsupported typez*Number of weights does not match data sizec3K|]}|VdSr6r0)r8ws r2r;z harmonic_mean..s" G Gq G G G G G Gr1c3.K|]\}}|r||z ndVdS)rNr0)r8rrSs r2r;z harmonic_mean..s3PPTQ0q1uuqPPPPPPr1zWeighted sum must be positive)iterrrr isinstancenumbersRealrrgrrPrvzipZeroDivisionErrorrr) rFrrur:rS sum_weights_rOrNrGs r2rrs, DzzTDzz =F D A1uuNOOO aGO G a',0 1 1 01uu%f---H.// /A,, ==G # #7mmG w<<1  !"NOO O G GIgv,F,F G G GGG;v&&PPS$=O=OPPPPP5%% qq zz=>>> K%' + ++s";E E,+E,c t|}t|}|dkrtd|dzdkr ||dzS|dz}||dz ||zdz SNrno median for empty datar}r4sortedrr)rFr:is r2r r %sw  $<>Bc tt|d} |ddS#t$rt ddwxYw)Nr4rzno mode for empty data)r(r most_common IndexErrorr)rFpairss r2rrsn, DJJ   + +A . .EBQx{ BBB677TABs AAc tt|}|sgSt|fd|DS)Nc&g|] \}}|k |Sr0r0)r8rqrGmaxcounts r2 zmultimode..s' J J JleU8I8IE8I8I8Ir1)r(rmaxrMrC)rFcountsrs @r2rrsa T$ZZ F  6==??##H J J J Jfllnn J J JJr1r exclusive)r:methodc |dkrtdt|}t|}|dkrtd|dkrg|dz }g}td|D]M}t ||z|\}}||||z z||dz|zz|z } || N|S|dkr||dz}g}td|D]b}||z|z}|dkrdn||dz kr|dz n|}||z||zz }||dz ||z z|||zz|z } || c|St d|)Nr4zn must be at least 1r}z"must have at least two data points inclusiverzUnknown method: )rrrrangedivmodappendrm) rFr:rldrwresultrrdelta interpolateds r2rrs 1uu4555 $< >>r1c t||\}}}}|dkrtd||z }t|trt |j|jSt|j|jS)Nr4z'pstdev requires at least one data pointr)rFrrOrrTr:rs r2rrszdB--KAr1a1uuGHHH q&C!WE$S]CODDD s}co > >>r1c6 t|\}}}}|dkrtd||dz z } t|t|j|jfS#t $r1t|t|t|z fcYSwxYwr)r\rrfrrnror_)rFrOrrr:rs r2 _mean_stdevrsPYYNAr41uuGHHH A,C4T{{/ sOOOO 444T{{E$KK%))333334s(A8BBc@ t|}t||krtd|dkrtdt||z t||z tfdt||D}||dz z S)NzDcovariance requires that both inputs have same number of data pointsr}z,covariance requires at least two data pointsc34K|]\}}|z |z zVdSr6r0r8xiyirybars r2r;zcovariance..4AAVRT b4i(AAAAAAr1r4)rrr%r)rSyr:sxyrrs @@r2rrs AA 1vv{{deee1uuLMMM 77Q;D 77Q;D AAAAAs1ayyAAA A AC !a%=r1c t|}t||krtd|dkrtdt||z t||z tfdt||D}tfd|D}tfd|D} |t ||zz S#t $rtdwxYw)NzEcorrelation requires that both inputs have same number of data pointsr}z-correlation requires at least two data pointsc34K|]\}}|z |z zVdSr6r0rs r2r;zcorrelation..rr1c3,K|]}|z xzVdSr6r0r8rr9rs r2r;zcorrelation..000R$Y!#000000r1c3,K|]}|z xzVdSr6r0)r8rr9rs r2r;zcorrelation..rr1z&at least one of the inputs is constant)rrr%rrr) rSrr:rr[syyr9rrs @@@r2rrs+ AA 1vv{{efff1uuMNNN 77Q;D 77Q;D AAAAAs1ayyAAA A AC 00000a000 0 0C 00000a000 0 0CHT#)__$$ HHHFGGGHs C''DLinearRegressionslope interceptF) proportionalcr t|}t||krtd|dkrtd|rAtdt||D}td|D}njt||z t||z t fdt||D}t fd|D} ||z }n#t$rtdwxYw|rd n | zz }t || S) NzKlinear regression requires that both inputs have same number of data pointsr}z3linear regression requires at least two data pointsc3&K|] \}}||zV dSr6r0)r8rrs r2r;z$linear_regression../s*33vr227333333r1c3 K|] }||zV dSr6r0)r8rs r2r;z$linear_regression..0s&''r27''''''r1c34K|]\}}|z |z zVdSr6r0rs r2r;z$linear_regression..4s4EERBI"t),EEEEEEr1c3,K|]}|z xzVdSr6r0rs r2r;z$linear_regression..5s044BdNAa'444444r1z x is constantr)rrr%rrr) rSrrr:rr[rrr9rrs @@@r2r r sk$J AA 1vv{{klll1uuSTTT533Q33333''Q'''''Aww{Aww{EEEEE3q!99EEEEE44444!44444/c  ///o.../#< )l@gN@g"]Ξ@gnC`@gu @giK~j@gv|E@gd|1@gfRr@gu.2@g~y@gn8(E@rrg@g?g鬷ZaI?ggElD?g7\?guSS?g=. @gj%b@gHw@gjRe?g9dh? >g('߿A?g~z ?g@3?gɅ3?g3fRx?gIFl@gt>g*Yn>gESB\T?gN;A+?gUR1?gEF?gPn@g&>@gigtcI,\>gŝI?g*F2v?gC4?gO1?)r rr$)prsigmarrrrrSs r2_normal_dist_inv_cdfrAs CA Aww% q1u 0140145601456115661 156 6 1 1 56 6 1 1 56 6115661140145601456115661 156 6 1 1 56 6 1 1 56 6 #IQY #XX37A c!ffW ACxx G1A51256712567226772 267 7 2 2 67 7 2 2 67 7222A51256712567226772 267 7 2 2 67 7 2 2 67 7 G1A51256712567226772 267 7 2 2 67 7 2 2 67 7223Q61256712567226772 267 7 2 2 67 7 2 2 67 7 c A3ww B U r1)rc(eZdZ dddZd#dZedZdd d Zd Zd Z d Z d$dZ dZ dZ edZedZedZedZedZdZdZdZdZdZdZeZdZeZdZdZd Zd!Z d"Z!dS)%rz(Arithmetic mean of a normal distributionz+Standard deviation of a normal distribution_mu_sigmarrc |dkrtdt||_t||_dS)Nrzsigma must be non-negative)rrfrr)selfrrs r2__init__zNormalDist.__init__s;N 3;;!">?? ?99Ell r1c( |t|Sr6)r)clsrFs r2 from_sampleszNormalDist.from_sampless?sK%%&&r1N)seedc | tjntj|j|j|jcfdt |DS)Nc(g|]}Sr0r0)r8rgaussrrs r2rz&NormalDist.samples..s%333Qb%  333r1)randomr Randomrrr)rr:r r rrs @@@r2sampleszNormalDist.samplessYG $  &-2E2E2KHdk E333333%((3333r1c |j|jz}|std||jz }t||zd|zz t t |zz S)Nz$pdf() not defined when sigma is zerog)rrrr!rr#)rrSrdiffs r2pdfzNormalDist.pdfsb>;, J!"HII I48|4$;$/233d3>6J6JJJr1c |jstdddt||jz |jtzz zzS)Nz$cdf() not defined when sigma is zerorr)rrr"r_SQRT2rrSs r2cdfzNormalDist.cdfsI6{ J!"HII IcCTX$+2F GHHHIIr1c |dks|dkrtd|jdkrtdt||j|jS)Nrrz$p must be in the range 0.0 < p < 1.0z-cdf() not defined when sigma at or below zero)rrrr)rrs r2inv_cdfzNormalDist.inv_cdfs[  88qCxx!"HII I ;#  !"QRR R#Atx===r1rcB fdtdDS)Nc@g|]}|z Sr0)r)r8rr:rs r2rz(NormalDist.quantiles..s)999 QU##999r1r4)r)rr:s``r2rzNormalDist.quantiless0 :9999U1a[[9999r1c   t|tstd||}}|j|jf|j|jfkr||}}|j|j}}|r|st d||z }t|j|jz }|s%dt|d|jztzz z S|j|z|j|zz }|j|jzt||z|t||z zzz} || z|z } || z |z } dt| | | | z t| | | | z zz S)Nz$Expected another NormalDist instancez(overlap() not defined when sigma is zerorr+) rrrgrrrrr r"rrr$r) rotherXYX_varY_vardvrr{bx1x2s r2overlapzNormalDist.overlaps %,, DBCC CU1 Hae !%0 0 0aqAz1:u NE N!"LMM M U] !%!%-  =R3>F#:;<<< < EEMAEEM ) Hqx $rBwc%%-6H6H1H'H"I"I I!er\!er\d15599quuRyy011DrQUU2YY9N4O4OOPPr1cT |jstd||jz |jz S)Nz'zscore() not defined when sigma is zero)rrrrs r2zscorezNormalDist.zscores6 { M!"KLL LDH  ++r1c |jSr6rrs r2r zNormalDist.means 5xr1c |jSr6r*r+s r2r zNormalDist.median s 6xr1c |jSr6r*r+s r2rzNormalDist.modes xr1c |jSr6rr+s r2rzNormalDist.stdevs 8{r1c" |j|jzSr6r/r+s r2rzNormalDist.variances+{T[((r1c t|tr5t|j|jzt|j|jSt|j|z|jSr6rrrrrr$r%s r2__add__zNormalDist.__add__!Z  b* % % LbfrvouRY /J/JKK K"&2+ry111r1c t|tr5t|j|jz t|j|jSt|j|z |jSr6r2r3s r2__sub__zNormalDist.__sub__/r5r1c^ t|j|z|jt|zSr6rrrr r3s r2__mul__zNormalDist.__mul__=, "&2+ry488';<<>> : : : : Q Q QD , , ,XXXX))X) 2 2 2 2 2 2======---...HH;;; ---PPP%%%&&&&&r1rr6)rs)r)J__all__r`rrsys fractionsrdecimalr itertoolsrrbisectrrrrr r!r"r#r$r% functoolsr&operatorr' collectionsr(r)r*rrmrrPr\rbrDrArrrvrEr| float_infomant_digr__annotations__rfrrr rrrr rr r rrrrrrrrrrrr r _statistics ImportErrorrr0r1r2rgsvhT   .  %%%%%%%%,,,,,,,,<<<<<<<<<<<<<<<<<<<<8888888888 c     j   333l&&&&R   444>+++\$3>22Q6666 #3 #3 #5 # # # #SSW<""",####LGGG&5,5,5,5,p+++0   ,&E+E+E+E+PBBB<KKKr;(4(4(4(4(4b)%)%)%)%X&&&&R????$????$ 4 4 4(8HHHB:02HII058>8>8>8>8>|GGGV 0000000   D \&\&\&\&\&\&\&\&\&\&sDD'&D'