MagicCrypt 是一个 Java/PHP/NodeJS/Rust 库,用于加密/解密字符串、文件或数据,使用数据加密标准 (DES) 或高级加密标准 (AES) 算法。它支持 CBC 分组密码模式、PKCS5 填充和 64、128、192 或 256 位密钥长度。
2022-06-11 14:03:29 19KB rust 算法
Plumtree:流行病传播树
2022-06-11 14:03:28 13KB 算法 rust
摘要和特点 RsGenetic 是一个在 Rust 中执行遗传算法的框架。它旨在具有简单但模块化的 API。
2022-06-10 18:05:00 34KB 算法 rust
地理形状的布尔运算 这是Martinez-Rueda 多边形裁剪算法在 rust 中的一个实现,可以平滑地集成到已经存在的地理空间库 georust/geo中。
2022-06-10 18:04:59 508KB rust 算法
rustc 中使用的快速哈希算法。liballoc 中的 hashmap 默认使用 SipHash,它并没有我们想要的那么快。在编译器中,我们并不真正担心 DOS 尝试,因此我们使用快速非加密哈希。 这与 Firefox 使用的算法相同——它是一种不基于任何广为人知的算法的自制算法——尽管经过修改以生成 64 位散列值而不是 32 位散列值。它始终优于 rustc 本身中基于 FNV 的哈希——冲突率与 FNV 相似或略差,但哈希函数本身的速度要高得多,因为它一次最多可以处理 8 个字节。
2022-06-10 18:04:59 11KB rust 算法
要进行基准测试和绘图(您需要R和ggplot2)
2022-06-10 18:04:58 13KB rust 算法
Freeverb 算法的 Rust 实现。 Schroeder 混响器 Freeverb 算法为每个音频通道使用四个串联的 Schroeder 全通和八个并行的 Schroeder-Moorer 滤波-反馈梳状滤波器(第2.6.5节),据说调谐得特别好。 与原始实现有几个(有意的)差异: 为简单起见,延迟线缓冲区是动态分配的。这可能会对性能产生影响,一旦通用常量可用,我想将缓冲区设为静态。 内部使用 64 位处理,而原始处理是 32 位。我可能会在某个时候使样本类型可配置,但现在 64 位处理似乎是一个明智的默认设置。
2022-06-10 18:04:58 106KB rust 算法
向迭代器添加一个方法,该方法返回对数据的排序迭代器。排序是使用快速排序算法延迟实现的
2022-06-10 18:04:57 12KB rust sua
所有算法都位于单独的 crate 中,并使用signaturecrate 中的特征实现。
2022-06-10 18:04:56 102KB rust 算法
这是 Cassowary 约束求解算法的 Rust 实现。 Cassowary 旨在解决布局用户界面的约束。约束通常采用“此按钮必须与此文本框对齐”或“此框应尝试为其他框大小的 3 倍”的形式。到目前为止,它最受欢迎的化身是 Apple 用于 Mac OS X 和 iOS 用户界面的 Autolayout 系统。使用 Cassowary 算法的 UI 库设法实现了一种比 HTML 中的传统方法更自然的方法来指定 UI 布局。 这个库是求解算法的低级接口,尽管它试图尽可能方便。因此,它对常见的用户界面约定(如矩形区域甚至二维)没有任何内在知识。这些抽象属于更高级别的 crate。
2022-06-10 18:04:55 26KB rust sua