Home | History | Annotate | Download | only in gc

Lines Matching refs:bv

65 func (bv bvec) Get(i int32) bool {
66 if i < 0 || i >= bv.n {
67 Fatalf("bvget: index %d is out of bounds with length %d\n", i, bv.n)
70 return bv.b[i>>wordShift]&mask != 0
73 func (bv bvec) Set(i int32) {
74 if i < 0 || i >= bv.n {
75 Fatalf("bvset: index %d is out of bounds with length %d\n", i, bv.n)
78 bv.b[i/wordBits] |= mask
81 func (bv bvec) Unset(i int32) {
82 if i < 0 || i >= bv.n {
83 Fatalf("bvunset: index %d is out of bounds with length %d\n", i, bv.n)
86 bv.b[i/wordBits] &^= mask
89 // bvnext returns the smallest index >= i for which bvget(bv, i) == 1.
91 func (bv bvec) Next(i int32) int32 {
92 if i >= bv.n {
97 if bv.b[i>>wordShift]>>uint(i&wordMask) == 0 {
100 for i < bv.n && bv.b[i>>wordShift] == 0 {
105 if i >= bv.n {
110 w := bv.b[i>>wordShift] >> uint(i&wordMask)
120 func (bv bvec) IsEmpty() bool {
121 for i := int32(0); i < bv.n; i += wordBits {
122 if bv.b[i>>wordShift] != 0 {
129 func (bv bvec) Not() {
132 for ; i < bv.n; i, w = i+wordBits, w+1 {
133 bv.b[w] = ^bv.b[w]
158 func (bv bvec) String() string {
159 s := make([]byte, 2+bv.n)
161 for i := int32(0); i < bv.n; i++ {
163 if bv.Get(i) {
171 func (bv bvec) Clear() {
172 for i := range bv.b {
173 bv.b[i] = 0