File size: 1,116 Bytes
4951e76 | 1 2 3 4 5 6 7 | {"item_id": "ker-ring_ctr", "crate_dir": "../../bench/kernels/ring_ctr/pre", "lib_name": "k_ring_ctr_pre", "provenance": {"author": "claude-sonnet subagent, blind", "written_from": "signature + doc string only", "saw_source": false, "saw_diff": false, "saw_advisory": false},
"properties": [
{"id": "p1", "fn": "increment_by", "args": [["old_value", "u32"], ["increment_by", "u32"]], "pre": "true", "post": "r == (((old_value as u64) + (increment_by as u64)) % (1u64 << 32)) as u32", "ret": "u32", "basis": "increments the 32-bit counter, wrapping modulo 2^32"},
{"id": "p2", "fn": "increment_by", "args": [["old_value", "u32"], ["increment_by", "u32"]], "pre": "true", "post": "increment_by != 0 || r == old_value", "ret": "u32", "basis": "incrementing by zero leaves the counter unchanged"},
{"id": "p3", "fn": "increment_by", "args": [["old_value", "u32"], ["increment_by", "u32"]], "pre": "true", "post": "(((old_value as u64) + (increment_by as u64)) >= (1u64 << 32)) == (r < old_value)", "ret": "u32", "basis": "wraps modulo 2^32: result is below old_value exactly when the sum overflowed 32 bits"}
]}
|