#常量 #配置 #通用

bin+lib cmn

一个用于访问数学和加密常量的Rust库

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

MIT/Apache

97KB
1K SLoC

Common (CMN) logo

通用 (CMN)

一个用于访问数学和加密常量的Rust库

Mini Functions 库系列的一部分。

Common (CMN) Banner

Made With Rust Crates.io Lib.rs Docs.rs License Codecov

网站文档报告错误请求功能贡献指南

divider

概述 📖

Common (CMN) 是一个现代、快速且用户友好的库,可以轻松访问各种数学和加密常量。

特性 ✨

Common (CMN) 使用 serde crate 进行数据序列化和反序列化。

库有三个模块

  • :此模块包含用于生成宏的函数,可以用于访问常量和单词。
  • 常量:此模块包含 Constants 结构体,它提供了一组常量值,这些值在库的整个生命周期中使用。
  • 单词:此模块包含 Words 结构体,它提供了一组单词,这些单词在库的整个生命周期中使用。

数学和加密常量

以下表格列出了 Common (CMN) 库中可用的最重要的数学和加密常量

常量 描述 示例
APERY 阿佩里常数,它是正立方倒数之和。 ζ(3)1.2020569032 用于各种数学计算和级数近似。
AVOGADRO 阿伏伽德罗常数是指一摩尔物质中所含的原子或分子数量。 N_A6.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) / 21.6180339887498948482045868343656 黄金分割比可以用来创建对称设计,或者令人赏心悦目的设计。
Pi (π) Pi 是圆周长与其直径的比值。π ≈ 3.14159265358979323846264338327950288 半径为 1 的圆的周长等于 pi。这可以用来计算圆、球以及其他几何形状的周长、面积和体积。
PLANCK 普朗克常数,它与光子的能量与其频率相关。h ≈ 6.62607015 x 10^-34 J s 波长为 500 纳米的可见光光子的能量等于普朗克常数乘以光的频率。这可以用来计算光子和其他基本粒子的能量。
PLANCK_REDUCED 普朗克缩减常数,是普朗克常数除以 2π。ħ = h / ()1.054571817 x 10^-34 J s 用于量子力学和相关计算。
SILVER_RATIO 银比例是银平均数之一。δ_s = 1 +22.4142135623730950488016887242097 银比例可以用来创建对称设计,或者令人赏心悦目的设计。
SPEED_OF_LIGHT 真空中的光速。c ≈ 299792458 m s^-1 用于与相对论和电磁现象相关的计算。
SPECIAL_CHARS 一组特殊字符。 特殊字符包括:!@#$%^&*()_+-={}[]
SQRT2 2 的平方根。21.4142135623730950488016887242097 半径为 1 的圆的面积等于 2 的平方根。这可以用来计算圆、球以及其他几何形状的面积和体积。
SQRT3 3 的平方根。31.7320508075688772935274463415059 半径为1的圆的面积为根号3。这可以用来计算圆的面积和体积。
SQRT5 5的平方根。 52.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上得到支持和测试。

文档

ℹ️ 信息:请访问我们的网站获取更多信息。您可以在docs.rslib.rscrates.io上找到我们的文档。

使用 📖

要在项目中使用 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-APACHELICENSE-MIT

贡献 🤝

我们欢迎所有想贡献力量的人。请参阅 贡献说明 获取更多信息。

对本项目的任何形式的贡献(问题、拉取请求等)都必须遵守 Rust 的行为准则

除非您明确表示,否则根据 Apache-2.0 许可证定义,您提交的任何有意包含在作品中的贡献都应按上述方式双重许可,不附加任何额外条款或条件。

致谢 💙

感谢 通用 (CMN) 库 的所有优秀贡献者,感谢他们的帮助和支持。

特别感谢 Rust Reddit 社区,他们提供了大量有价值的建议,以改进本项目。

依赖项

~0.8–1.7MB
~36K SLoC