aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/RoaringBitmap/roaring/roaringarray.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-11-06 19:41:42 +0100
committerGitHub <noreply@github.com>2020-11-06 13:41:42 -0500
commit30ce3731a17913155436cee323b1e7016ad8eb49 (patch)
treed03230684af7dfcfff7705ac547a35b3089f02fb /vendor/github.com/RoaringBitmap/roaring/roaringarray.go
parenteebaa81f43a6fd982dcd96571a020242f0ea3276 (diff)
downloadgitea-30ce3731a17913155436cee323b1e7016ad8eb49.tar.gz
gitea-30ce3731a17913155436cee323b1e7016ad8eb49.zip
Vendor Update Go Libs (#13444)
* denisenkom/go-mssqldb untagged -> v0.9.0 * github.com/editorconfig/editorconfig-core-go v2.3.7 -> v2.3.8 * github.com/go-testfixtures/testfixtures v3.4.0 -> v3.4.1 * github.com/mholt/archiver v3.3.2 -> v3.5.0 * github.com/olivere/elastic v7.0.20 -> v7.0.21 * github.com/urfave/cli v1.22.4 -> v1.22.5 * github.com/xanzy/go-gitlab v0.38.1 -> v0.39.0 * github.com/yuin/goldmark-meta untagged -> v1.0.0 * github.com/ethantkoenig/rupture 0a76f03a811a -> c3b3b810dc77 * github.com/jaytaylor/html2text 8fb95d837f7d -> 3577fbdbcff7 * github.com/kballard/go-shellquote cd60e84ee657 -> 95032a82bc51 * github.com/msteinert/pam 02ccfbfaf0cc -> 913b8f8cdf8b * github.com/unknwon/paginater 7748a72e0141 -> 042474bd0eae * CI.restart() Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'vendor/github.com/RoaringBitmap/roaring/roaringarray.go')
-rw-r--r--vendor/github.com/RoaringBitmap/roaring/roaringarray.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/vendor/github.com/RoaringBitmap/roaring/roaringarray.go b/vendor/github.com/RoaringBitmap/roaring/roaringarray.go
index 892755779f..d0c832b1b5 100644
--- a/vendor/github.com/RoaringBitmap/roaring/roaringarray.go
+++ b/vendor/github.com/RoaringBitmap/roaring/roaringarray.go
@@ -328,6 +328,17 @@ func (ra *roaringArray) getFastContainerAtIndex(i int, needsWriteable bool) cont
return c
}
+// getUnionedWritableContainer switches behavior for in-place Or
+// depending on whether the container requires a copy on write.
+// If it does using the non-inplace or() method leads to fewer allocations.
+func (ra *roaringArray) getUnionedWritableContainer(pos int, other container) container {
+ if ra.needCopyOnWrite[pos] {
+ return ra.getContainerAtIndex(pos).or(other)
+ }
+ return ra.getContainerAtIndex(pos).ior(other)
+
+}
+
func (ra *roaringArray) getWritableContainerAtIndex(i int) container {
if ra.needCopyOnWrite[i] {
ra.containers[i] = ra.containers[i].clone()