func NewNumericFieldWithIndexingOptions(name string, arrayPositions []uint64, number float64, options IndexingOptions) *NumericField { numberInt64 := numeric_util.Float64ToInt64(number) prefixCoded := numeric_util.MustNewPrefixCodedInt64(numberInt64, 0) return &NumericField{ name: name, arrayPositions: arrayPositions, value: prefixCoded, options: options, } }
func NewDateTimeFieldWithIndexingOptions(name string, arrayPositions []uint64, dt time.Time, options IndexingOptions) (*DateTimeField, error) { if canRepresent(dt) { dtInt64 := dt.UnixNano() prefixCoded := numeric_util.MustNewPrefixCodedInt64(dtInt64, 0) return &DateTimeField{ name: name, arrayPositions: arrayPositions, value: prefixCoded, options: options, }, nil } return nil, fmt.Errorf("cannot represent %s in this type", dt) }
func newRange(minBound, maxBound int64, shift uint) *termRange { maxBound |= (int64(1) << shift) - int64(1) minBytes := numeric_util.MustNewPrefixCodedInt64(minBound, shift) maxBytes := numeric_util.MustNewPrefixCodedInt64(maxBound, shift) return newRangeBytes(minBytes, maxBytes) }