|  | // Copyright 2015 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | //go:build amd64 && !appengine && !gccgo | 
|  | // +build amd64,!appengine,!gccgo | 
|  |  | 
|  | package intsets | 
|  |  | 
|  | func popcnt(x word) int | 
|  | func havePOPCNT() bool | 
|  |  | 
|  | var hasPOPCNT = havePOPCNT() | 
|  |  | 
|  | // popcount returns the population count (number of set bits) of x. | 
|  | func popcount(x word) int { | 
|  | if hasPOPCNT { | 
|  | return popcnt(x) | 
|  | } | 
|  | return popcountTable(x) // faster than Hacker's Delight | 
|  | } |