1 个不稳定版本
新增 0.1.0 | 2024 年 8 月 21 日 |
---|
#26 在 魔法豆
86 每月下载量
16KB
284 行
魔法曲线
魔法曲线 是一个 Rust 库,提供了一套用于处理各种债券曲线的工具。这包括线性、二次、指数、对数和 S 形债券曲线的实现。
描述
魔法曲线是为需要精确曲线计算的应用设计的,在金融、经济学和各个科学领域都很有用。该库支持浮点数和定点数算术,以在关键应用中实现高精度。
安装
将此添加到您的 Cargo.toml
[dependencies]
magic-curves = "0.1.0"
然后,使用以下命令构建您的项目
cargo build
用法
以下是使用 magic_curves
库提供的不同债券曲线的示例
线性债券曲线
use magic_curves::core::linear::LinearBondingCurve;
fn main() {
let linear = 500_000_000u128;
let base = 1_000_000_000u128;
let curve = LinearBondingCurve::new(linear, base);
let price = curve.calculate_price(0);
println!("Price at supply 0: {}", price); // Outputs base price
let price = curve.calculate_price(1);
println!("Price at supply 1: {}", price); // Outputs increased price
}
指数债券曲线
use magic_curves::ExponentialBondingCurve;
fn main() {
let curve = ExponentialBondingCurve::new(0.01, 0.02);
let price = curve.calculate_price_lossy(100);
println!("Price at supply 100: {}", price);
}
对数债券曲线
use magic_curves::LogarithmicBondingCurve;
fn main() {
let curve = LogarithmicBondingCurve::new(0.01, 0.02);
let price = curve.calculate_price_lossy(100);
println!("Price at supply 100: {}", price);
}
二次债券曲线
use magic_curves::QuadraticBondingCurve;
fn main() {
let curve = QuadraticBondingCurve::new(10_000_000, 500_000_000, 1_000_000_000);
let price = curve.calculate_price(1);
println!("Price at supply 1: {}", price); // Example price calculation
}
S 形债券曲线
use magic_curves::SigmoidBondingCurve;
fn main() {
let curve = SigmoidBondingCurve::new(100.0, 0.01, 500);
let price = curve.calculate_price_lossy(480);
println!("Price at supply 480: {}", price);
}
贡献
欢迎贡献!请参阅 CONTRIBUTING.md 了解更多详细信息。
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE.md 文件。
依赖
~155KB