首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rcpp中的错误处理

Rcpp中的错误处理
EN

Stack Overflow用户
提问于 2013-05-29 04:01:29
回答 1查看 419关注 0票数 2

如果一个值是数值和有限的,我如何检查?假设我使用Rf_rgamma或我自己的例程生成随机数。根据参数的不同,可能会生成错误。我如何在C中检查这一点,并在这种情况下中断循环和整个函数?

我如何检查一个向量,比方说来自RcppArmadillo的arma::vec,是否只包含数值和有限值?

我知道,这些都是一般性的问题。然而,我的特定问题需要几分钟才能重现,而且我还无法创建一个最小的示例。大多数时候,我的函数运行得很好,100.000次中只有1次会导致R崩溃。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-29 05:58:20

这里有一种方法:检查每个元素。一个简单的演示:

代码语言:javascript
运行
复制
R> cppFunction('int checker(double x) { return ::R_finite(x);} ')
R> checker(2)
[1] 1
R> checker(0)
[1] 1
R> checker(NaN)
[1] 0
R> checker(Inf)
[1] 0
R> 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16800453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档