Easing iterators for Rust.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
Cargo.toml
LICENSE
README.md

README.md

easing easing iterators for rust

Rust iterators are fantastic—why not use them for easing? Use like so:

use easing;

let begin: f64 = 0;
let end:   f64 = 1000;
let steps: u64 = 10;

// In a for loop!
for x in easing::sin_in(begin, end, steps) {
    println!("Woo, I'm at x={}!", x);
}

// Mapping!
fn move_to(x: f64) {
    println!("Moving on up to {}", x);
}
easing::cubic_out(begin, end, steps).map(move_to);

// And other iterator stuff!
let xs: Vec<f64> = easing::exp_inout(begin, end, steps).collect(); // why would you do this

Available iterators are currently:

function in out in and out
linear linear linear linear
quadratic quad_in quad_out quad_inout
cubic cubic_in cubic_out cubic_inout
quartic quartic_in quartic_out quartic_inout
sinusoidal sin_in sin_out sin_inout
exponential exp_in exp_out exp_inout

Easing functions taken from warrenm's AHEasing.

Find it on crates.io at https://crates.io/crates/easing.

Licesnsed under the LGPLv3.