.Machine 位於 base 包(package)。 說明
.Machine是一個變量,保存有關機器數值特征的信息R正在運行,例如最大的雙精度或整數以及機器的精度。
用法
.Machine
細節
該算法基於 Cody (1988) 的子例程 MACHAR。由於當前所有的實現R使用 32 位整數並使用 IEC 60559 浮點(雙精度)算術,"integer"和"double"幾乎所有的相關值都是相同的R構建。
請注意,在大多數平台上,正值小於.Machine$double.xmin可能會發生。在一個典型的R平台最小正雙精度約為5e-324.
值
包含組件的列表
double.eps |
滿足 |
double.neg.eps |
一個小的正浮點數 |
double.xmin |
最小的非零標準化浮點數,基數的冪,即 |
double.xmax |
最大的標準化浮點數。通常,它等於 |
double.base |
浮點表示的基數:通常為 |
double.digits |
浮點尾數中的基數位數:通常為 |
double.rounding |
舍入動作,其中之一 |
double.guard |
截斷算術乘法的保護位數。如果浮點算術截斷且超過則為 1 |
double.ulp.digits |
最大負整數 |
double.neg.ulp.digits |
最大負整數 |
double.exponent |
為表示浮點數的指數(包括偏差或符號)而保留的位數(如果 |
double.min.exp |
最大的負整數 |
double.max.exp |
溢出的 |
integer.max |
可以表示的最大整數。始終。 |
sizeof.long |
C |
sizeof.longlong |
C |
sizeof.longdouble |
C 中的字節數 |
sizeof.pointer |
C 中的字節數 |
sizeof.time_t |
的數量字節在C |
longdouble.eps, longdouble.neg.eps, longdouble.digits, ... |
引入於R4.0.0。什麽時候 |
注意
在(典型)情況下capabilities("long.double")是真的,R使用long doubleC 類型在內部相當多的地方用於累加器,例如sum,將非整數數值常量讀入(二進製)雙精度數字,或算術,例如x %% y;還,long double可以通過以下方式讀取readBin.
為此,在這種情況下,.Machine還包含十個成分,longdouble.eps,*.neg.eps,*.digits,*.rounding
*.guard,*.ulp.digits,*.neg.ulp.digits,*.exponent,*.min.exp, 和*.max.exp,完全類似於他們的計算double.*同行們,請參閱那裏。
sizeof.longdouble隻告訴您為 long double 分配的存儲量。通常存儲的是 IEC 60559 的 80 位擴展雙精度類型,填充到平台上使用的雙對齊 — 這似乎是常見的情況R使用 ix86 和 x86_64 芯片的平台。還有其他 long double 的實現,通常在軟件中,例如 Sparc Solaris 和 AIX 上。
請注意,平台擁有long doubleC 型,與doubletype — 這發生在 ARM cpu 上。在這種情況下capabilities("long.double")將是錯誤的,但在版本上R在 4.0.4 之前,.Machine可能含有"longdouble.<kind>"元素。
例子
.Machine
## or for a neat printout
noquote(unlist(format(.Machine)))
來源
在參考中使用 Fortran 代碼的 C 翻譯,由 R 核心團隊修改以擊敗現代編譯器中的 over-optimization。
參考
Cody, W. J. (1988). MACHAR: A subroutine to dynamically determine machine parameters. Transactions on Mathematical Software, 14(4), 303-311. doi:10.1145/50063.51907.
也可以看看
.Platform 了解平台的詳細信息。
相關用法
- R .Device 打開/活動圖形設備列表
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
- R rank 樣本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 將文本推回連接
- R strsplit 分割字符向量的元素
- R seq.Date 生成規則的日期序列
- R invisible 將打印模式更改為不可見
- R noquote “無引號”字符串打印類
- R warning 警告信息
- R rapply 遞歸地將函數應用於列表
- R basename 操作文件路徑
- R with 評估數據環境中的表達式
- R formals 訪問和操縱形式參數
- R icuSetCollate 按 ICU 設置整理
- R search 給出 R 對象的搜索路徑
- R Defunct 將對象標記為已失效
- R gzcon 通過連接(解)壓縮 I/O
- R readRenviron 從文件設置環境變量
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Numerical Characteristics of the Machine。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
