memoise
- メソッドには使えない
- メモには Vec か BTreeMap (memoise_map を指定した場合)が使われる。
- HashMap は使われない。(BTreeMap は HashMap とくらべてちょっと遅いはず。O(1) と O(log n) の違いがあるはず。
recur-fn
- なんか使いにくかった記憶がある。
- 使うと VSCode の調子が悪くなる(型推論で無限ループしてるとか?)
tap
こういうことができる
use tap::tap::Tap;
let sorted = [1i32, 5, 2, 4, 3]
.tap_mut(|arr| arr.sort());
assert_eq!(sorted, [1, 2, 3, 4, 5]);
https://docs.rs/tap/latest/tap/tap/trait.Tap.html
nalgebra
- modint との相性が悪い
- ACL の modint には num::Zero や num::One が実装されていないから、Nalgebra で行列の成分を modint にするのがうまくいかない