如何从 R 调用 dpois_raw C 统计例程
How to call dpois_raw C stats routine from R
我正在尝试找出一种方法来调用 stats 包的 "dpois_raw" 例程,而不是使用 .Call .External 或其他方式调用 "dpois" 包装器。
"dpois_raw" 没有在包环境 (stats:::C_*)
中列出,也没有在我这样做时 getDLLRegisteredRoutines("stats")
所以我可能运气不好,但我想知道是否有人 R/C 专家知道解决方法。
dpois_raw
例程由 Rmath.h
header 提供,它似乎并没有作为 stats
包的一部分公开(或以其他方式公开) );但是,它通过 Rmath.h
header.
可用于 C / C++ 代码
公开它的最简单方法是使用您自己的 C/C++ 代码公开该代码,例如(代码存根)
#include <R.h>
#include <Rmath.h>
SEXP my_dpois_raw(<...>) {
double result = dpois_raw(<...>);
return result;
}
然后可以从 R 中调用此例程,例如
.Call("my_dpois_raw", <...>)
有关在 R 包中使用编译代码的更多信息,请参阅 Hadley 的 r-pkgs 部分。
我正在尝试找出一种方法来调用 stats 包的 "dpois_raw" 例程,而不是使用 .Call .External 或其他方式调用 "dpois" 包装器。
"dpois_raw" 没有在包环境 (stats:::C_*)
中列出,也没有在我这样做时 getDLLRegisteredRoutines("stats")
所以我可能运气不好,但我想知道是否有人 R/C 专家知道解决方法。
dpois_raw
例程由 Rmath.h
header 提供,它似乎并没有作为 stats
包的一部分公开(或以其他方式公开) );但是,它通过 Rmath.h
header.
公开它的最简单方法是使用您自己的 C/C++ 代码公开该代码,例如(代码存根)
#include <R.h>
#include <Rmath.h>
SEXP my_dpois_raw(<...>) {
double result = dpois_raw(<...>);
return result;
}
然后可以从 R 中调用此例程,例如
.Call("my_dpois_raw", <...>)
有关在 R 包中使用编译代码的更多信息,请参阅 Hadley 的 r-pkgs 部分。