繁体   English   中英

如何将isTRUE转换为Rcpp

[英]How to translate isTRUE to Rcpp

是否可以将R函数isTRUE为Rcpp? 如果是这样,怎么办?

R函数:

function (x) 
is.logical(x) && length(x) == 1L && !is.na(x) && x

我在第一部分和第三部分中苦苦挣扎。 如何检查输入是布尔型还是逻辑型? 当输入类型未知时,如何测试NA?

我知道我可以检查长度是否为1

x.length()  == 1  /  x.size() == 1

它已经在此头文件中实现

template <bool NA, typename T>
inline bool is_true( const Rcpp::sugar::SingleLogicalResult<NA,T>& x){
    return const_cast< Rcpp::sugar::SingleLogicalResult<NA,T>& >(x).is_true() ;
}

当然,它引用了另一个文件……并且所有模板元编程都不是出于胆小。 您也可以做草图,请参见Rcpp Gallery上有关动态分配的文章,以查看在运行时测试类型的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM