Macro rustler::init

source ·
init!() { /* proc-macro */ }
Expand description

Initialise the Native Implemented Function (NIF) environment and register NIF functions in an Elixir module.

#[rustler::nif]
fn add(a: i64, b: i64) -> i64 {
    a + b
}

#[rustler::nif]
fn sub(a: i64, b: i64) -> i64 {
    a - b
}

#[rustler::nif]
fn mul(a: i64, b: i64) -> i64 {
    a * b
}

#[rustler::nif]
fn div(a: i64, b: i64) -> i64 {
    a / b
}

fn load(env: Env, _term: Term) -> bool {
    true
}

rustler::init!("Elixir.Math", [add, sub, mul, div], load = load);