fix linear search
@@ -111,18 +111,18 @@ impl Wire {
// ds[i] = d as u16;
// x -= d * npaths;
- // if q < 16 {
- // // linear search
- // let mut acc = 0;
- // for j in 0..q {
- // acc += npaths;
- // if acc >= x {
- // x -= acc - npaths;
- // ds[i] = j;
- // break;
- // }
- // }
- // } else {
+ if q < 16 {
+ // linear search
+ let mut acc = 0;
+ for j in 0..q {
+ acc += npaths;
+ if acc > x {
+ x -= acc - npaths;
+ ds[i] = j;
+ break;
+ }
+ }
+ } else {
// binary search
let mut low = 0;
let mut high = q;
@@ -142,7 +142,8 @@ impl Wire {
low = cur;
}
}
- // }
+ }
+
}
ds
}
