use super::{Builtin, Registry};
use crate::typed_builtin;
use vb6runtime::library::math as mathfn;
pub(super) fn register(registry: &mut Registry) {
registry.insert(typed_builtin!("abs", 1, 1, (value: variant),
mathfn::abs::abs(value)));
registry.insert(typed_builtin!("atn", 1, 1, (number: propdouble),
mathfn::atn::atn(&number)));
registry.insert(typed_builtin!("cos", 1, 1, (number: propdouble),
mathfn::cos::cos(&number)));
registry.insert(typed_builtin!("exp", 1, 1, (number: propdouble),
mathfn::exp::exp(&number)));
registry.insert(typed_builtin!("fix", 1, 1, (number: propdouble),
mathfn::fix::fix(&number)));
registry.insert(typed_builtin!("int", 1, 1, (number: propdouble),
mathfn::int::int(&number)));
registry.insert(typed_builtin!("log", 1, 1, (number: propdouble),
mathfn::log::log(&number)));
registry.insert(typed_builtin!("rnd", 0, 1, (number: opt_single),
mathfn::rnd::rnd(number.as_ref())));
registry.insert(
typed_builtin!("round", 1, 2, (expression: propdouble, numdecimalplaces: opt_long),
mathfn::round::round(&expression, numdecimalplaces.as_ref())),
);
registry.insert(typed_builtin!("sgn", 1, 1, (number: propdouble),
mathfn::sgn::sgn(&number)));
registry.insert(typed_builtin!("sin", 1, 1, (number: propdouble),
mathfn::sin::sin(&number)));
registry.insert(typed_builtin!("sqr", 1, 1, (number: propdouble),
mathfn::sqr::sqr(&number)));
registry.insert(typed_builtin!("tan", 1, 1, (number: propdouble),
mathfn::tan::tan(&number)));
}