github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/util/packed/direct64.go (about) 1 // This file has been automatically generated, DO NOT EDIT 2 3 package packed 4 5 import ( 6 "github.com/balzaczyy/golucene/core/util" 7 ) 8 9 // Direct wrapping of 64-bits values to a backing array. 10 type Direct64 struct { 11 *MutableImpl 12 values []int64 13 } 14 15 func newDirect64(valueCount int) *Direct64 { 16 ans := &Direct64{ 17 values: make([]int64, valueCount), 18 } 19 ans.MutableImpl = newMutableImpl(ans, valueCount, 64) 20 return ans 21 } 22 23 func newDirect64FromInput(version int32, in DataInput, valueCount int) (r PackedIntsReader, err error) { 24 ans := newDirect64(valueCount) 25 for i, _ := range ans.values { 26 if ans.values[i], err = in.ReadLong(); err != nil { 27 break 28 } 29 } 30 if err == nil { 31 } 32 return ans, err 33 } 34 35 func (d *Direct64) Get(index int) int64 { 36 return int64(d.values[index]) 37 } 38 39 func (d *Direct64) Set(index int, value int64) { 40 d.values[index] = int64(value) 41 } 42 43 func (d *Direct64) RamBytesUsed() int64 { 44 return util.AlignObjectSize( 45 util.NUM_BYTES_OBJECT_HEADER + 46 2*util.NUM_BYTES_INT + 47 util.NUM_BYTES_OBJECT_REF + 48 util.SizeOf(d.values)) 49 } 50 51 func (d *Direct64) Clear() { 52 for i, _ := range d.values { 53 d.values[i] = 0 54 } 55 } 56 57 func (d *Direct64) getBulk(index int, arr []int64) int { 58 assert2(len(arr) > 0, "len must be > 0 (got %v)", len(arr)) 59 assert(index >= 0 && index < d.valueCount) 60 61 gets := d.valueCount - index 62 if len(arr) < gets { 63 gets = len(arr) 64 } 65 for i, _ := range arr[:gets] { 66 arr[i] = int64(d.values[index+i]) 67 } 68 return gets 69 } 70 71 func (d *Direct64) setBulk(index int, arr []int64) int { 72 assert2(len(arr) > 0, "len must be > 0 (got %v)", len(arr)) 73 assert(index >= 0 && index < d.valueCount) 74 75 sets := d.valueCount - index 76 if len(arr) < sets { 77 sets = len(arr) 78 } 79 for i, _ := range arr { 80 d.values[index+i] = (arr[i]) 81 } 82 return sets 83 } 84 85 func (d *Direct64) fill(from, to int, val int64) { 86 assert(val == val) 87 for i := from; i < to; i ++ { 88 d.values[i] = (val) 89 } 90 } 91