rhai-sci 0.4.0

Scientific computing in the Rhai scripting language
Documentation
// Simulate simple projectile motion using rhai-sci functions
let g = 9.81;           // gravitational acceleration (m/s^2)
let v0 = 25.0;          // launch speed (m/s)
let angle = 45.0;       // launch angle (degrees)

// Generate a time vector from 0 to total flight time
let t_flight = 2.0 * v0 * sind(angle) / g;
let times = linspace(0.0, t_flight, 50);

let vx = v0 * cosd(angle);
let vy0 = v0 * sind(angle);

let x = [];
let y = [];

for t in times {
    x.push(vx * t);
    y.push(vy0 * t - 0.5 * g * t * t);
}

let max_y = max(y);
let idx = argmax(y);
let peak_time = times[idx];
let range = max(x);

let result = #{
    "max_height": max_y,
    "time_of_flight": t_flight,
    "peak_time": peak_time,
    "range": range
};
print(result);
result