//go:build go1.9
// +build go1.9

package bitset

import 

func popcntSlice( []uint64) uint64 {
	var  int
	for ,  := range  {
		 += bits.OnesCount64()
	}
	return uint64()
}

func popcntMaskSlice(,  []uint64) uint64 {
	var  int
	// this explicit check eliminates a bounds check in the loop
	if len() < len() {
		panic("mask slice is too short")
	}
	for  := range  {
		 += bits.OnesCount64([] &^ [])
	}
	return uint64()
}

func popcntAndSlice(,  []uint64) uint64 {
	var  int
	// this explicit check eliminates a bounds check in the loop
	if len() < len() {
		panic("mask slice is too short")
	}
	for  := range  {
		 += bits.OnesCount64([] & [])
	}
	return uint64()
}

func popcntOrSlice(,  []uint64) uint64 {
	var  int
	// this explicit check eliminates a bounds check in the loop
	if len() < len() {
		panic("mask slice is too short")
	}
	for  := range  {
		 += bits.OnesCount64([] | [])
	}
	return uint64()
}

func popcntXorSlice(,  []uint64) uint64 {
	var  int
	// this explicit check eliminates a bounds check in the loop
	if len() < len() {
		panic("mask slice is too short")
	}
	for  := range  {
		 += bits.OnesCount64([] ^ [])
	}
	return uint64()
}