()
| 96 | } |
| 97 | |
| 98 | func (s *Set) IterSlice() []int { |
| 99 | vals := make([]int, s.count) |
| 100 | j := 0 |
| 101 | base := 0 |
| 102 | df := 0 |
| 103 | k := uint(0) |
| 104 | for _, b := range s.data { |
| 105 | df = df | (int(b&mask) << k) |
| 106 | k += bits |
| 107 | if b < cbit { |
| 108 | base += df |
| 109 | vals[j] = base |
| 110 | df = 0 |
| 111 | k = 0 |
| 112 | j += 1 |
| 113 | } |
| 114 | } |
| 115 | return vals |
| 116 | } |
| 117 | |
| 118 | func (s *Set) IterCallback(fn func(int)) { |
| 119 | j := 0 |
no outgoing calls