Macro create_func

Source
macro_rules! create_func {
    ( $func:ident, $args:expr ) => { ... };
}
Expand description

Creates a Function object from an actual function and an Arguments object.

See Function::new for additional information.

The generated Function has the same name as the provided function. The provided function needs &Vec<Box<Expression>>, a &Context and a u32 (for depth controls) as parameters and returns an EvalResult<Values>. You can easily declare one using the decl_func! macro.

ยงExamples

use num_parser::{*, function::*};

// Declare the function
decl_func!(
    // Function name
    hypotenuse,
    // Function type
    FunctionType::Std,
    // Predicate
    |v: Value| {
        // ...
    },
    // Expect a vector as input, as we need multiple parameters.
    ValueType::VectorType
);

let hyp_func = create_func!(hypotenuse, Arguments::Const(2));

builtin::add_built_in_function(hyp_func);