예제 #1
0
파일: sensor.go 프로젝트: postfix/htm-1
func (s ScalarSensor) Decode(bits data.Bitset) interface{} {
	found := bits.Any(func(int) bool {
		return true
	})

	return (0.5+float64(found))*s.BucketSize + s.MinValue
}
예제 #2
0
파일: sensor.go 프로젝트: postfix/htm-1
func (s *PeriodicSensor) Decode(bits data.Bitset) interface{} {
	found := bits.Any(func(int) bool {
		return true
	})
	if bits.IsSet(found + 2) {
		return found + 1 + s.First
	} else if bits.IsSet(found + 1) {
		// found is the center bit, so first.
		return s.First
	} else {
		// found is center bit + 1, so last.
		return s.Last
	}
}
예제 #3
0
파일: sensor.go 프로젝트: postfix/htm-1
func (s *CategorySensor) Decode(bits data.Bitset) interface{} {
	found := bits.Any(func(int) bool {
		return true
	})
	return s.reverse[found/s.W]
}