func (ev *evaluator) vectorSelectorSingle(it *storage.BufferedSeriesIterator, node *VectorSelector, ts int64) (int64, float64, bool) {
	refTime := ts - durationMilliseconds(node.Offset)
	var t int64
	var v float64

	ok := it.Seek(refTime)
	if !ok {
		if it.Err() != nil {
			ev.error(it.Err())
		}
	}

	if ok {
		t, v = it.Values()
	}

	if !ok || t > refTime {
		t, v, ok = it.PeekBack(1)
		if !ok || t < refTime-durationMilliseconds(LookbackDelta) {
			return 0, 0, false
		}
	}
	if value.IsStaleNaN(v) {
		return 0, 0, false
	}
	return t, v, true
}
func (ev *evaluator) vectorSelectorSingle(it *storage.BufferedSeriesIterator, node *VectorSelector, ts int64) (int64, float64, bool) {
	refTime := ts - durationMilliseconds(node.Offset)
	var t int64
	var v float64

	ok := it.Seek(refTime)
	if !ok {
		if it.Err() != nil {
			ev.error(it.Err())
		}
	}

	if ok {
		t, v = it.Values()
	}

	if !ok || t > refTime {
		t, v, ok = it.PeekBack(1)
		if !ok || t < refTime-durationMilliseconds(LookbackDelta) {
			return 0, 0, false
		}
	}
	if value.IsStaleNaN(v) {
		return 0, 0, false
	}
	return t, v, true
}
func ( ev * evaluator ) vectorSelectorSingle ( it * storage . BufferedSeriesIterator , node * VectorSelector , ts int64 ) ( int64 , float64 , bool ) { refTime := ts - durationMilliseconds ( node . Offset ) var t int64 var v float64 ok := it . Seek ( refTime ) if ! ok { if it . Err ( ) != nil { ev . error ( it . Err ( ) ) } } if ok { t , v = it . Values ( ) } if ! ok || t > refTime { t , v , ok = it . PeekBack ( 1 ) if ! ok || t < refTime - durationMilliseconds ( LookbackDelta ) { return 0 , 0 , false } } if value . IsStaleNaN ( v ) { return 0 , 0 , false } return t , v , true }
// vectorSelectorSingle evaluates a instant vector for the iterator of one time series.
vectorSelectorSingle evaluates a instant vector for the iterator of one time series .