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