SVF: fix checking bit pattern against length
commita53c72cdab7ea14e4aa0526270febf15a7248759
authorMichael Roth <mroth@nessie.de>
Thu, 29 Oct 2009 13:24:28 +0000 (29 14:24 +0100)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 29 Oct 2009 22:39:03 +0000 (29 15:39 -0700)
tree88ddcd1e0f1107c794c9f139520776b06d55c0be
parent517049dca50fa2af965b2ba9db43d50e65400c3f
SVF: fix checking bit pattern against length

The code works like follow (N = bit_len):

N -1 %4 2<< -1 ~ (binary)
--------------------------------------------------
1 0 0 2 1 1111 1110
2 1 1 4 3 1111 1100
3 2 2 8 7 1111 1000
4 3 3 16 15 1111 0000
5 4 0 2 1 1111 1110
6 5 1 4 3 1111 1100
7 6 2 8 7 1111 1000
8 7 3 16 15 1111 0000
... ... ... ... ... ...

Addresses a bug reported by FangfangLi <ffli@syntest.com.cn>.

[dbrownell@users.sourceforge.net: fix spelling bug too]

Signed-off-by: Michael Roth <mroth@nessie.de>
Cc: FangfangLi <ffli@syntest.com.cn>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
src/svf/svf.c