38 lines
722 B
Go
38 lines
722 B
Go
package bitset
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/pointernil/bitset32"
|
|
)
|
|
|
|
func Test_teset(t *testing.T) {
|
|
fmt.Printf("! \n")
|
|
var b bitset32.BitSet32
|
|
var a bitset32.BitSet32
|
|
// play some Go Fish
|
|
// for i := 0; i < 100; i++ {
|
|
// card1 := uint(rand.Intn(52))
|
|
// card2 := uint(rand.Intn(52))
|
|
// b.Set(card1)
|
|
// if b.Test(card2) {
|
|
// fmt.Println("Go Fish!")
|
|
// }
|
|
// b.Clear(card1)
|
|
// }
|
|
|
|
// Chaining
|
|
b.Set(10).Set(11)
|
|
a = *bitset32.New(50)
|
|
for i, e := b.NextSet(0); e; i, e = b.NextSet(i + 1) {
|
|
fmt.Println("The b bit is set:", i)
|
|
}
|
|
a.Set(10).Set(9)
|
|
f := b.Union(&a)
|
|
for i, e := f.NextSet(0); e; i, e = f.NextSet(i + 1) {
|
|
fmt.Println("The b+ bit is set:", i)
|
|
}
|
|
fmt.Println(b.Bytes())
|
|
}
|