函数

时间:2017-07-18 20:03:57

标签: rcpp

我需要一个Rcpp函数来根据输入类型进行操作。假设您想要对矩阵的每个元素加倍,但如果没有矩阵,则返回一个填充了特定维度的“2”的矩阵。在R中它就像是:

twoMatrix = function(oldMatrix = NULL, dim=c(10,10)){
 if(!is.null(oldMatrix)){return(2*oldMatrix)}
 return(matrix(2,nrow=dim[1],ncol=dim[2]))
}

但是当我尝试编写Rcpp函数时,我遇到了如何定义默认值以及检查用户是否选择了某种类型的问题。

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
NumericMatrix twoMatrixRcpp(NumericMatrix OldMatrix, IntegerVector dim){
 ...
}

如何设置默认参数,使其像R的NULL值一样工作,我可以检查用户是否指定了它的值?以及如何在函数内部检查它?

0 个答案:

没有答案