1
0
mirror of https://github.com/golang/go synced 2024-11-18 19:24:39 -07:00
go/container/intsets/popcnt_amd64.go
Andrew Gerrand 3d33c30540 container/intsets: build correctly on App Engine
App Engine is amd64 but it doesn't support uploading assembly files.
Use the explicit build tag so that it selects the generic implementation
on App Engine.
This is required to deploy golang.org.

Change-Id: I7374c91961c53d59f6fdcc9ac98b8a9cec755b2c
Reviewed-on: https://go-review.googlesource.com/15246
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-10-06 04:34:19 +00:00

21 lines
476 B
Go

// 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.
// +build amd64,!appengine
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
}