numpy.finfo#

class numpy.finfo(dtype)[原始碼]#

浮點數型別的機器限制。

參數:
dtypefloat, dtype 或實例

關於要取得資訊的浮點數或複數浮點數資料型別種類。

另請參閱

iinfo

整數資料型別的對等項目。

spacing

值與最接近的相鄰數字之間的距離

nextafter

從 x1 朝向 x2 的下一個浮點數值

說明

給 NumPy 開發人員:請勿在模組層級實例化此項。這些參數的初始計算成本很高,並且會對匯入時間產生負面影響。這些物件會被快取,因此在您的函數內重複呼叫 finfo() 並不是問題。

請注意,smallest_normal 實際上並非 NumPy 浮點數型別中最小的正可表示值。如同 IEEE-754 標準 [1] 中所述,NumPy 浮點數型別會使用次正規數來填補 0 和 smallest_normal 之間的間隙。然而,次正規數的精確度可能會大幅降低 [2]

此函數也可用於複數資料型別。如果使用,則輸出將與對應的實數浮點數型別相同(例如,numpy.finfo(numpy.csingle) 與 numpy.finfo(numpy.single) 相同)。但是,輸出對於實部和虛部皆為真。

參考文獻

[1]

IEEE 浮點算術標準,IEEE Std 754-2008,pp.1-70,2008,https://doi.org/10.1109/IEEESTD.2008.4610935

[2]

維基百科,「次正規數」,https://en.wikipedia.org/wiki/Denormal_number

範例

>>> import numpy as np
>>> np.finfo(np.float64).dtype
dtype('float64')
>>> np.finfo(np.complex64).dtype
dtype('float32')
屬性:
bitsint

型別佔用的位元數。

dtypedtype

傳回 finfo 傳回資訊的 dtype。對於複數輸入,傳回的 dtype 是與其實部和虛部相關聯的 float* dtype。

epsfloat

1.0 與下一個大於 1.0 的最小可表示浮點數之間的差值。例如,對於 IEEE-754 標準中的 64 位元二進位浮點數,eps = 2**-52,約為 2.22e-16。

epsnegfloat

1.0 與下一個小於 1.0 的最小可表示浮點數之間的差值。例如,對於 IEEE-754 標準中的 64 位元二進位浮點數,epsneg = 2**-53,約為 1.11e-16。

iexpint

浮點數表示法中指數部分的位元數。

machepint

產生 eps 的指數。

max適當型別的浮點數

最大的可表示數字。

maxexpint

造成溢位的最小正基底 (2) 冪次。

min適當型別的浮點數

最小的可表示數字,通常為 -max

minexpint

與尾數中沒有前導 0 一致的最負基底 (2) 冪次。

negepint

產生 epsneg 的指數。

nexpint

指數中的位元數,包括其符號和偏差。

nmantint

尾數中的位元數。

precisionint

此種浮點數精確到的小數位數的近似值。

resolution適當型別的浮點數

此型別的近似十進位解析度,即 10**-precision

tinyfloat

傳回 tiny 的值,smallest_normal 的別名。

smallest_normalfloat

傳回 smallest normal 的值。

smallest_subnormalfloat

遵循 IEEE-754 標準,尾數中前導位元為 0 的最小正浮點數。