This crate provides some basic scientific computing utilities for the Rhai scripting language,
inspired by languages like MATLAB, Octave, and R. For a complete API reference,
check the docs.
To use the latest released version of rhai-sci, add this to your Cargo.toml:
rhai-sci = "0.2.3"Using this crate is pretty simple! If you just want to evaluate a single line of Rhai, then you
only need:
use rhai::INT;use rhai_sci::eval;let result = eval::<INT>("argmin([43, 42, -500])").unwrap();If you need to use rhai-sci as part of a persistent Rhai scripting engine, then do this instead:
use rhai::{Engine, packages::Package,INT};use rhai_sci::SciPackage;// Create a new Rhai engineletmut engine = Engine::new();// Add the rhai-sci package to the new engine
engine.register_global_module(SciPackage::new().as_shared_module());// Now run your codelet value = engine.eval::<INT>("argmin([43, 42, -500])").unwrap();| Feature | Default | Description |
|---|---|---|
metadata | Disabled | Enables exporting function metadata and is necessary for running doc-tests on Rhai examples. |
io | Enabled | Enables the read_matrix function but pulls in several additional dependencies (polars, url, temp-file, csv-sniffer, minreq). |
nalgebra | Enabled | Enables several functions (regress, inv, mtimes, horzcat, vertcat, repmat, svd, hessenberg, and qr) but brings in the nalgebra and linregress crates. |
rand | Enabled | Enables the rand function for generating random FLOAT values and random matrices, but brings in the rand crate. |