Macro julia::extern_jl
[−]
[src]
macro_rules! extern_jl { { extern "Julia" $lib:ident :: $struct:ident { $( pub fn $name:ident ( $( $arg:ident : $type:ty ),* ) -> $out:ty $body:block )* } } => { ... }; }
Turns Rust functions into Julia extern functions.
Syntax
extern_jl! { extern "Julia" <libname> :: <StructName> { pub fn <func> ( <arg: Type> ) -> OutType { <body> } } }
extern_jl! { extern "Julia" libsquare :: Square { pub fn square(x: Float64) -> Float64 { x * x } } }
fn main() { let mut jl = Julia::new().unwrap()
let sqr = Square::new(); sqr.decl(&mut jl); jl.eval_string("assert(square(5.0) == 25.0)");
} ```