gpt4 book ai didi

r - 提高Rcpp浮点输出的精度

转载 作者:行者123 更新时间:2023-12-03 16:06:08 25 4
gpt4 key购买 nike

我正在尝试从Rcpp函数的 double 输出中打印更多数字,但无法弄清楚如何...我已经在How do I print a double value with full precision using cout?和其他地方查看了通用C++答案,但是我看不到如何用Rcpp做到这一点,除了使用printf,我认为这是不得已而为之的。

require(inline)
code <- '
double x=1.0;
std::cout.precision(10); // compiles but does nothing
Rcpp::Rcout.precision(10); // compiles but does nothing
printf("(1) %1.10lf\\n",x); // works but bad practice
Rcpp::Rcout << "(2) " << x << std::endl;
Rcpp::Rcout << "(3) " << std::setprecision(10) << x << std::endl;
return Rcpp::wrap(0);
'
fun <- rcpp(sig=c(v=0),body=code,includes="#include <iomanip>")
fun(1)
## (1) 1.0000000000
## (2) 1
## (3) 1
## [1] 0

最佳答案

查看链接的答案,您没有找到std::fixed的电话:

code2 <- '
double x=1.0;
Rcpp::Rcout.precision(10);
Rcpp::Rcout << "(1) " << std::fixed << x << std::endl;
return Rcpp::wrap(0);
'
fun2 <- rcpp(sig=c(v=0),body=code2,includes="#include <iomanip>")
fun2(1)
## (1) 1.0000000000
## [1] 0

关于r - 提高Rcpp浮点输出的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20766920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com