【发布时间】:2018-04-16 18:16:33
【问题描述】:
我猜是函数gamma only works for a vector as the input. Is there a way to apply it to a scalar, say,gamma(3)`?
实际上,如果我将gamma(3) 包含在我的代码中,我会得到正确的输出,但是会有一条警告消息....
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
List fool(NumericVector vec){
double res = 0;
res = sum(gamma(vec)) + gamma(3);
List result;result["num"] = res;
return result;
}
这里是警告信息:
exp.cpp:7:27: 警告:'gamma' 已弃用:在 OS X 10.9 中首次弃用 [-Wdeprecated-declarations]
res = sum(gamma(vec)) + gamma(3);
^ /usr/include/math.h:720:15:注意:“gamma”已在此处明确标记为已弃用 外部双伽马(双)__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); ^ 生成了 1 个警告。
【问题讨论】:
-
警告消息来自代码中的其他地方,因为
3是一个向量,而gamma(3)返回2,正如预期的那样。 -
请显示代码和警告信息。请参阅 how to make a great reproducible example 获取有用的建议。
-
抱歉不清楚。我在这里附上了我的代码:)
标签: r rcpp gamma-function