6个版本 (3个重大更新)

新功能 0.8.0 2024年8月16日
0.7.2 2024年5月17日
0.6.0 2024年2月12日
0.5.1 2024年1月26日

#271 in 数学

GPL-3.0-or-later

73KB
2K SLoC

ffnt

此包提供了适合64位(或32位)整数的特征素数域。

它主要用于数论应用。所有算法均来自NTL库,但出于性能和安全性考虑,域特性在编译时设置。

此包不适合用于加密应用

使用方法

将以下内容添加到您的Cargo.toml

[dependencies]
ffnt = "0.8"

示例

use ffnt::Z64; // or Z32 if the characteristic fits inside 32 bits

// the field characteristic
const P: u64 = 113;

// sum up all elements of the field
let sum = (1..P).map(Z64::<P>::from)
   .reduce(|acc, t| acc + t)
   .unwrap();

// check that the elements sum to 0
// if `num-traits` is enabled it is even better to use `sum.is_zero()`
assert_eq!(sum, Z64::<P>::from(0));

更多示例请参阅示例目录

功能

许可证:GPL-3.0-or-later

依赖关系

~0–285KB