37 lines
1.4 KiB
Rust
37 lines
1.4 KiB
Rust
pub mod abs;
|
|
pub mod aggregate;
|
|
pub mod basic_math;
|
|
pub mod random;
|
|
pub mod round;
|
|
pub mod trig;
|
|
|
|
use crate::shared::models::UserSession;
|
|
use crate::shared::state::AppState;
|
|
use log::debug;
|
|
use rhai::Engine;
|
|
use std::sync::Arc;
|
|
|
|
pub fn register_math_functions(state: &Arc<AppState>, user: UserSession, engine: &mut Engine) {
|
|
abs::abs_keyword(state, user.clone(), engine);
|
|
round::round_keyword(state, user.clone(), engine);
|
|
basic_math::int_keyword(state, user.clone(), engine);
|
|
basic_math::floor_keyword(state, user.clone(), engine);
|
|
basic_math::ceil_keyword(state, user.clone(), engine);
|
|
basic_math::max_keyword(state, user.clone(), engine);
|
|
basic_math::min_keyword(state, user.clone(), engine);
|
|
basic_math::mod_keyword(state, user.clone(), engine);
|
|
basic_math::sgn_keyword(state, user.clone(), engine);
|
|
basic_math::sqrt_keyword(state, user.clone(), engine);
|
|
basic_math::pow_keyword(state, user.clone(), engine);
|
|
random::random_keyword(state, user.clone(), engine);
|
|
trig::sin_keyword(state, user.clone(), engine);
|
|
trig::cos_keyword(state, user.clone(), engine);
|
|
trig::tan_keyword(state, user.clone(), engine);
|
|
trig::log_keyword(state, user.clone(), engine);
|
|
trig::exp_keyword(state, user.clone(), engine);
|
|
trig::pi_keyword(state, user.clone(), engine);
|
|
aggregate::sum_keyword(state, user.clone(), engine);
|
|
aggregate::avg_keyword(state, user, engine);
|
|
|
|
debug!("Registered all math functions");
|
|
}
|