implementation of supermemo2 for rust
```rust
fn incorrectresponsefirsttry() { let res = SuperMemo2::new().calc(0, 0, 2.5, 0); asserteq!(res, (0, 0, 2.5, 1)); }
fn gradeovermaxlength() { supermemo2(50, 2, 1.3, 6); } ```