#quantile #stats #statistics #r #nmath

r_mathlib

将R的nmath统计模块移植到Rust

3个不稳定版本

0.2.0 2023年7月27日
0.1.1 2023年2月27日
0.1.0 2020年9月18日

#1742 in 数学

GPL-2.0-or-later

585KB
10K SLoC

C 10K SLoC // 0.4% comments Rust 519 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并替换构建系统占位符(只有两个)。
  6. 手动列出要包含的函数,否则我们会拉入很多东西,包括源代码树外的很多东西(并且由于某种原因,它也无法编译)。
  7. Rmath.h奇怪地将正常函数设置为别名 - 我们在这里必须使用原始函数名,例如dnorm4

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

R是以GPLv2发布的,我将其解释为这意味着此库也必须以GPLv2发布。如果所有函数都被替换为原生的Rust函数,则可以将许可证更改为更宽松的许可证。

无运行时依赖

~0–2MB
~39K SLoC