2 分•作者: only_in_america•4 个月前
返回首页
最新
1 分•作者: pevals•4 个月前
1 分•作者: shad42•4 个月前
2 分•作者: speckx•4 个月前
1 分•作者: herecomesthepre•4 个月前
77 分•作者: pulisse•4 个月前
16 分•作者: rryan•4 个月前
115 分•作者: sh1mmer•4 个月前
59 分•作者: kipi•4 个月前
1 分•作者: halfblood1010•4 个月前
1 分•作者: mesmertech•4 个月前
1 分•作者: uaziz1•4 个月前
1 分•作者: Tommyrexx•4 个月前
我正在用 C 语言积极开发一个任意精度算术库,目标是提供一个与 GNU 的 LibGMP 速度相近的替代方案,但采用 MIT 许可证。作为一个全日制大学生,独自完成这项工作有点枯燥,但进展缓慢而稳定。
GitHub 链接:https://github.com/EpsilonNought117/libapac
我的 API 和命名方案受到了 GMP 公共 API 的启发,但内部实现(据我所知)完全是我自己的。该库目前在 x86-64 CPU 上使用运行时分发到特定于微架构的汇编函数版本,适用于类 Unix 和 Windows 操作系统,未来计划在两者上都支持 ARM64。我手写了所有汇编例程(从写作风格可能很明显),使用了 MASM 和 GAS 汇编器,并使用编译器内部函数编写了一些基于 SIMD 的例程。
到目前为止,性能似乎与 GMP 在中小型大整数方面相当(性能图表在 README 中)。我已经实现了一些算法,例如 Karatsuba 算法和分治除法(平衡和不平衡),并且会根据需要添加更多算法。《现代计算机算术》(作者:Brent 和 Zimmerman)和《黑客的喜悦》(作者:Henry Warren Jr.)这两本书确实帮助很大。
目前仍处于 WIP(进行中)阶段。
欢迎任何反馈和/或批评。乐于回答任何问题。
1 分•作者: eamag•4 个月前
1 分•作者: dritoonnss•4 个月前
3 分•作者: ksajadi•4 个月前
1 分•作者: flashbrew•4 个月前
1 分•作者: ijtihed1•4 个月前
3 分•作者: raimille1•4 个月前
6 分•作者: JackeJR•4 个月前