Edit File: statistics.cpython-38.opt-2.pyc
U ����@��d �����������������������@���sj��d�ddddddddd d ddd dddgZ�ddlZddlZddlZddlmZ�ddlmZ�ddlm Z �ddl mZmZ�ddlm Z mZmZmZmZmZmZmZ�ddlmZ�ddlmZ�G�dd��de�Zdcdd�Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Z d'd(��Z!ddd*d+�Z"d,d��Z#d-d��Z$d.d��Z%d/d��Z&d0d��Z'd1d ��Z(d2d��Z)ded4d�Z*d5d ��Z+d6d��Z,d7d8d9�d:d�Z-dfd;d<�Z.dgd=d�Z/dhd>d �Z0did?d�Z1djd@d�Z2dAdB��Z3G�dCd���d��Z4zddDl5m3Z3�W�n�e6k �r����Y�nX�e7dEk�rfddFlm8Z8�ddGlm9Z9m:Z:m;Z;m<Z<�ddHlm=Z=�ddl>Z>e4dIdJ�Z?e4dKdL�Z@dMZAe?�BeA�ZCe@�BeA�ZDe9e:fD�]<ZEeFdNeEj7��dO���eFeEe?e@���eFe4�GeHeEeCeD�����qNdPZIe9e:e;e<fD�]@ZEeFdNeEj7��dQ���eFeEe?eI���eFe4�GeHeEeCe=eI������q�dRZIe9e:e;fD�]@ZEeFdSeEj7��dT���eFeEeIe?���eFe4�GeHeEe=eI�eC�����q�dUdV��ZJe4dWdX�ZKe4dYdZ�ZLd[ZMdMZAe4�Gd\d]��eK�BeA�D���ZNeJeKeM�eN��e4�Gd^d]��eK�BeA�D���ZNeJeKeM�eN��e4�Gd_d]��eK�BeA�D���ZNeJeKeM�eN��e4�Gd`d]��eK�BeA�D���ZNeJeKeM�eN��e4�Gdad]��eOeK�BeA�eL�BeA��D���ZNeJeKeL�eN��e4�Gdbd]��eOeK�BeA�eL�BeA��D���ZNeJeKeL�eN��eFe>�P����dS�)k� NormalDist�StatisticsError�fmean�geometric_mean� harmonic_mean�mean�median�median_grouped�median_high� median_low�mode� multimode�pstdev� pvariance� quantiles�stdev�variance�����N��Fraction)�Decimal)�groupby)�bisect_left�bisect_right)�hypot�sqrt�fabs�exp�erf�tau�log�fsum)� itemgetter)�Counterc�������������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r&���r&����//opt/alt/python38/lib64/python3.8/statistics.pyr���u���s���c�����������������C���s����d}t�|�\}}||i}|j}ttt|��}t|�t�D�]@\}} t||�}tt�| �D�]"\}}|d7�}||d�|�||<�qRq6d�|kr�|d��} ntdd��t|� ���D���} || |fS�)Nr�������c�����������������s���s���|�]\}}t�||�V��qd�S��Nr���)�.0�d�nr&���r&���r'���� <genexpr>����s�����z_sum.<locals>.<genexpr>) �_exact_ratio�get�_coerce�int�typer����map�sum�sorted�items)�data�start�countr,���r+���ZpartialsZpartials_get�T�typ�values�totalr&���r&���r'����_sum{���s����$ r>���c�����������������C���s.���z |�����W�S��tk r(���t�|���Y�S�X�d�S�r)���)Z is_finite�AttributeError�mathZisfinite)�xr&���r&���r'���� _isfinite����s���� rB���c�����������������C���s����|�|kr|�S�|t�ks|tkr |�S�|�t�kr,|S�t||��r:|S�t|�|�rH|�S�t|�t��rV|S�t|t��rd|�S�t|�t�r|t|t�r||S�t|�t�r�t|t�r�|�S�d}t||�j|jf���d�S�)Nz"don't know how to coerce %s and %s)r1����bool� issubclassr����float� TypeErrorr#���)r:����S�msgr&���r&���r'���r0�������s(������� � � � �r0���c�����������������C���s����zrt�|��tkst�|��tkr$|����W�S�z|�j|�jfW�W�S��tk rn���z|����W��Y�W�S��tk rh���Y�nX�Y�nX�W�n �ttfk r����|�d�f�Y�S�X�d}t |� t�|��j���d�S�)Nz0can't convert type '{}' to numerator/denominator)r2���rE���r����as_integer_ratio� numerator�denominatorr?���� OverflowError� ValueErrorrF����formatr#���)rA���rH���r&���r&���r'���r.�������s���� r.���c�����������������C���sp���t�|��|kr|�S�t|t�r(|�jdkr(t}z ||��W�S��tk rj���t|t�rd||�j�||�j���Y�S���Y�nX�d�S�)Nr(���)r2���rD���r1���rK���rE���rF���r���rJ���)�valuer:���r&���r&���r'����_convert����s���� rP���c�����������������C���s.���t�|�|�}|t|��kr&|�|�|kr&|S�t�d�S�r)���)r����lenrM���)�arA����ir&���r&���r'���� _find_lteq ��s���� rT���c�����������������C���s>���t�|�||d�}|t|��d�kr6|�|d��|kr6|d�S�t�d�S�)N)�lor(���)r���rQ���rM���)rR����lrA���rS���r&���r&���r'���� _find_rteq��s���� rW����negative valuec�����������������c���s$���|�D�]}|dk�rt�|��|V��qd�S�)Nr���)r���)r<����errmsgrA���r&���r&���r'���� _fail_neg��s����rZ���c�����������������C���sH���t�|��|�krt|��}�t|��}|dk�r,td��t|��\}}}t||�|�S�)Nr(���z%mean requires at least one data point)�iter�listrQ���r���r>���rP���)r7���r,���r:���r=���r9���r&���r&���r'���r���'��s����c��������������������st���zt�|����W�n0�tk r<���d����fdd�}t||���}Y�n X�t|��}z |���W�S��tk rn���td�d��Y�nX�d�S�)Nr���c�����������������3���s ���t�|�dd�D�]\��}|V��qd�S�)Nr(���)r8���)� enumerate)�iterablerA����r,���r&���r'���r9���O��s����zfmean.<locals>.countz&fmean requires at least one data point)rQ���rF���r ����ZeroDivisionErrorr���)r7���r9���r=���r&���r_���r'���r���A��s���� c�����������������C���s8���zt�ttt|����W�S��tk r2���td�d��Y�nX�d�S�)NzHgeometric mean requires a non-empty dataset containing positive numbers)r���r���r3���r���rM���r���)r7���r&���r&���r'���r���\��s�����c�����������������C���s����t�|��|�krt|��}�d}t|��}|dk�r2td��n<|dkrn|�d�}t|tjtf�rf|dk�rbt|��|S�td��z"t dd��t |�|�D���\}}}W�n�tk r����Y�dS�X�t||�|�S�)Nz.harmonic mean does not support negative valuesr(���z.harmonic_mean requires at least one data pointr���zunsupported typec�����������������s���s���|�]}d�|�V��qdS�)r(���Nr&����r*���rA���r&���r&���r'���r-������s�����z harmonic_mean.<locals>.<genexpr>) r[���r\���rQ���r���� isinstance�numbersZRealr���rF���r>���rZ���r`���rP���)r7���rY���r,���rA���r:���r=���r9���r&���r&���r'���r���o��s$���� "c�����������������C���s\���t�|��}�t|��}|dkr td��|d�dkr8|�|d��S�|d�}|�|d��|�|��d�S�d�S��Nr����no median for empty data����r(����r5���rQ���r���)r7���r,���rS���r&���r&���r'���r������s���� c�����������������C���sL���t�|��}�t|��}|dkr td��|d�dkr8|�|d��S�|�|d�d��S�d�S�rd���rg����r7���r,���r&���r&���r'���r ������s����c�����������������C���s,���t�|��}�t|��}|dkr td��|�|d��S�)Nr���re���rf���rg���rh���r&���r&���r'���r ������s ����r(���c����������� ������C���s����t�|��}�t|��}|dkr"td��n|dkr2|�d�S�|�|d��}||fD�]}t|ttf�rFtd|���qFz||d��}W�n(�tk r����t|�t|�d��}Y�nX�t|�|�}t |�||�}|}||�d�} |||d�|��| ��S�)Nr���re���r(���rf���zexpected number but got %r) r5���rQ���r���rb����str�bytesrF���rE���rT���rW���) r7���Zintervalr,���rA����obj�L�l1�l2Zcf�fr&���r&���r'���r������s&���� c�����������������C���sH���t�|��}�t|���d�}z|d�d�W�S��tk rB���td�d��Y�nX�d�S�)Nr(���r���zno mode for empty data)r[���r"����most_common� IndexErrorr���)r7���Zpairsr&���r&���r'���r�����s����c�����������������C���s@���t�t|������}tt|td�d�dg�f�\}}tttd�|��S�)Nr(���)�keyr���)r"���r[���rp����nextr���r!���r\���r3���)r7���ZcountsZmaxcountZ mode_itemsr&���r&���r'���r���5��s���� ����� exclusive)r,����methodc���������� ������C���sL��|dk�rt�d��t|��}�t|��}|dk�r0t�d��|dkr�|d�}g�}td|�D�]N}||�|�}||�||��}|�|�||��|�|d��|��|�} |�| ��qN|S�|dk�r:|d�}g�}td|�D�]r}||�|�}|dk�r�dn||d�kr�|d�n|}||�||��}|�|d��||��|�|�|��|�} |�| ��q�|S�td|����d�S�)Nr(���zn must be at least 1rf���z"must have at least two data pointsZ inclusiveru���zUnknown method: )r���r5���rQ����range�appendrM���) r7���r,���rv���Zld�m�resultrS����jZdeltaZinterpolatedr&���r&���r'���r���l��s4����$ $$c��������������������s������d�k r,t���fdd�|�D���\}}}||fS�t|����t���fdd�|�D���\}}}t���fdd�|�D���\}}}||d�t|���8�}||fS�)Nc�����������������3���s���|�]}|���d��V��qdS��rf���Nr&���ra�����cr&���r'���r-������s�����z_ss.<locals>.<genexpr>c�����������������3���s���|�]}|���d��V��qdS�r|���r&���ra���r}���r&���r'���r-������s�����c�����������������3���s���|�]}|���V��qd�S�r)���r&���ra���r}���r&���r'���r-������s�����rf���)r>���r���rQ���)r7���r~���r:���r=���r9����UZtotal2Zcount2r&���r}���r'����_ss���s����r����c�����������������C���sL���t�|��|�krt|��}�t|��}|dk�r,td��t|�|�\}}t||d��|�S�)Nrf���z*variance requires at least two data pointsr(����r[���r\���rQ���r���r����rP���)r7����xbarr,���r:����ssr&���r&���r'���r������s����&c�����������������C���sH���t�|��|�krt|��}�t|��}|dk�r,td��t|�|�\}}t||�|�S�)Nr(���z*pvariance requires at least one data pointr����)r7����mur,���r:���r����r&���r&���r'���r������s����#c�����������������C���s8���t�|�|�}z |���W�S��tk r2���t�|��Y�S�X�d�S�r)���)r���r���r?���r@���)r7���r�����varr&���r&���r'���r�����s ���� c�����������������C���s8���t�|�|�}z |���W�S��tk r2���t�|��Y�S�X�d�S�r)���)r���r���r?���r@���)r7���r����r����r&���r&���r'���r ���&��s ���� c�����������������C���s��|�d�}t�|�dkr�d||��}d|�d�|�d�|�d�|�d�|�d �|�d �|�d�|�}d|�d �|�d�|�d�|�d�|�d�|�d�|�d�}||�}|||��S�|dkr�|�nd|��}tt|���}|dk�r^|d�}d|�d�|�d�|�d�|�d�|�d�|�d�|�d�}d|�d �|�d!�|�d"�|�d#�|�d$�|�d%�|�d�}n�|d�}d&|�d'�|�d(�|�d)�|�d*�|�d+�|�d,�|�d-�}d.|�d/�|�d0�|�d1�|�d2�|�d3�|�d4�|�d�}||�}|dk��r�|�}|||��S�)5N��������?g333333�?g��Q��?g^�}o)��@g�E.k�R�@g ��Ul�@g*u��>l�@g�N����@g�"]Ξ@gnC���`@gu��@giK��~j�@gv��|E�@g��d�|1�@gfR��r��@g��u.2�@g���~y�@g�n8(E@��������?���������g������@g�������?g鬷�ZaI?gg�El�D�?g7\�����?g�uS�S�?g�=�. @gj%b�@g���Hw�@gjR�e�?g�9dh? >g('߿��A?g��~z �?g@�3��?gɅ3��?g3fR�x�?gI�F��l�@g����t��>g*�Y��n�>gESB\T?g�N;A+�?g�UR1��?gE�F���?gP�n��@g&�>���@g����i�<g�@�F�>g�tcI,\�>g�ŝ���I?g*F2�v�?g�C4�?g��O�1�?)r���r���r���)�pr�����sigma�q�rZnumZdenrA���r&���r&���r'����_normal_dist_inv_cdf9��sd������������������������������ �������������������������� �������������������������� r����c�������������������@���s����e�Zd�Zddd�Zd7dd�Zedd ���Zd d�dd �Zdd��Zdd��Z dd��Z d8dd�Zdd��Ze dd���Ze dd���Ze dd���Ze dd ���Ze d!d"���Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��ZeZd/d0��ZeZd1d2��Zd3d4��Zd5d6��Zd S�)9r���z(Arithmetic mean of a normal distributionz+Standard deviation of a normal distribution)�_mu�_sigmar����r����c�����������������C���s(���|dk�rt�d��t|�|�_t|�|�_d�S�)Nr����zsigma must be non-negative)r���rE���r����r����)�selfr����r����r&���r&���r'����__init__���s���� zNormalDist.__init__c�����������������C���s.���t�|ttf�st|�}t|�}|�|t||��S�r)���)rb���r\����tupler���r���)�clsr7���r����r&���r&���r'����from_samples���s����zNormalDist.from_samplesN)�seedc�������������������sB���|d�krt�jn t��|�j��|�j|�j�������fdd�t|�D��S�)Nc��������������������s���g�|�]}������qS�r&���r&����r*���rS�����gaussr����r����r&���r'���� <listcomp>���s�����z&NormalDist.samples.<locals>.<listcomp>)�randomr����ZRandomr����r����rw���)r����r,���r����r&���r����r'����samples���s����zNormalDist.samplesc�����������������C���s<���|�j�d�}|std��t||�j�d�d|���tt|���S�)N��������@z$pdf() not defined when sigma is zerog��������)r����r���r���r����r���r���)r����rA���r���r&���r&���r'����pdf���s���� zNormalDist.pdfc�����������������C���s2���|�j�std��ddt||�j�|�j�td������S�)Nz$cdf() not defined when sigma is zeror����r����r����)r����r���r���r����r���)r����rA���r&���r&���r'����cdf���s����zNormalDist.cdfc�����������������C���s:���|dks|dkrt�d��|�jdkr*t�d��t||�j|�j�S�)Nr����r����z$p must be in the range 0.0 < p < 1.0z-cdf() not defined when sigma at or below zero)r���r����r����r����)r����r����r&���r&���r'����inv_cdf���s ���� zNormalDist.inv_cdfrt���c��������������������s������fdd�t�d���D��S�)Nc��������������������s���g�|�]}���|�����qS�r&���)r����r�����r,���r����r&���r'���r�������s�����z(NormalDist.quantiles.<locals>.<listcomp>r(���)rw���)r����r,���r&���r����r'���r������s���� zNormalDist.quantilesc�����������������C���s��t�|t�std��|�|�}}|j|jf|j|jfk�r>||�}}|j|j�}}|rT|s\td��||�}t|j|j��}|s�dt|d|j�t d�����S�|j|�|j|��}|j|j�t |d�|t ||������} || �|�} || �|�}dt|�| �|�| ���t|�|�|�|�����S�)Nz$Expected another NormalDist instancez(overlap() not defined when sigma is zeror����r����)rb���r���rF���r����r����r���r���r���r���r���r���r����)r�����other�X�YZX_varZY_varZdvZdmrR����b�x1�x2r&���r&���r'����overlap���s"���� (zNormalDist.overlapc�����������������C���s���|�j�S�r)����r�����r����r&���r&���r'���r������s����zNormalDist.meanc�����������������C���s���|�j�S�r)���r����r����r&���r&���r'���r������s����zNormalDist.medianc�����������������C���s���|�j�S�r)���r����r����r&���r&���r'���r������s����zNormalDist.modec�����������������C���s���|�j�S�r)����r����r����r&���r&���r'���r������s����zNormalDist.stdevc�����������������C���s ���|�j�d�S�)Nr����r����r����r&���r&���r'���r�����s����zNormalDist.variancec�����������������C���s8���t�|t�r&t|�j|j�t|�j|j��S�t|�j|�|�j�S�r)����rb���r���r����r���r�����r����r����r&���r&���r'����__add__ ��s���� zNormalDist.__add__c�����������������C���s8���t�|t�r&t|�j|j�t|�j|j��S�t|�j|�|�j�S�r)���r����r����r&���r&���r'����__sub__��s���� zNormalDist.__sub__c�����������������C���s���t�|�j|�|�jt|���S�r)����r���r����r����r���r����r&���r&���r'����__mul__%��s����zNormalDist.__mul__c�����������������C���s���t�|�j|�|�jt|���S�r)���r����r����r&���r&���r'����__truediv__-��s����zNormalDist.__truediv__c�����������������C���s���t�|�j|�j�S�r)����r���r����r�����r����r&���r&���r'����__pos__5��s����zNormalDist.__pos__c�����������������C���s���t�|�j�|�j�S�r)���r����r����r&���r&���r'����__neg__9��s����zNormalDist.__neg__c�����������������C���s ���|�|��S�r)���r&���r����r&���r&���r'����__rsub__?��s����zNormalDist.__rsub__c�����������������C���s&���t�|t�stS�|�j|jko$|�j|jkS�r)���)rb���r����NotImplementedr����r����r����r&���r&���r'����__eq__E��s���� zNormalDist.__eq__c�����������������C���s���t�|�j|�jf�S�r)���)�hashr����r����r����r&���r&���r'����__hash__K��s����zNormalDist.__hash__c�����������������C���s ���t�|��j��d|�j�d|�j�d�S�)Nz(mu=z, sigma=�))r2���r#���r����r����r����r&���r&���r'����__repr__O��s����zNormalDist.__repr__)r����r����)rt���)r#���r$���r%���� __slots__r�����classmethodr����r����r����r����r����r���r�����propertyr���r���r���r���r���r����r����r����r����r����r�����__radd__r�����__rmul__r����r����r����r&���r&���r&���r'���r������sD���� " )r�����__main__)�isclose)�add�sub�mul�truediv)�repeat� ��������������i���z Test z with another NormalDist:����z with a constant:����z Test constant with �:c�����������������C���s���d�S�r)���r&���)�G1�G2r&���r&���r'����assert_close��s����r����i�����I��������/���g�����`@@c�����������������C���s���g�|�]}|t���qS�r&�����sra���r&���r&���r'���r�������s�����r����c�����������������C���s���g�|�]}|t���qS�r&���r����ra���r&���r&���r'���r�������s�����c�����������������C���s���g�|�]}|t���qS�r&���r����ra���r&���r&���r'���r�������s�����c�����������������C���s���g�|�]}|t���qS�r&���r����ra���r&���r&���r'���r�������s�����c�����������������C���s���g�|�]\}}||��qS�r&���r&����r*���rA����yr&���r&���r'���r�������s�����c�����������������C���s���g�|�]\}}||��qS�r&���r&���r����r&���r&���r'���r�������s�����)r���)rX���)r(���)N)N)N)N)N)Q�__all__r@���rc���r����Z fractionsr����decimalr���� itertoolsr���Zbisectr���r���r���r���r���r���r���r���r���r ����operatorr!����collectionsr"���rM���r���r>���rB���r0���r.���rP���rT���rW���rZ���r���r���r���r���r���r ���r ���r���r���r���r���r����r���r���r���r ���r����r���Z_statistics�ImportErrorr#���r����r����r����r����r����r����ZdoctestZg1Zg2r,���r����r����r�����func�printr����r3���Zconstr����r����r����r����rG����zipZtestmodr&���r&���r&���r'����<module>T���s�����( : / 779 / , J�Q � �