|
- package roaring
-
- func popcntSliceGo(s []uint64) uint64 {
- cnt := uint64(0)
- for _, x := range s {
- cnt += popcount(x)
- }
- return cnt
- }
-
- func popcntMaskSliceGo(s, m []uint64) uint64 {
- cnt := uint64(0)
- for i := range s {
- cnt += popcount(s[i] &^ m[i])
- }
- return cnt
- }
-
- func popcntAndSliceGo(s, m []uint64) uint64 {
- cnt := uint64(0)
- for i := range s {
- cnt += popcount(s[i] & m[i])
- }
- return cnt
- }
-
- func popcntOrSliceGo(s, m []uint64) uint64 {
- cnt := uint64(0)
- for i := range s {
- cnt += popcount(s[i] | m[i])
- }
- return cnt
- }
-
- func popcntXorSliceGo(s, m []uint64) uint64 {
- cnt := uint64(0)
- for i := range s {
- cnt += popcount(s[i] ^ m[i])
- }
- return cnt
- }
|