R CMD检查未记录的函数警告与注册

时间:2017-04-24 21:35:35

标签: c r warnings packages

我最近尝试更新CRAN上的simest包,并意识到我需要注册本机例程。我以某种方式管理了这个,当我运行R CMD检查simest时,我得到一个警告,C函数没有文档。我不确定为什么会这样?

v1 <- rle(unlist(Map(":", x[-length(x)], x[-1])))$values
c(seq(v1[1]), v1[-1]) 
#[1] 1 2 3 4 5 4 3 2 1 2 3 4 5 6

头文件simest.h只包含C函数定义。我从R CMD检查得到的警告如下:

#include <R_ext/Rdynload.h>
#include "simest.h"

static R_NativePrimitiveArgType derivcvxpec_t[] = {
    INTSXP, REALSXP, REALSXP, REALSXP, REALSXP
};

static R_NativePrimitiveArgType cpen_t[] = {
   INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   REALSXP, REALSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   INTSXP, REALSXP, REALSXP, INTSXP, REALSXP
};

static R_NativePrimitiveArgType predcvxpen_t[] = {
   INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   REALSXP, REALSXP, REALSXP, REALSXP, REALSXP, REALSXP
};

static R_NativePrimitiveArgType spen_egcv_t[] = {
    INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
    REALSXP, REALSXP, REALSXP, INTSXP, INTSXP, REALSXP
};

static R_NativePrimitiveArgType penta_t[] = {
   INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   REALSXP, REALSXP, REALSXP
};

static const R_CMethodDef cMethods[] = {
   {"derivcvxpec", (DL_FUNC) &derivcvxpec, 5, derivcvxpec_t},
   {"cpen", (DL_FUNC) &cpen, 16, cpen_t},
   {"predcvxpen", (DL_FUNC) &predcvxpen, 11, predcvxpen_t},
   {"spen_egcv", (DL_FUNC) &spen_egcv, 11, spen_egcv_t},
   {"penta", (DL_FUNC) &penta, 8, penta_t},
   {NULL, NULL, 0}
};

void R_init_simest(DllInfo *dll)
{
   R_registerRoutines(dll, cMethods, NULL, NULL, NULL);
   R_useDynamicSymbols(dll, FALSE);
}

这些都是C函数。任何帮助表示赞赏。谢谢。

0 个答案:

没有答案