38个版本 (6个重大更新)
新版本 0.7.1 | 2024年8月23日 |
---|---|
0.6.5 | 2024年8月21日 |
0.4.2 | 2024年7月31日 |
0.1.1 | 2021年2月26日 |
#80 in WebAssembly
每月下载量 2,515
用于solar
135KB
555 行
MathLab
Rust的强大数学库
安装
在您的项目目录中运行以下Cargo命令
cargo add mathlab
或
将以下行添加到您的Cargo.toml
文件中,指定版本
mathlab = "MAJOR.MINOR.PATCH"
变更日志
https://github.com/dr-montasir/mathlab/blob/master/CHANGELOG.md
用法
// examples
use mathlab::math;
fn main() {
let abs = math::abs(-2.0);
let add = math::add(0.1, 0.2);
let add_f64 = math::add(0.1, 0.2) as f64;
println!("{}", abs); // 2
println!("{}", add); // 0.30000000000000004
println!("{}", add_f64); // 0.30000000000000004
println!("{}", math::add(0.1, 0.2) as f32); // 0.3
println!("{}", math::fix64(0.1 + 0.2)); // 0.3
println!("{}", math::fix(0.1 + 0.2, 15)); // 0.3
println!("{}", math::to_fixed(0.1 + 0.2, 15)); // "0.3"
println!(
"{:?}",
math::subt_vec_vec(
&[0.1, 0.2, 0.3], &[0.3, 0.2, 0.1]
)
); // [-0.19999999999999998, 0.0, 0.19999999999999998]
println!(
// with vectors, use "{:?}" or "{:#?}".
"{:?}",
math::fix64_vec(
// Use the reference (&) before vector.
&math::subt_vec_vec(&[0.1, 0.2, 0.3], &[0.3, 0.2, 0.1]
))
); // [-0.2, 0.0, 0.2]
println!(
"{:?}",
math::sin_vec(&[0.5235987756, 1.5707963268])
); // [0.5, 1.0]
// [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]
println!("{:?}", math::range(0.0, 0.1, 11, "asc"));
// [1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0]
println!("{:?}", math::range(1.0, 0.1, 11, "desc"));
println!(
"{:#?}",
math::sin_deg_vec(&math::range(0.0, 1.0, 361, "asc"))
); // [0.0, ..., 0.5, ..., 1.0, ..., 0.5, ..., 0.0]
}
或
// examples
use mathlab::math::{
abs, add, fix64, fix64_vec, fix,
to_fixed, range, sin_vec,
sin_deg_vec, subt_vec_vec
};
fn main() {
let my_abs = abs(-2.0);
let my_add = add(0.1, 0.2);
let my_add_f64 = add(0.1, 0.2) as f64;
println!("{}", my_abs); // 2
println!("{}", my_add); // 0.30000000000000004
println!("{}", my_add_f64); // 0.30000000000000004
println!("{}", add(0.1, 0.2) as f32); // 0.3
println!("{}", fix64(0.1 + 0.2)); // 0.3
println!("{}", fix(0.1 + 0.2, 15)); // 0.3
println!("{}", to_fixed(0.1 + 0.2, 15)); // "0.3"
println!(
"{:?}",
subt_vec_vec(
&[0.1, 0.2, 0.3], &[0.3, 0.2, 0.1]
)
); // [-0.19999999999999998, 0.0, 0.19999999999999998]
println!(
// with vectors, use "{:?}" or "{:#?}".
"{:?}",
fix64_vec(
// Use the reference (&) before vector.
&subt_vec_vec(&[0.1, 0.2, 0.3], &[0.3, 0.2, 0.1]
))
); // [-0.2, 0.0, 0.2]
println!(
"{:?}",
sin_deg_vec(&[30.0, 90.0])
); // [0.5, 1.0]
// [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]
println!("{:?}", range(0.0, 0.1, 11, "asc"));
// [1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0]
println!("{:?}", range(1.0, 0.1, 11, "desc"));
println!(
"{:#?}",
sin_deg_vec(&range(0.0, 1.0, 361, "asc"))
); // [0.0, ..., 0.5, ..., 1.0, ..., 0.5, ..., 0.0]
}
Web 2.0演示项目
Web 3.0演示项目
Canister | 智能合约 |
文档
https://docs.rs/mathlab
MathLab
Rust的强大数学库
所有项目 [ 155 ]
模块
1. constants [ 16个项目 ]
constant | constant | constant |
---|---|---|
E | H_PI | INF_F32 |
INF_F64 | LN2 | LN10 |
LOG2E | LOG10E | NAN_F32 |
NAN_F64 NINF_F32 NINF_F64 PHI PI Q_PI TAU
2. 函数 [ 139 个项目 ]
-
参数 [ 3 个项目 ]
函数 | 函数 | 函数 |
---|---|---|
monolist | range | to_fixed |
-
数值 [ 66 个项目 ]
函数 | 函数 | 函数 |
---|---|---|
abs | add | acot |
acot_deg | acos | acos_deg |
acsc | acsc_deg | asec |
asec_deg asin asin_deg atan atan_deg cbrt ceil cot cot_deg cos cos_deg cosh csc csc_deg cube deg_to_rad divi exp f64_to_f32 fact fix fix64 floor fround gamma i64_to_f64 inv is_inf_f32 is_inf_f64 is_nan_f32 is_nan_f64 is_ninf_f32 is_ninf_f64 ln ln1p log2 log10 mult nrt pow rad_to_deg rem round sec sec_deg sign sin sin_deg sinh sqr sqrt subt tan tan_deg tanh trunc u64_to_f64
-
向量 [ 49 个项目 ]
函数 | 函数 | 函数 |
---|---|---|
abs_vec | acos_vec | acos_deg_vec |
acot_vec | acot_deg_vec | acsc_vec |
acsc_deg_vec | asec_vec | asec_deg_vec |
asin_vec asin_deg_vec atan_vec atan_deg_vec cbrt_vec ceil_vec cos_vec cos_deg_vec cot_vec cot_deg_vec csc_vec csc_deg_vec cube_vec deg_to_rad_vec exp_vec f64_to_f32_vec fact_vec fix64_vec floor_vec fround_vec gamma_vec i64_to_f64_vec inv_vec ln_vec ln1p_vec log2_vec log10_vec rad_to_deg_vec round_vec sec_vec sec_deg_vec sign_vec sin_deg_vec sin_vec sqr_vec sqrt_vec tan_deg_vec tan_vec trunc_vec u64_to_f64_vec
-
num_vec [ 7 items ]
函数 | 函数 | 函数 |
---|---|---|
add_num_vec | divi_num_vec | mult_num_vec |
nrt_num_vec | pow_num_vec | rem_num_vec |
subt_num_vec |
-
vec_num [ 7 items ]
函数 | 函数 | 函数 |
---|---|---|
add_vec_num | divi_vec_num | mult_vec_num |
nrt_vec_num | pow_vec_num | rem_vec_num |
subt_vec_num |
-
vec_vec [ 7 items ]
函数 | 函数 | 函数 |
---|---|---|
add_vec_vec | divi_vec_vec | mult_vec_vec |
nrt_vec_vec | pow_vec_vec | rem_vec_vec |
subt_vec_vec |
3. math [ 155 items ]
数学模块包含所有常量和函数。