?????????? ????????? - ??????????????? - /usr/lib64/python3.9/site-packages/numpy/core/__pycache__/_machar.cpython-39.pyc
???????
a z[ycb- � @ sZ d Z dgZddlmZ ddlmZ ddlmZ ed�G dd� d��Ze dkrVe e� � d S ) z� Machine arithmetic - determine the parameters of the floating-point arithmetic system Author: Pearu Peterson, September 2003 �MachAr� )�any)�errstate)� set_moduleZnumpyc @ s8 e Zd ZdZeeedd� dfdd�Zdd� Zd d � ZdS )r aw Diagnosing machine parameters. Attributes ---------- ibeta : int Radix in which numbers are represented. it : int Number of base-`ibeta` digits in the floating point mantissa M. machep : int Exponent of the smallest (most negative) power of `ibeta` that, added to 1.0, gives something different from 1.0 eps : float Floating-point number ``beta**machep`` (floating point precision) negep : int Exponent of the smallest power of `ibeta` that, subtracted from 1.0, gives something different from 1.0. epsneg : float Floating-point number ``beta**negep``. iexp : int Number of bits in the exponent (including its sign and bias). minexp : int Smallest (most negative) power of `ibeta` consistent with there being no leading zeros in the mantissa. xmin : float Floating-point number ``beta**minexp`` (the smallest [in magnitude] positive floating point number with full precision). maxexp : int Smallest (positive) power of `ibeta` that causes overflow. xmax : float ``(1-epsneg) * beta**maxexp`` (the largest [in magnitude] usable floating value). irnd : int In ``range(6)``, information on what kind of rounding is done in addition, and on how underflow is handled. ngrd : int Number of 'guard digits' used when truncating the product of two mantissas to fit the representation. epsilon : float Same as `eps`. tiny : float An alias for `smallest_normal`, kept for backwards compatibility. huge : float Same as `xmax`. precision : float ``- int(-log10(eps))`` resolution : float ``- 10**(-precision)`` smallest_normal : float The smallest positive floating point number with 1 as leading bit in the mantissa following IEEE-754. Same as `xmin`. smallest_subnormal : float The smallest positive floating point number with 0 as leading bit in the mantissa following IEEE-754. Parameters ---------- float_conv : function, optional Function that converts an integer or integer array to a float or float array. Default is `float`. int_conv : function, optional Function that converts a float or float array to an integer or integer array. Default is `int`. float_to_float : function, optional Function that converts a float array to float. Default is `float`. Note that this does not seem to do anything useful in the current implementation. float_to_str : function, optional Function that converts a single float to a string. Default is ``lambda v:'%24.16e' %v``. title : str, optional Title that is printed in the string representation of `MachAr`. See Also -------- finfo : Machine limits for floating point types. iinfo : Machine limits for integer types. References ---------- .. [1] Press, Teukolsky, Vetterling and Flannery, "Numerical Recipes in C++," 2nd ed, Cambridge University Press, 2002, p. 31. c C s d| S )Nz%24.16e� )�vr r �8/usr/lib64/python3.9/site-packages/numpy/core/_machar.py�<lambda>k � zMachAr.<lambda>zPython floating point numberc C s@ t dd��" | �|||||� W d � n1 s20 Y dS )a! float_conv - convert integer to float (array) int_conv - convert float (array) to integer float_to_float - convert float array to float float_to_str - convert array float to str title - description of used floating point numbers �ignore)ZunderN)r �_do_init)�self� float_conv�int_conv�float_to_float�float_to_str�titler r r �__init__i s zMachAr.__init__c / C s� d}d}|d�}|| } || } |}t |�D ]0}|| }|| } | | }t|| | k�r, qpq,t|||jf ��|}t |�D ]0}|| }|| } || | �}t|dk�r| q�q|t|||jf ��|}||�}d}|}t |�D ]:}|d }|| }|| } | | }t|| | k�r� �q*q�t|||jf ��|| }|}t |�D ]6}|| }|| } | | }t|| | k��r> �q��q>t|||jf ��|| } d}t| | | k��r�d}|| }|| } |dk�r�t| | | k��r�d}|d }|| }|}t |�D ]}|| }�q�|}t |�D ]N}|| } t| | | k��r6 �qt|| }|d }|dk �rtdt� ���qt|||jf ��| }|}| d }|}t |�D ]6}|| } t| | | k��r� �q�|| }|d }�q�t|||jf ��|}d}|| } |dk�rt| | | | k��rd}d}d}|}|| } d}!t |�D ]|}|}"|"|" }|| }|| } t|| | k��svtt|�|"k��r| �q�| | }t|| |k��r� �q�|d }|| }�q2t|||jf ��|d k�r�|d }#|| }$n2d}#|}%||%k�r|%| }%|#d }#�q�|%|% d }$t |�D ]�}|"}&|"| }"|"| }|"| } t|| | k��r�tt|"�|&k ��r�|d }| | }t|| |"k��r�t| |"k��r�d}!|"}& �q�n �q��qt|||jf ��| }'|$|| d k�r�|d k�r�|$|$ }$|#d }#|$|' }(||! }|dk�r|(d }(|(|' }|dk�r,|�s,|(d }(|d k�r>|(d }(t||"k��rT|(d }(|| })t|)| |)k��rz||| })|)|&| | | })|(|' d }t |�D ]"}*|dk�r�|)|) })n|)| })�q�t|&|| �}+|| _|| _|| _||�| _ ||�| _ || _||�| _||�| _ || _|#| _|'| _||&�| _||&�| _|(| _||)�| _||)�| _|| _|| _| j| _| j| _| j| _| j| _|| j�| _||+�| _||+�| _dd l},t |,�!|| j�� �| _"| | | | | }-|-| j" }.||.�| _#||.�| _$d S )Ni'