B d?d@d#d"dee3d=e4e7e5d&Z8ee3dAZ9ee3d:Z:e j6d;d<e3de9e:e3d8Z;WdQRXe'e3dBdAd:d>dCd@d#d"dee3dBe9e;e:d&Ze3ee3dne2j?Z@e'e3dEdFd2d3dGd5d#d"dee3dEee3dFe@ee3d2d&ZAe2e-e*e rank-1r)r)ndimcopyshape)arG/opt/alt/python37/lib64/python3.7/site-packages/numpy/core/getlimits.py_fr0s rcCs|jdkr|}d|_|S)zfix rank > 0 --> rank-0rr)sizerr)rrrr_fr1s rz(numpy {} precision floating point numberz%24.16edouble)itypefmttitlez%15.7esinglez%sz long doublez%12.5ehalfc@sTeZdZdZddZeddZeddZedd Zed d Z ed d Z dS) MachArLikez$ Object to simulate MachAr instance c stfddfdd}fdd|_d|_||d|_|_||d|_||d|_|_||d |_ |_ d |d |_ |j |tt|j |_|d |j |_dS) Ncs t|gS)N)r )v)ftyperrEz%MachArLike.__init__..cs t|S)N)r)r ) float_convrrr"Fr#csdtt|dS)Nrr)r r)r )r!paramsrrr"Gsrepsepsneghugetinyribeta )_MACHAR_PARAMS _float_to_strrpopepsilonr&r'xmaxr(xminr)r*__dict__updateintr precision resolution)selfr!kwargsZfloat_to_floatr)r$r!r%r__init__As    zMachArLike.__init__cCs ||jS)N)r-r&)r7rrr_str_epsXszMachArLike._str_epscCs ||jS)N)r-r')r7rrr _str_epsneg\szMachArLike._str_epsnegcCs ||jS)N)r-r1)r7rrr _str_xmin`szMachArLike._str_xmincCs ||jS)N)r-r0)r7rrr _str_xmaxdszMachArLike._str_xmaxcCs ||jS)N)r-r6)r7rrr_str_resolutionhszMachArLike._str_resolutionN) __name__ __module__ __qualname____doc__r9propertyr:r;r<r=r>rrrrr>s    riiir+ig?) machepnegepminexpmaxexpitiexpr*ZirndZngrdr&r'r(r)iiig?gttfddfddfddfdddS)zB Create MachAr instance with found information on float types cs t|gS)N)r )r )r!rrr"*r#z$_discovered_machar..cst|ddS)Nrr)rZastype)r )r%rrr"+r#cstt|dS)Nr)r r)r )r!rrr",r#csdtt|dS)Nrr)r r)r )r!r%rrr"-r#r)r,r)r!r)r!r%rrg&s     rgc@s4eZdZdZiZddZddZddZdd Zd S) ran finfo(dtype) Machine limits for floating point types. Attributes ---------- bits : int The number of bits occupied by the type. eps : float The smallest representable positive number such that ``1.0 + eps != 1.0``. Type of `eps` is an appropriate floating point type. epsneg : floating point number of the appropriate type The smallest representable positive number such that ``1.0 - epsneg != 1.0``. iexp : int The number of bits in the exponent portion of the floating point representation. machar : MachAr The object which calculated these parameters and holds more detailed information. machep : int The exponent that yields `eps`. max : floating point number of the appropriate type The largest representable number. maxexp : int The smallest positive power of the base (2) that causes overflow. min : floating point number of the appropriate type The smallest representable number, typically ``-max``. minexp : int The most negative power of the base (2) consistent with there being no leading 0's in the mantissa. negep : int The exponent that yields `epsneg`. nexp : int The number of bits in the exponent including its sign and bias. nmant : int The number of bits in the mantissa. precision : int The approximate number of decimal digits to which this kind of float is precise. resolution : floating point number of the appropriate type The approximate decimal resolution of this type, i.e., ``10**-precision``. tiny : float The smallest positive usable number. Type of `tiny` is an appropriate floating point type. Parameters ---------- dtype : float, dtype, or instance Kind of floating point data-type about which to get information. See Also -------- MachAr : The implementation of the tests that produce this information. iinfo : The equivalent for integer data types. Notes ----- For developers of NumPy: do not instantiate this at the module level. The initial calculation of these parameters is expensive and negatively impacts import times. These objects are cached, so calling ``finfo()`` repeatedly inside your functions is not a problem. cCsyt|}Wn"tk r0tt|}YnX|j|d}|dk rL|S|g}t|}||k rr|||}t|tj st d||j|d}|dk r|St|tj st |}||k r|||}|j|d}|dk r|St ||}x|D]}||j|<qW|S)Nzdata type %r not inexact)r dtype TypeErrortype _finfo_cacher\Z obj2sctypeappend issubclassZinexactr]Zfloating_convert_to_floatobject__new___init)clsrjobjZdtypesZnewdtypeZdtrrrrrxs:       z finfo.__new__cCst||_t|}xdD]}t||t||qWx$dD]}t||t||jdq:W|jjd|_|jjd|_ |j |_ |j jd|_ |j |_ |j|_||_|j|_|j|_|j|_|j|_|j|_|S)N)r5rLrJrIrHrG)r)r6r'rrO)r rjrisetattrgetattrZflatitemsizebitsr(maxminr&rLZnexprKZnmantmacharr<stripZ _str_tinyr=Z_str_maxr;r:r>)r7rjr|Zwordrrrrss&         z finfo._initcCsd}||jS)NaMachine parameters for %(dtype)s --------------------------------------------------------------- precision = %(precision)3s resolution = %(_str_resolution)s machep = %(machep)6s eps = %(_str_eps)s negep = %(negep)6s epsneg = %(_str_epsneg)s minexp = %(minexp)6s tiny = %(_str_tiny)s maxexp = %(maxexp)6s max = %(_str_max)s nexp = %(nexp)6s min = -max --------------------------------------------------------------- )r2)r7rrrr__str__s z finfo.__str__cCs"|jj}|j}||d<d|S)NklasszZ%(klass)s(resolution=%(resolution)s, min=-%(_str_max)s, max=%(_str_max)s, dtype=%(dtype)s)) __class__r?r2r)r7cdrrr__repr__s  zfinfo.__repr__N) r?r@rArBrmrrrsr~rrrrrr1s C!c@sPeZdZdZiZiZddZddZeeZddZ ee Z dd Z d d Z d S) ral iinfo(type) Machine limits for integer types. Attributes ---------- bits : int The number of bits occupied by the type. min : int The smallest integer expressible by the type. max : int The largest integer expressible by the type. Parameters ---------- int_type : integer type, dtype, or instance The kind of integer data type to get information about. See Also -------- finfo : The equivalent for floating point data types. Examples -------- With types: >>> ii16 = np.iinfo(np.int16) >>> ii16.min -32768 >>> ii16.max 32767 >>> ii32 = np.iinfo(np.int32) >>> ii32.min -2147483648 >>> ii32.max 2147483647 With instances: >>> ii32 = np.iinfo(np.int32(10)) >>> ii32.min -2147483648 >>> ii32.max 2147483647 cCsvyt||_Wn$tk r4tt||_YnX|jj|_|jjd|_d|j|jf|_|jdkrrtddS)NrOz%s%dZiuzInvalid integer data type.) r rjrkrlkindrxryrhr])r7Zint_typerrrr9s  ziinfo.__init__cCs\|jdkrdSytj|j}Wn4tk rRtd|jd> }|tj|j<YnX|SdS)zMinimum value of given dtype.urrN)rr _min_valsrhKeyErrorr4ry)r7valrrrr{s z iinfo.mincCsjytj|j}WnTtk rd|jdkr>td|j>d}ntd|jd>d}|tj|j<YnX|S)zMaximum value of given dtype.rr)r _max_valsrhrrr4ry)r7rrrrrzs z iinfo.maxcCsd}||j|j|jdS)zString representation.zMachine parameters for %(dtype)s --------------------------------------------------------------- min = %(min)s max = %(max)s --------------------------------------------------------------- )rjr{rz)rjr{rz)r7rrrrr~"sz iinfo.__str__cCsd|jj|j|j|jfS)Nz%s(min=%s, max=%s, dtype=%s))rr?r{rzrj)r7rrrr-sziinfo.__repr__N) r?r@rArBrrr9r{rCrzr~rrrrrrs/    )GrBZ __future__rrr__all__rcr|rr r rar r rr rrrZcsinglerZcomplex_Zfloat_Z clongfloatZ longfloatrpZ _title_fmtrdictZint64reZint32rbZlonglongrZint16r,rqrZfloat16Z_f16Z _float16_maZfloat32Z_f32Z _float32_maZfloat64Z_f64Z _epsneg_f64Z _tiny_f64Z _float64_maZ_ldZ _epsneg_f128Z _tiny_f128ZerrstateZ _huge_f128Z _float128_maZ _epsneg_f80Z _tiny_f80Z _huge_f80Z _float80_mahasattrrXr(Z_huge_ddZ _float_dd_mar`rirgrrrrrrs          1       "   "    +