Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
986cdfa6
Unverified
Commit
986cdfa6
authored
May 18, 2017
by
Jordan Liggitt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bump(golang.org/x/tools/container/intsets): 2382e3994d48b1d22acc2c86bcad0a2aff028e32
parent
b5eadb5d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
322 additions
and
0 deletions
+322
-0
Godeps.json
Godeps/Godeps.json
+4
-0
LICENSES
Godeps/LICENSES
+35
-0
BUILD
vendor/BUILD
+1
-0
AUTHORS
vendor/golang.org/x/tools/AUTHORS
+3
-0
CONTRIBUTORS
vendor/golang.org/x/tools/CONTRIBUTORS
+3
-0
LICENSE
vendor/golang.org/x/tools/LICENSE
+27
-0
PATENTS
vendor/golang.org/x/tools/PATENTS
+22
-0
BUILD
vendor/golang.org/x/tools/container/intsets/BUILD
+32
-0
popcnt_amd64.go
vendor/golang.org/x/tools/container/intsets/popcnt_amd64.go
+20
-0
popcnt_amd64.s
vendor/golang.org/x/tools/container/intsets/popcnt_amd64.s
+30
-0
popcnt_gccgo.go
vendor/golang.org/x/tools/container/intsets/popcnt_gccgo.go
+9
-0
popcnt_gccgo_c.c
vendor/golang.org/x/tools/container/intsets/popcnt_gccgo_c.c
+19
-0
popcnt_generic.go
...or/golang.org/x/tools/container/intsets/popcnt_generic.go
+33
-0
sparse.go
vendor/golang.org/x/tools/container/intsets/sparse.go
+0
-0
util.go
vendor/golang.org/x/tools/container/intsets/util.go
+84
-0
No files found.
Godeps/Godeps.json
View file @
986cdfa6
...
...
@@ -2740,6 +2740,10 @@
"Rev"
:
"f51c12702a4d776e4c1fa9b0fabab841babae631"
},
{
"ImportPath"
:
"golang.org/x/tools/container/intsets"
,
"Rev"
:
"2382e3994d48b1d22acc2c86bcad0a2aff028e32"
},
{
"ImportPath"
:
"google.golang.org/api/cloudmonitoring/v2beta2"
,
"Rev"
:
"e3824ed33c72bf7e81da0286772c34b987520914"
},
...
...
Godeps/LICENSES
View file @
986cdfa6
...
...
@@ -83173,6 +83173,41 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================================================
=
vendor
/
golang
.
org
/
x
/
tools
/
container
/
intsets
licensed
under
:
=
Copyright
(
c
)
2009
The
Go
Authors
.
All
rights
reserved
.
Redistribution
and
use
in
source
and
binary
forms
,
with
or
without
modification
,
are
permitted
provided
that
the
following
conditions
are
met
:
*
Redistributions
of
source
code
must
retain
the
above
copyright
notice
,
this
list
of
conditions
and
the
following
disclaimer
.
*
Redistributions
in
binary
form
must
reproduce
the
above
copyright
notice
,
this
list
of
conditions
and
the
following
disclaimer
in
the
documentation
and
/
or
other
materials
provided
with
the
distribution
.
*
Neither
the
name
of
Google
Inc
.
nor
the
names
of
its
contributors
may
be
used
to
endorse
or
promote
products
derived
from
this
software
without
specific
prior
written
permission
.
THIS
SOFTWARE
IS
PROVIDED
BY
THE
COPYRIGHT
HOLDERS
AND
CONTRIBUTORS
"AS IS"
AND
ANY
EXPRESS
OR
IMPLIED
WARRANTIES
,
INCLUDING
,
BUT
NOT
LIMITED
TO
,
THE
IMPLIED
WARRANTIES
OF
MERCHANTABILITY
AND
FITNESS
FOR
A
PARTICULAR
PURPOSE
ARE
DISCLAIMED
.
IN
NO
EVENT
SHALL
THE
COPYRIGHT
OWNER
OR
CONTRIBUTORS
BE
LIABLE
FOR
ANY
DIRECT
,
INDIRECT
,
INCIDENTAL
,
SPECIAL
,
EXEMPLARY
,
OR
CONSEQUENTIAL
DAMAGES
(
INCLUDING
,
BUT
NOT
LIMITED
TO
,
PROCUREMENT
OF
SUBSTITUTE
GOODS
OR
SERVICES
;
LOSS
OF
USE
,
DATA
,
OR
PROFITS
;
OR
BUSINESS
INTERRUPTION
)
HOWEVER
CAUSED
AND
ON
ANY
THEORY
OF
LIABILITY
,
WHETHER
IN
CONTRACT
,
STRICT
LIABILITY
,
OR
TORT
(
INCLUDING
NEGLIGENCE
OR
OTHERWISE
)
ARISING
IN
ANY
WAY
OUT
OF
THE
USE
OF
THIS
SOFTWARE
,
EVEN
IF
ADVISED
OF
THE
POSSIBILITY
OF
SUCH
DAMAGE
.
=
vendor
/
golang
.
org
/
x
/
tools
/
LICENSE
5
d4950ecb7b26d2c5e4e7b4e0dd74707
-
================================================================================
================================================================================
=
vendor
/
google
.
golang
.
org
/
api
/
cloudmonitoring
/
v2beta2
licensed
under
:
=
Copyright
(
c
)
2011
Google
Inc
.
All
rights
reserved
.
vendor/BUILD
View file @
986cdfa6
...
...
@@ -346,6 +346,7 @@ filegroup(
"//vendor/golang.org/x/text/unicode/norm:all-srcs",
"//vendor/golang.org/x/text/width:all-srcs",
"//vendor/golang.org/x/time/rate:all-srcs",
"//vendor/golang.org/x/tools/container/intsets:all-srcs",
"//vendor/google.golang.org/api/cloudmonitoring/v2beta2:all-srcs",
"//vendor/google.golang.org/api/compute/v0.alpha:all-srcs",
"//vendor/google.golang.org/api/compute/v0.beta:all-srcs",
...
...
vendor/golang.org/x/tools/AUTHORS
0 → 100644
View file @
986cdfa6
# This source code refers to The Go Authors for copyright purposes.
# The master list of authors is in the main Go distribution,
# visible at http://tip.golang.org/AUTHORS.
vendor/golang.org/x/tools/CONTRIBUTORS
0 → 100644
View file @
986cdfa6
# This source code was written by the Go contributors.
# The master list of contributors is in the main Go distribution,
# visible at http://tip.golang.org/CONTRIBUTORS.
vendor/golang.org/x/tools/LICENSE
0 → 100644
View file @
986cdfa6
Copyright (c) 2009 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
vendor/golang.org/x/tools/PATENTS
0 → 100644
View file @
986cdfa6
Additional IP Rights Grant (Patents)
"This implementation" means the copyrightable works distributed by
Google as part of the Go project.
Google hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable (except as stated in this section)
patent license to make, have made, use, offer to sell, sell, import,
transfer and otherwise run, modify and propagate the contents of this
implementation of Go, where such license applies only to those patent
claims, both currently owned or controlled by Google and acquired in
the future, licensable by Google that are necessarily infringed by this
implementation of Go. This grant does not include claims that would be
infringed only as a consequence of further modification of this
implementation. If you or your agent or exclusive licensee institute or
order or agree to the institution of patent litigation against any
entity (including a cross-claim or counterclaim in a lawsuit) alleging
that this implementation of Go or any code incorporated within this
implementation of Go constitutes direct or contributory patent
infringement, or inducement of patent infringement, then any patent
rights granted to you under this License for this implementation of Go
shall terminate as of the date such litigation is filed.
vendor/golang.org/x/tools/container/intsets/BUILD
0 → 100644
View file @
986cdfa6
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"popcnt_amd64.go",
"popcnt_amd64.s",
"sparse.go",
"util.go",
],
tags = ["automanaged"],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
vendor/golang.org/x/tools/container/intsets/popcnt_amd64.go
0 → 100644
View file @
986cdfa6
// 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,!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
}
vendor/golang.org/x/tools/container/intsets/popcnt_amd64.s
0 → 100644
View file @
986cdfa6
// 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,!gccgo
#include "textflag.h"
// func havePOPCNT() bool
TEXT ·havePOPCNT(SB),4,$0
MOVQ $1, AX
CPUID
SHRQ $23, CX
ANDQ $1, CX
MOVB CX, ret+0(FP)
RET
// func popcnt(word) int
TEXT ·popcnt(SB),NOSPLIT,$0-8
XORQ AX, AX
MOVQ x+0(FP), SI
// POPCNT (SI), AX is not recognized by Go assembler,
// so we assemble it ourselves.
BYTE $0xf3
BYTE $0x48
BYTE $0x0f
BYTE $0xb8
BYTE $0xc6
MOVQ AX, ret+8(FP)
RET
vendor/golang.org/x/tools/container/intsets/popcnt_gccgo.go
0 → 100644
View file @
986cdfa6
// 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 gccgo
package
intsets
func
popcount
(
x
word
)
int
vendor/golang.org/x/tools/container/intsets/popcnt_gccgo_c.c
0 → 100644
View file @
986cdfa6
// 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 gccgo
#include <errno.h>
#include <stdint.h>
#include <unistd.h>
#define _STRINGIFY2_(x) #x
#define _STRINGIFY_(x) _STRINGIFY2_(x)
#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__)
extern
intptr_t
popcount
(
uintptr_t
x
)
__asm__
(
GOSYM_PREFIX
GOPKGPATH
".popcount"
);
intptr_t
popcount
(
uintptr_t
x
)
{
return
__builtin_popcountl
((
unsigned
long
)(
x
));
}
vendor/golang.org/x/tools/container/intsets/popcnt_generic.go
0 → 100644
View file @
986cdfa6
// 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
// +build !gccgo
package
intsets
import
"runtime"
// We compared three algorithms---Hacker's Delight, table lookup,
// and AMD64's SSE4.1 hardware POPCNT---on a 2.67GHz Xeon X5550.
//
// % GOARCH=amd64 go test -run=NONE -bench=Popcount
// POPCNT 5.12 ns/op
// Table 8.53 ns/op
// HackersDelight 9.96 ns/op
//
// % GOARCH=386 go test -run=NONE -bench=Popcount
// Table 10.4 ns/op
// HackersDelight 5.23 ns/op
//
// (AMD64's ABM1 hardware supports ntz and nlz too,
// but they aren't critical.)
// popcount returns the population count (number of set bits) of x.
func
popcount
(
x
word
)
int
{
if
runtime
.
GOARCH
==
"386"
{
return
popcountHD
(
uint32
(
x
))
}
return
popcountTable
(
x
)
}
vendor/golang.org/x/tools/container/intsets/sparse.go
0 → 100644
View file @
986cdfa6
This diff is collapsed.
Click to expand it.
vendor/golang.org/x/tools/container/intsets/util.go
0 → 100644
View file @
986cdfa6
// Copyright 2013 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.
package
intsets
// From Hacker's Delight, fig 5.2.
func
popcountHD
(
x
uint32
)
int
{
x
-=
(
x
>>
1
)
&
0x55555555
x
=
(
x
&
0x33333333
)
+
((
x
>>
2
)
&
0x33333333
)
x
=
(
x
+
(
x
>>
4
))
&
0x0f0f0f0f
x
=
x
+
(
x
>>
8
)
x
=
x
+
(
x
>>
16
)
return
int
(
x
&
0x0000003f
)
}
var
a
[
1
<<
8
]
byte
func
init
()
{
for
i
:=
range
a
{
var
n
byte
for
x
:=
i
;
x
!=
0
;
x
>>=
1
{
if
x
&
1
!=
0
{
n
++
}
}
a
[
i
]
=
n
}
}
func
popcountTable
(
x
word
)
int
{
return
int
(
a
[
byte
(
x
>>
(
0
*
8
))]
+
a
[
byte
(
x
>>
(
1
*
8
))]
+
a
[
byte
(
x
>>
(
2
*
8
))]
+
a
[
byte
(
x
>>
(
3
*
8
))]
+
a
[
byte
(
x
>>
(
4
*
8
))]
+
a
[
byte
(
x
>>
(
5
*
8
))]
+
a
[
byte
(
x
>>
(
6
*
8
))]
+
a
[
byte
(
x
>>
(
7
*
8
))])
}
// nlz returns the number of leading zeros of x.
// From Hacker's Delight, fig 5.11.
func
nlz
(
x
word
)
int
{
x
|=
(
x
>>
1
)
x
|=
(
x
>>
2
)
x
|=
(
x
>>
4
)
x
|=
(
x
>>
8
)
x
|=
(
x
>>
16
)
x
|=
(
x
>>
32
)
return
popcount
(
^
x
)
}
// ntz returns the number of trailing zeros of x.
// From Hacker's Delight, fig 5.13.
func
ntz
(
x
word
)
int
{
if
x
==
0
{
return
bitsPerWord
}
n
:=
1
if
bitsPerWord
==
64
{
if
(
x
&
0xffffffff
)
==
0
{
n
=
n
+
32
x
=
x
>>
32
}
}
if
(
x
&
0x0000ffff
)
==
0
{
n
=
n
+
16
x
=
x
>>
16
}
if
(
x
&
0x000000ff
)
==
0
{
n
=
n
+
8
x
=
x
>>
8
}
if
(
x
&
0x0000000f
)
==
0
{
n
=
n
+
4
x
=
x
>>
4
}
if
(
x
&
0x00000003
)
==
0
{
n
=
n
+
2
x
=
x
>>
2
}
return
n
-
int
(
x
&
1
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment