Versions in this module Expand all Collapse all v0 v0.1.0 Jul 20, 2026 Changes in this version + const IdxAmount + const IdxCurrent + const IdxLength + const IdxLuminousIntensity + const IdxMass + const IdxTemperature + const IdxTime + const NumBaseQuantities + var Amount = Dimension + var Current = Dimension + var Dimensionless = Dimension + var ErrAffineUnit = errors.New("quanta: affine unit not permitted here") + var ErrDimensionMismatch = errors.New("quanta: dimension mismatch") + var ErrDuplicateUnit = errors.New("quanta: duplicate unit symbol") + var ErrExponentRange = errors.New("quanta: dimension exponent out of range") + var ErrInvalidUnit = errors.New("quanta: invalid unit definition") + var ErrSyntax = errors.New("quanta: syntax error") + var ErrUnknownUnit = errors.New("quanta: unknown unit") + var Length = Dimension + var LuminousIntensity = Dimension + var Mass = Dimension + var One = Unit + var Temperature = Dimension + var Time = Dimension + type Dimension [NumBaseQuantities]int8 + func (d Dimension) CheckedDiv(o Dimension) (Dimension, bool) + func (d Dimension) CheckedMul(o Dimension) (Dimension, bool) + func (d Dimension) CheckedPow(n int) (Dimension, bool) + func (d Dimension) Div(o Dimension) Dimension + func (d Dimension) IsDimensionless() bool + func (d Dimension) Mul(o Dimension) Dimension + func (d Dimension) Pow(n int) Dimension + func (d Dimension) String() string + type Option func(*Unit) + func BinaryPrefix() Option + func NoPrefix() Option + type ParseError struct + Err error + Input string + Msg string + Offset int + func (e *ParseError) Error() string + func (e *ParseError) Unwrap() error + type Quantity struct + func New(value float64, u Unit) Quantity + func (q Quantity) Abs() Quantity + func (q Quantity) Add(o Quantity) (Quantity, error) + func (q Quantity) Cmp(o Quantity) (int, error) + func (q Quantity) Dimension() Dimension + func (q Quantity) Div(o Quantity) (Quantity, error) + func (q Quantity) Equal(o Quantity) bool + func (q Quantity) Format(prec int) string + func (q Quantity) In(u Unit) (Quantity, error) + func (q Quantity) IsZero() bool + func (q Quantity) MarshalText() ([]byte, error) + func (q Quantity) Mul(o Quantity) (Quantity, error) + func (q Quantity) MustIn(u Unit) Quantity + func (q Quantity) Neg() Quantity + func (q Quantity) Pow(n int) (Quantity, error) + func (q Quantity) String() string + func (q Quantity) Sub(o Quantity) (Quantity, error) + func (q Quantity) Unit() Unit + func (q Quantity) Value() float64 + type Registry struct + func NewRegistry() *Registry + func SI() *Registry + func (r *Registry) Alias(symbol string, u Unit) error + func (r *Registry) Define(name, symbol string, factor *big.Rat, base Unit, opts ...Option) (Unit, error) + func (r *Registry) DefineAffine(name, symbol string, factor, offset *big.Rat, base Unit, opts ...Option) (Unit, error) + func (r *Registry) DefineBase(name, symbol string, d Dimension, opts ...Option) (Unit, error) + func (r *Registry) MustParse(s string) Quantity + func (r *Registry) MustParseUnit(s string) Unit + func (r *Registry) MustUnit(symbol string) Unit + func (r *Registry) Parse(s string) (Quantity, error) + func (r *Registry) ParseUnit(s string) (Unit, error) + func (r *Registry) Unit(symbol string) (Unit, bool) + func (r *Registry) Units() []Unit + type Unit struct + func (u Unit) Delta() Unit + func (u Unit) Dimension() Dimension + func (u Unit) Equal(o Unit) bool + func (u Unit) Factor() *big.Rat + func (u Unit) IsAffine() bool + func (u Unit) Name() string + func (u Unit) Offset() *big.Rat + func (u Unit) String() string + func (u Unit) Symbol() string