library-rs icon indicating copy to clipboard operation
library-rs copied to clipboard

実装について

Open rsk0315 opened this issue 5 years ago • 5 comments

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

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

rsk0315 avatar Oct 09 '20 07:10 rsk0315

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

rsk0315 avatar Oct 09 '20 08:10 rsk0315

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

rsk0315 avatar Oct 09 '20 09:10 rsk0315

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

ts.add_clause(i, -j);

じゃなくて

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

の方がうれしい?

rsk0315 avatar Dec 11 '21 18:12 rsk0315

セグ木とかでよく境界チェックしてるけど、毎回書くんじゃなくて 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 avatar Dec 18 '21 18:12 rsk0315

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

rsk0315 avatar Dec 23 '21 23:12 rsk0315