mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Upgrade blevesearch dependency to v2.0.1 (#14346)
* Upgrade blevesearch dependency to v2.0.1 * Update rupture to v1.0.0 * Fix test
This commit is contained in:
		
							
								
								
									
										43
									
								
								vendor/github.com/blevesearch/bleve/v2/numeric/bin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								vendor/github.com/blevesearch/bleve/v2/numeric/bin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| package numeric | ||||
|  | ||||
| var interleaveMagic = []uint64{ | ||||
| 	0x5555555555555555, | ||||
| 	0x3333333333333333, | ||||
| 	0x0F0F0F0F0F0F0F0F, | ||||
| 	0x00FF00FF00FF00FF, | ||||
| 	0x0000FFFF0000FFFF, | ||||
| 	0x00000000FFFFFFFF, | ||||
| 	0xAAAAAAAAAAAAAAAA, | ||||
| } | ||||
|  | ||||
| var interleaveShift = []uint{1, 2, 4, 8, 16} | ||||
|  | ||||
| // Interleave the first 32 bits of each uint64 | ||||
| // apdated from org.apache.lucene.util.BitUtil | ||||
| // which was adapted from: | ||||
| // http://graphics.stanford.edu/~seander/bithacks.html#InterleaveBMN | ||||
| func Interleave(v1, v2 uint64) uint64 { | ||||
| 	v1 = (v1 | (v1 << interleaveShift[4])) & interleaveMagic[4] | ||||
| 	v1 = (v1 | (v1 << interleaveShift[3])) & interleaveMagic[3] | ||||
| 	v1 = (v1 | (v1 << interleaveShift[2])) & interleaveMagic[2] | ||||
| 	v1 = (v1 | (v1 << interleaveShift[1])) & interleaveMagic[1] | ||||
| 	v1 = (v1 | (v1 << interleaveShift[0])) & interleaveMagic[0] | ||||
| 	v2 = (v2 | (v2 << interleaveShift[4])) & interleaveMagic[4] | ||||
| 	v2 = (v2 | (v2 << interleaveShift[3])) & interleaveMagic[3] | ||||
| 	v2 = (v2 | (v2 << interleaveShift[2])) & interleaveMagic[2] | ||||
| 	v2 = (v2 | (v2 << interleaveShift[1])) & interleaveMagic[1] | ||||
| 	v2 = (v2 | (v2 << interleaveShift[0])) & interleaveMagic[0] | ||||
| 	return (v2 << 1) | v1 | ||||
| } | ||||
|  | ||||
| // Deinterleave the 32-bit value starting at position 0 | ||||
| // to get the other 32-bit value, shift it by 1 first | ||||
| func Deinterleave(b uint64) uint64 { | ||||
| 	b &= interleaveMagic[0] | ||||
| 	b = (b ^ (b >> interleaveShift[0])) & interleaveMagic[1] | ||||
| 	b = (b ^ (b >> interleaveShift[1])) & interleaveMagic[2] | ||||
| 	b = (b ^ (b >> interleaveShift[2])) & interleaveMagic[3] | ||||
| 	b = (b ^ (b >> interleaveShift[3])) & interleaveMagic[4] | ||||
| 	b = (b ^ (b >> interleaveShift[4])) & interleaveMagic[5] | ||||
| 	return b | ||||
| } | ||||
							
								
								
									
										34
									
								
								vendor/github.com/blevesearch/bleve/v2/numeric/float.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								vendor/github.com/blevesearch/bleve/v2/numeric/float.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| //  Copyright (c) 2014 Couchbase, Inc. | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| // 		http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package numeric | ||||
|  | ||||
| import ( | ||||
| 	"math" | ||||
| ) | ||||
|  | ||||
| func Float64ToInt64(f float64) int64 { | ||||
| 	fasint := int64(math.Float64bits(f)) | ||||
| 	if fasint < 0 { | ||||
| 		fasint = fasint ^ 0x7fffffffffffffff | ||||
| 	} | ||||
| 	return fasint | ||||
| } | ||||
|  | ||||
| func Int64ToFloat64(i int64) float64 { | ||||
| 	if i < 0 { | ||||
| 		i ^= 0x7fffffffffffffff | ||||
| 	} | ||||
| 	return math.Float64frombits(uint64(i)) | ||||
| } | ||||
							
								
								
									
										111
									
								
								vendor/github.com/blevesearch/bleve/v2/numeric/prefix_coded.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								vendor/github.com/blevesearch/bleve/v2/numeric/prefix_coded.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | ||||
| //  Copyright (c) 2014 Couchbase, Inc. | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| // 		http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package numeric | ||||
|  | ||||
| import "fmt" | ||||
|  | ||||
| const ShiftStartInt64 byte = 0x20 | ||||
|  | ||||
| // PrefixCoded is a byte array encoding of | ||||
| // 64-bit numeric values shifted by 0-63 bits | ||||
| type PrefixCoded []byte | ||||
|  | ||||
| func NewPrefixCodedInt64(in int64, shift uint) (PrefixCoded, error) { | ||||
| 	rv, _, err := NewPrefixCodedInt64Prealloc(in, shift, nil) | ||||
| 	return rv, err | ||||
| } | ||||
|  | ||||
| func NewPrefixCodedInt64Prealloc(in int64, shift uint, prealloc []byte) ( | ||||
| 	rv PrefixCoded, preallocRest []byte, err error) { | ||||
| 	if shift > 63 { | ||||
| 		return nil, prealloc, fmt.Errorf("cannot shift %d, must be between 0 and 63", shift) | ||||
| 	} | ||||
|  | ||||
| 	nChars := ((63 - shift) / 7) + 1 | ||||
|  | ||||
| 	size := int(nChars + 1) | ||||
| 	if len(prealloc) >= size { | ||||
| 		rv = PrefixCoded(prealloc[0:size]) | ||||
| 		preallocRest = prealloc[size:] | ||||
| 	} else { | ||||
| 		rv = make(PrefixCoded, size) | ||||
| 	} | ||||
|  | ||||
| 	rv[0] = ShiftStartInt64 + byte(shift) | ||||
|  | ||||
| 	sortableBits := int64(uint64(in) ^ 0x8000000000000000) | ||||
| 	sortableBits = int64(uint64(sortableBits) >> shift) | ||||
| 	for nChars > 0 { | ||||
| 		// Store 7 bits per byte for compatibility | ||||
| 		// with UTF-8 encoding of terms | ||||
| 		rv[nChars] = byte(sortableBits & 0x7f) | ||||
| 		nChars-- | ||||
| 		sortableBits = int64(uint64(sortableBits) >> 7) | ||||
| 	} | ||||
|  | ||||
| 	return rv, preallocRest, nil | ||||
| } | ||||
|  | ||||
| func MustNewPrefixCodedInt64(in int64, shift uint) PrefixCoded { | ||||
| 	rv, err := NewPrefixCodedInt64(in, shift) | ||||
| 	if err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
| 	return rv | ||||
| } | ||||
|  | ||||
| // Shift returns the number of bits shifted | ||||
| // returns 0 if in uninitialized state | ||||
| func (p PrefixCoded) Shift() (uint, error) { | ||||
| 	if len(p) > 0 { | ||||
| 		shift := p[0] - ShiftStartInt64 | ||||
| 		if shift < 0 || shift < 63 { | ||||
| 			return uint(shift), nil | ||||
| 		} | ||||
| 	} | ||||
| 	return 0, fmt.Errorf("invalid prefix coded value") | ||||
| } | ||||
|  | ||||
| func (p PrefixCoded) Int64() (int64, error) { | ||||
| 	shift, err := p.Shift() | ||||
| 	if err != nil { | ||||
| 		return 0, err | ||||
| 	} | ||||
| 	var sortableBits int64 | ||||
| 	for _, inbyte := range p[1:] { | ||||
| 		sortableBits <<= 7 | ||||
| 		sortableBits |= int64(inbyte) | ||||
| 	} | ||||
| 	return int64(uint64((sortableBits << shift)) ^ 0x8000000000000000), nil | ||||
| } | ||||
|  | ||||
| func ValidPrefixCodedTerm(p string) (bool, int) { | ||||
| 	return ValidPrefixCodedTermBytes([]byte(p)) | ||||
| } | ||||
|  | ||||
| func ValidPrefixCodedTermBytes(p []byte) (bool, int) { | ||||
| 	if len(p) > 0 { | ||||
| 		if p[0] < ShiftStartInt64 || p[0] > ShiftStartInt64+63 { | ||||
| 			return false, 0 | ||||
| 		} | ||||
| 		shift := p[0] - ShiftStartInt64 | ||||
| 		nChars := ((63 - int(shift)) / 7) + 1 | ||||
| 		if len(p) != nChars+1 { | ||||
| 			return false, 0 | ||||
| 		} | ||||
| 		return true, int(shift) | ||||
| 	} | ||||
| 	return false, 0 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user