.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 double
C 类型在内部相当多的地方用于累加器,例如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 double
C 型,与double
type — 这发生在 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。