Skip to content

Commit b15b9d2

Browse files
small tweak in findi_val_opt, could be even a tini tiny bit faster but not much
1 parent a7a4e14 commit b15b9d2

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/cdomains/affineEquality/sparseImplementation/sparseVector.ml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,11 @@ module SparseVector: AbstractVector =
194194
(*Can be optimized, dont check every zero cell*)
195195
let findi_val_opt f v =
196196
let rec find_zero_or_val vec last_col_idx =
197-
match vec, last_col_idx with
198-
| [], _ -> if f A.zero && v.len <> last_col_idx + 1 then Some (last_col_idx + 1, A.zero) else None
199-
| (idx, value) :: xs, i ->
200-
if f A.zero && idx <> last_col_idx + 1 then Some (last_col_idx + 1, A.zero)
197+
let f0 = f A.zero in
198+
match vec with
199+
| [] -> if f0 && v.len <> last_col_idx + 1 then Some (last_col_idx + 1, A.zero) else None
200+
| (idx, value) :: xs ->
201+
if f0 && idx <> last_col_idx + 1 then Some (last_col_idx + 1, A.zero)
201202
else if f value then Some (idx, value)
202203
else find_zero_or_val xs idx
203204
in find_zero_or_val v.entries (-1)

0 commit comments

Comments
 (0)