Reorganize math package into subpackages

- Create math/big for big.Int utilities (HexOrDecimal256, U256, parsing)
- Create math/safe for overflow-safe arithmetic (SafeAdd, SafeMul, etc.)
- Move averager files to root package level
- Add re-exports in root package for backwards compatibility
- Update README with new package structure documentation
- Remove old math/meter directory (consolidated elsewhere)
- Remove redundant math/ subdirectory structure
This commit is contained in:
Zach Kelling
2026-01-03 18:22:33 -08:00
parent 7870d52f6f
commit fd27f2ecb0
25 changed files with 270 additions and 614 deletions
+16
View File
@@ -0,0 +1,16 @@
// Copyright (C) 2019-2024, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package math
import "time"
// Averager tracks a continuous time exponential moving average of the provided
// values.
type Averager interface {
// Observe the value at the given time
Observe(value float64, currentTime time.Time)
// Read returns the average of the provided values.
Read() float64
}