1个不稳定版本

0.1.0 2020年8月2日

#6 in #r

GPL-2.0-or-later

570KB
10K SLoC

C 10K SLoC // 0.4% comments Rust 514 SLoC // 0.1% comments

为了使R的nmath库工作我所做的事情

  1. 复制nmath源代码
  2. 设置MATHLIB_STANDALONE:告诉nmath为R之外的使用而构建
  3. 复制R的包含文件,因为即使在MATHLIB_STANDALONE下它们仍然需要。
  4. 从mingw目录复制Rconfig.hconfig.h(通常这些文件会被生成,但我认为数学库很少使用它们)。
  5. Rmath.h0.in复制Rmath.h并替换构建系统占位符(只有2个)。
  6. 手动列出要包含的函数,否则我们会拉入很多东西,包括源树之外的东西(而且由于某种原因无法编译)。
  7. Rmath.h奇怪地将正常函数设置为别名 - 我们必须在这里使用原始函数名,例如dnorm4

我在riir分支对这些函数的Rust版本做了一些工作。这个分支应该用于未来测试这些函数。

R是以GPLv2发布的,我理解为这意味着这个库也必须以GPLv2发布。如果所有函数都被替换为原生Rust函数,那么许可证可以更改为更宽容的许可证。

无运行时依赖

~0–2MB
~40K SLoC