grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B Éñf�¥%­%ã @s4dddddddddd d d g Zd d lZd d lZd d lZd dlmZd dlmZd dlm Z d dl m Z m Z Gdd„de ƒZd4dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd5d$d%„Zd&d „Zd'd „Zd(d„Zd)d„Zd*d„Zd6d,d„Zd-d „Zd7d.d/„Zd8d0d„Z d9d1d„Z!d:d2d„Z"d;d3d„Z#d S)<ÚStatisticsErrorÚpstdevÚ pvarianceÚstdevÚvarianceÚmedianÚ median_lowÚ median_highÚmedian_groupedÚmeanÚmodeÚ harmonic_meanéN)ÚFraction)ÚDecimal)Úgroupby)Ú bisect_leftÚ bisect_rightc@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©rrú//opt/alt/python37/lib64/python3.7/statistics.pyrbsc Cs¶d}t|ƒ\}}||i}|j}ttt|ƒƒ}xRt|tƒD]D\}} t||ƒ}x0tt| ƒD]"\}}|d7}||dƒ|||<qVWq8Wd|kr’|d} ntdd„t|  ¡ƒDƒƒ} || |fS)Nr écss|]\}}t||ƒVqdS)N)r)Ú.0ÚdÚnrrrú žsz_sum..) Ú _exact_ratioÚgetÚ_coerceÚintÚtyperÚmapÚsumÚsortedÚitems) ÚdataÚstartÚcountrrZpartialsZ partials_getÚTÚtypÚvaluesÚtotalrrrÚ_sumhs$  r-cCs(y| ¡Stk r"t |¡SXdS)N)Z is_finiteÚAttributeErrorÚmathZisfinite)ÚxrrrÚ _isfinite¢sr1cCs°||kr |S|tks|tkr |S|tkr,|St||ƒr:|St||ƒrH|St|tƒrV|St|tƒrd|St|tƒr|t|tƒr||St|tƒr”t|tƒr”|Sd}t||j|jfƒ‚dS)Nz"don't know how to coerce %s and %s)r ÚboolÚ issubclassrÚfloatÚ TypeErrorr)r)ÚSÚmsgrrrr©s(     rc Csžydt|ƒtkst|ƒtkr"| ¡Sy |j|jfStk r`y| ¡Stk rZYnXYnXWnttfk r€|dfSXd}t |  t|ƒj ¡ƒ‚dS)Nz0can't convert type '{}' to numerator/denominator) r!r4rÚas_integer_ratioÚ numeratorÚ denominatorr.Ú OverflowErrorÚ ValueErrorr5Úformatr)r0r7rrrrÈs  rcCsjt|ƒ|kr|St|tƒr(|jdkr(t}y||ƒStk rdt|tƒr^||jƒ||jƒS‚YnXdS)Nr)r!r3r r:r4r5rr9)Úvaluer)rrrÚ_convertès  r?cCs`t t|ƒ¡ ¡}|s|S|dd}x4tdt|ƒƒD]"}||d|kr6|d|…}Pq6W|S)Nr r)Ú collectionsÚCounterÚiterÚ most_commonÚrangeÚlen)r&ÚtableZmaxfreqÚirrrÚ_countsús  rHcCs.t||ƒ}|t|ƒkr&|||kr&|St‚dS)N)rrEr<)Úar0rGrrrÚ _find_lteqs rJcCs>t|||d�}|t|ƒdkr6||d|kr6|dSt‚dS)N)Úlor)rrEr<)rIÚlr0rGrrrÚ _find_rteqs rMúnegative valueccs(x"|D]}|dkrt|ƒ‚|VqWdS)Nr )r)r+Úerrmsgr0rrrÚ _fail_negs rPcCsHt|ƒ|krt|ƒ}t|ƒ}|dkr,tdƒ‚t|ƒ\}}}t|||ƒS)Nrz%mean requires at least one data point)rBÚlistrErr-r?)r&rr)r,r(rrrr "s cCs´t|ƒ|krt|ƒ}d}t|ƒ}|dkr2tdƒ‚n<|dkrn|d}t|tjtfƒrf|dkrbt|ƒ‚|Stdƒ‚y"t dd„t ||ƒDƒƒ\}}}Wnt k r¤dSXt |||ƒS)Nz.harmonic mean does not support negative valuesrz.harmonic_mean requires at least one data pointr zunsupported typecss|]}d|VqdS)rNr)rr0rrrrcsz harmonic_mean..) rBrQrErÚ isinstanceÚnumbersZRealrr5r-rPÚZeroDivisionErrorr?)r&rOrr0r)r,r(rrrr <s$  "cCs\t|ƒ}t|ƒ}|dkr tdƒ‚|ddkr8||dS|d}||d||dSdS)Nr zno median for empty dataér)r$rEr)r&rrGrrrrks   cCsLt|ƒ}t|ƒ}|dkr tdƒ‚|ddkr8||dS||ddSdS)Nr zno median for empty datarUr)r$rEr)r&rrrrrƒs   cCs,t|ƒ}t|ƒ}|dkr tdƒ‚||dS)Nr zno median for empty datarU)r$rEr)r&rrrrr™s rc Csât|ƒ}t|ƒ}|dkr"tdƒ‚n|dkr2|dS||d}x*||fD]}t|ttfƒrHtd|ƒ‚qHWy||d}Wn(tk r¢t|ƒt|ƒd}YnXt||ƒ}t |||ƒ}|}||d} |||d|| S)Nr zno median for empty datarrUzexpected number but got %r) r$rErrRÚstrÚbytesr5r4rJrM) r&Úintervalrr0ÚobjÚLÚl1Úl2ZcfÚfrrrr ¬s&     cCsBt|ƒ}t|ƒdkr |ddS|r6tdt|ƒƒ‚ntdƒ‚dS)Nrr z.no unique mode; found %d equally common valueszno mode for empty data)rHrEr)r&rFrrrr ãs  csdˆdkrt|ƒ‰t‡fdd„|Dƒƒ\}}}t‡fdd„|Dƒƒ\}}}||dt|ƒ8}||fS)Nc3s|]}|ˆdVqdS)rUNr)rr0)Úcrrrsz_ss..c3s|]}|ˆVqdS)Nr)rr0)r^rrrsrU)r r-rE)r&r^r)r,r(ÚUZtotal2Zcount2r)r^rÚ_ss s r`cCsLt|ƒ|krt|ƒ}t|ƒ}|dkr,tdƒ‚t||ƒ\}}t||d|ƒS)NrUz*variance requires at least two data pointsr)rBrQrErr`r?)r&Úxbarrr)Ússrrrr!s& cCsHt|ƒ|krt|ƒ}t|ƒ}|dkr,tdƒ‚t||ƒ\}}t|||ƒS)Nrz*pvariance requires at least one data point)rBrQrErr`r?)r&Úmurr)rbrrrrPs' cCs2t||ƒ}y| ¡Stk r,t |¡SXdS)N)rÚsqrtr.r/)r&raÚvarrrrr€s cCs2t||ƒ}y| ¡Stk r,t |¡SXdS)N)rrdr.r/)r&rcrerrrr�s )r )rN)r)N)N)N)N)N)$Ú__all__r@r/rSZ fractionsrZdecimalrÚ itertoolsrZbisectrrr<rr-r1rrr?rHrJrMrPr r rrrr r r`rrrrrrrrÚOs@     :  / 7*  / 0