erg/compiler/erg_compiler/context/initialize/py_mods/math.rs
Shunsuke Shibayama 6c4e1dca35 Downgrade erg_type from crate to module
This is to allow `ConstSubr` to have a `Context`
2022-10-12 02:28:25 +09:00

23 lines
801 B
Rust

use erg_common::vis::Visibility;
use crate::ty::constructors::func1;
use crate::ty::Type;
use Type::*;
use crate::context::Context;
use crate::varinfo::Mutability;
use Mutability::*;
use Visibility::*;
impl Context {
pub(crate) fn init_py_math_mod() -> Self {
let mut math = Context::builtin_module("math", 10);
math.register_builtin_impl("pi", Float, Immutable, Public);
math.register_builtin_impl("tau", Float, Immutable, Public);
math.register_builtin_impl("e", Float, Immutable, Public);
math.register_builtin_impl("sin", func1(Float, Float), Immutable, Public);
math.register_builtin_impl("cos", func1(Float, Float), Immutable, Public);
math.register_builtin_impl("tan", func1(Float, Float), Immutable, Public);
math
}
}