rsk0315 / library-rs

えびちゃんのライブラリです。
https://rsk0315.github.io/library-rs/nekolib/
MIT License
20 stars 0 forks source link

実装について #22

Open rsk0315 opened 3 years ago

rsk0315 commented 3 years ago

セグ木のアーチのところ、左側.chain(右側) みたいなイテレータを返す内部関数を作っておけば、見かけの実装がきれいになりそう Vec を使わないようにもできそうだし

片側しか吐かなくていいなら他方はシフトだけしてればいい? だめか、だめだね

rsk0315 commented 3 years ago

Mod みたいな実行時に決まりうる値をトレイトにするの、Mod っていう限定的な名前にする必要ないね

rsk0315 commented 3 years ago

Distributive を実装するためのヘルパーがないじゃん

rsk0315 commented 2 years ago

2-SAT のインタフェース、

ts.add_clause(i, -j);

じゃなくて

ts.add_clause((i, true), (j, false));

の方がうれしい?

rsk0315 commented 2 years ago

セグ木とかでよく境界チェックしてるけど、毎回書くんじゃなくて https://doc.rust-lang.org/src/core/panicking.rs.html#67-77 みたいな感じで関数を作っておく方が楽そう

fn panic_bounds_check(by: impl Debug, safe: impl Debug) -> ! {
    panic!("index out of bounds: the safe range is {:?} but accessed by {:?}", safe, by)
}

とかみたいな感じで

rsk0315 commented 2 years ago

by: usize, safe: Range<usize> に限定していい? だめかな