Merge pull request #80 from olback/math-consts-context
Add math consts context
This commit is contained in:
commit
1532c65a3d
@ -523,6 +523,7 @@ mod feature_serde;
|
||||
mod function;
|
||||
mod interface;
|
||||
mod operator;
|
||||
mod predefined;
|
||||
mod token;
|
||||
mod tree;
|
||||
mod value;
|
||||
|
37
src/predefined/mod.rs
Normal file
37
src/predefined/mod.rs
Normal file
@ -0,0 +1,37 @@
|
||||
/// Context with all f64::consts available by default.
|
||||
/// Alternatively, specifiy constants with `math_consts_context!(E, PI, TAU, ...)`
|
||||
/// Available constants can be found in the [`core::f64::consts module`](https://doc.rust-lang.org/nightly/core/f64/consts/index.html).
|
||||
#[macro_export]
|
||||
macro_rules! math_consts_context {
|
||||
() => {
|
||||
$crate::math_consts_context!(
|
||||
PI,
|
||||
TAU,
|
||||
FRAC_PI_2,
|
||||
FRAC_PI_3,
|
||||
FRAC_PI_4,
|
||||
FRAC_PI_6,
|
||||
FRAC_PI_8,
|
||||
FRAC_1_PI,
|
||||
FRAC_2_PI,
|
||||
FRAC_2_SQRT_PI,
|
||||
SQRT_2,
|
||||
FRAC_1_SQRT_2,
|
||||
E,
|
||||
LOG2_10,
|
||||
LOG2_E,
|
||||
LOG10_2,
|
||||
LOG10_E,
|
||||
LN_2,
|
||||
LN_10
|
||||
)
|
||||
};
|
||||
($($name:ident),*) => {{
|
||||
use $crate::ContextWithMutableVariables;
|
||||
$crate::context_map! {
|
||||
$(
|
||||
stringify!($name) => core::f64::consts::$name,
|
||||
)*
|
||||
}
|
||||
}};
|
||||
}
|
Loading…
Reference in New Issue
Block a user