4 个版本
0.0.4 | 2024年5月11日 |
---|---|
0.0.3 | 2023年5月13日 |
0.0.2 | 2023年2月9日 |
0.0.1 | 2023年2月5日 |
#188 in 加密学
用于 2 crate
97KB
1K SLoC
通用 (CMN)
一个用于访问数学和加密常量的Rust库
Mini Functions 库系列的一部分。
• 网站 • 文档 • 报告错误 • 请求功能 • 贡献指南
概述 📖
Common (CMN)
是一个现代、快速且用户友好的库,可以轻松访问各种数学和加密常量。
特性 ✨
Common (CMN)
使用 serde
crate 进行数据序列化和反序列化。
库有三个模块
- 宏:此模块包含用于生成宏的函数,可以用于访问常量和单词。
- 常量:此模块包含
Constants
结构体,它提供了一组常量值,这些值在库的整个生命周期中使用。 - 单词:此模块包含
Words
结构体,它提供了一组单词,这些单词在库的整个生命周期中使用。
数学和加密常量
以下表格列出了 Common (CMN)
库中可用的最重要的数学和加密常量
常量 | 描述 | 示例 |
---|---|---|
APERY | 阿佩里常数,它是正立方倒数之和。 ζ(3) ≈ 1.2020569032 |
用于各种数学计算和级数近似。 |
AVOGADRO | 阿伏伽德罗常数是指一摩尔物质中所含的原子或分子数量。 N_A ≈ 6.02214076 x 10^23 mol^-1 |
12克碳-12中的原子数为6.02214076 × 10^23。这可以用来计算给定样品中的原子或分子数量。 |
BOLTZMANN | 玻尔兹曼常数是联系系统温度与其组成粒子平均动能的物理常数。 k_B ≈ 1.380648 x 10^-23 J K^-1 |
室温下原子的动能约为2.0 × 10^-21焦耳。这可以用来计算系统的温度,或计算其粒子的平均动能。 |
CATALAN | 卡塔兰常数是交错调和级数的和。 C ≈ 0.915965594177219 |
用于各种数学计算和级数近似。 |
COULOMB | 库仑常数是库仑定律中的比例常数。 k_e ≈ 8.9875517923 x 10^9 N m^2 C^-2 |
用于与静电力和电场相关的计算。 |
EULER | 欧拉常数是一个数学常数,约等于2.71828。 e ≈ 2.7182818284590452353602874713527 |
无穷级数1 + 1/2 + 1/3 + ...的和等于欧拉常数e。这可以用来计算无穷级数的和,或计算一个数的对数。 |
FARADAY | 法拉第常数表示一摩尔电子携带的电荷量。 F ≈ 96485.33212 C mol^-1 |
用于与电化学和电解相关的计算。 |
GAMMA | 伽玛常数是一个数学常数,约等于0.57721。 γ ≈ 0.5772156649015329 |
2的伽玛函数等于1。这可以用来计算一个数的伽玛函数,或计算一个数的阶乘。 |
GAS_CONSTANT | 气体常数,它与理想气体定律中的能量标度和温度标度相关。 R ≈ 8.314462618 J mol^-1 K^-1 |
用于与气体行为和热力学相关的计算。 |
GLAISHER_KINKELIN | 格拉瑟-金克尔林常数,它在巴恩斯G函数的渐近展开中出现。 A ≈ 1.2824271291 |
用于各种数学计算和级数近似。 |
GRAVITATIONAL_CONSTANT | 万有引力常数,它是牛顿万有引力定律中的比例常数。 G ≈ 6.67430 x 10^-11 m^3 kg^-1 s^-2 |
用于与引力力和天体力学相关的计算。 |
HASH_ALGORITHM | 用于生成哈希的哈希算法。默认为Blake3。 | 字符串 "Hello, world!" 的哈希值为 5eb63bbbe01eeed093cb22bb8f5acdc32790160b123138d53f2173b8d3dc3eee。这可以用来验证数据的完整性,或者为文件创建一个唯一的标识符。 |
HASH_COST | 哈希的成本。 | Blake3 的哈希成本为 2^128 。这可以用来确定哈希算法的安全性。 |
HASH_LENGTH | 哈希的长度。 | Blake3 的哈希长度为 32 字节。这可以用来确定存储哈希输出的空间需求。 |
KHINCHIN | Khinchin 常数,出现在连分数理论中。K ≈ 2.6854520010 |
用于各种数学计算和级数近似。 |
PHI | 黄金分割比是一个约等于 1.618033988749895 的数。φ = (1 + √5) / 2 ≈ 1.6180339887498948482045868343656 |
黄金分割比可以用来创建对称设计,或者令人赏心悦目的设计。 |
Pi (π) | Pi 是圆周长与其直径的比值。π ≈ 3.14159265358979323846264338327950288 |
半径为 1 的圆的周长等于 pi。这可以用来计算圆、球以及其他几何形状的周长、面积和体积。 |
PLANCK | 普朗克常数,它与光子的能量与其频率相关。h ≈ 6.62607015 x 10^-34 J s |
波长为 500 纳米的可见光光子的能量等于普朗克常数乘以光的频率。这可以用来计算光子和其他基本粒子的能量。 |
PLANCK_REDUCED | 普朗克缩减常数,是普朗克常数除以 2π。ħ = h / (2π) ≈ 1.054571817 x 10^-34 J s |
用于量子力学和相关计算。 |
SILVER_RATIO | 银比例是银平均数之一。δ_s = 1 + √2 ≈ 2.4142135623730950488016887242097 |
银比例可以用来创建对称设计,或者令人赏心悦目的设计。 |
SPEED_OF_LIGHT | 真空中的光速。c ≈ 299792458 m s^-1 |
用于与相对论和电磁现象相关的计算。 |
SPECIAL_CHARS | 一组特殊字符。 | 特殊字符包括:!@#$%^&*()_+-={}[] |
SQRT2 | 2 的平方根。√2 ≈ 1.4142135623730950488016887242097 |
半径为 1 的圆的面积等于 2 的平方根。这可以用来计算圆、球以及其他几何形状的面积和体积。 |
SQRT3 | 3 的平方根。√3 ≈ 1.7320508075688772935274463415059 |
半径为1的圆的面积为根号3。这可以用来计算圆的面积和体积。 |
SQRT5 | 5的平方根。 √5 ≈ 2.23606797749979 |
半径为1的圆的面积等于根号5。 |
TAU | 圆周常数,即圆周长与半径的比值。 τ = 2π ≈ 6.28318530717958647692528676655900577 |
半径为1的圆的周长等于tau。 |
VACUUM_PERMEABILITY | 真空磁导率,它将磁感应强度与磁场强度联系起来。 μ_0 ≈ 1.25663706212 x 10^-6 N A^-2 |
用于与电磁学和磁场相关的计算。 |
VACUUM_PERMITTIVITY | 真空电容率,它将电位移与电场强度联系起来。 ε_0 ≈ 8.8541878128 x 10^-12 F m^-1 |
用于与电磁学和电场相关的计算。 |
入门 🚀
只需几分钟即可开始使用 Common (CMN)
。
安装
要安装 Common (CMN)
,您需要在您的计算机上安装Rust工具链。您可以通过访问Rust网站上的说明来安装Rust工具链。
安装Rust工具链后,您可以使用以下命令安装 Common (CMN)
cargo install cmn
要求
目前最低支持的Rust工具链版本是Rust 1.60或更高版本(稳定版)。建议您安装最新的稳定版Rust。
平台支持
cmn
支持多种CPU架构。它在MacOS、Linux和Windows上得到支持和测试。
文档
使用 📖
要在项目中使用 Common (CMN)
库,请将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
cmn = "0.0.4"
将以下内容添加到您的 main.rs
文件中
extern crate cmn;
use cmn::*;
然后您可以在应用程序代码中使用这些函数。
示例
通用 (CMN)
随附一组示例,您可以使用这些示例开始。示例位于项目的 examples
目录中。要运行示例,请克隆存储库,然后在项目根目录中从终端运行以下命令。
cargo run --example cmn
语义版本策略 🚥
为了提高发布周期的透明度并努力保持向后兼容性,通用 (CMN)
遵循 语义版本。
许可证 📝
通用 (CMN)
在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。
有关详细信息,请参阅 LICENSE-APACHE 和 LICENSE-MIT。
贡献 🤝
我们欢迎所有想贡献力量的人。请参阅 贡献说明 获取更多信息。
对本项目的任何形式的贡献(问题、拉取请求等)都必须遵守 Rust 的行为准则。
除非您明确表示,否则根据 Apache-2.0 许可证定义,您提交的任何有意包含在作品中的贡献都应按上述方式双重许可,不附加任何额外条款或条件。
致谢 💙
感谢 通用 (CMN) 库 的所有优秀贡献者,感谢他们的帮助和支持。
特别感谢 Rust Reddit 社区,他们提供了大量有价值的建议,以改进本项目。
依赖项
~0.8–1.7MB
~36K SLoC