Versions in this module Expand all Collapse all v0 v0.1.0 Feb 10, 2026 Changes in this version + var Add16 = BoundedAdd[int16](math.MaxInt16, math.MinInt16) + var Add32 = BoundedAdd[int32](math.MaxInt32, math.MinInt32) + var Add64 = BoundedAdd[int64](math.MaxInt64, math.MinInt64) + var Add8 = BoundedAdd[int8](math.MaxInt8, math.MinInt8) + var AddU16 = BoundedAdd[uint16](math.MaxUint16, 0) + var AddU32 = BoundedAdd[uint32](math.MaxUint32, 0) + var AddU64 = BoundedAdd[uint64](math.MaxUint64, 0) + var AddU8 = BoundedAdd[uint8](math.MaxUint8, 0) + var Div16 = BoundedDiv[int16](math.MaxInt16, math.MinInt16) + var Div32 = BoundedDiv[int32](math.MaxInt32, math.MinInt32) + var Div64 = BoundedDiv[int64](math.MaxInt64, math.MinInt64) + var Div8 = BoundedDiv[int8](math.MaxInt8, math.MinInt8) + var DivU16 = BoundedDiv[uint16](math.MaxUint16, 0) + var DivU32 = BoundedDiv[uint32](math.MaxUint32, 0) + var DivU64 = BoundedDiv[uint64](math.MaxUint64, 0) + var DivU8 = BoundedDiv[uint8](math.MaxUint8, 0) + var ErrDivisionByZero = errors.New("division by zero") + var ErrOverflow = errors.New("integer overflow") + var Mul16 = BoundedMul[int16](math.MaxInt16, math.MinInt16) + var Mul32 = BoundedMul[int32](math.MaxInt32, math.MinInt32) + var Mul64 = BoundedMul[int64](math.MaxInt64, math.MinInt64) + var Mul8 = BoundedMul[int8](math.MaxInt8, math.MinInt8) + var MulU16 = BoundedMul[uint16](math.MaxUint16, 0) + var MulU32 = BoundedMul[uint32](math.MaxUint32, 0) + var MulU64 = BoundedMul[uint64](math.MaxUint64, 0) + var MulU8 = BoundedMul[uint8](math.MaxUint8, 0) + var Sub16 = BoundedSub[int16](math.MaxInt16, math.MinInt16) + var Sub32 = BoundedSub[int32](math.MaxInt32, math.MinInt32) + var Sub64 = BoundedSub[int64](math.MaxInt64, math.MinInt64) + var Sub8 = BoundedSub[int8](math.MaxInt8, math.MinInt8) + var SubU16 = BoundedSub[uint16](math.MaxUint16, 0) + var SubU32 = BoundedSub[uint32](math.MaxUint32, 0) + var SubU64 = BoundedSub[uint64](math.MaxUint64, 0) + var SubU8 = BoundedSub[uint8](math.MaxUint8, 0) + func BoundedAdd[T constraints.Integer](upper, lower T) func(a, b T) (T, error) + func BoundedDiv[T constraints.Integer](upper, lower T) func(a, b T) (T, error) + func BoundedMul[T constraints.Integer](upper, lower T) func(a, b T) (T, error) + func BoundedSub[T constraints.Integer](upper, lower T) func(a, b T) (T, error) + type BuilderInt16 struct + func NewInt16(value int16) *BuilderInt16 + func (b *BuilderInt16) Add(n int16) *BuilderInt16 + func (b *BuilderInt16) Div(n int16) *BuilderInt16 + func (b *BuilderInt16) DivRounded(n int16) *BuilderInt16 + func (b *BuilderInt16) Mul(n int16) *BuilderInt16 + func (b *BuilderInt16) Result() (int16, error) + func (b *BuilderInt16) Sub(n int16) *BuilderInt16 + type BuilderInt32 struct + func NewInt32(value int32) *BuilderInt32 + func (b *BuilderInt32) Add(n int32) *BuilderInt32 + func (b *BuilderInt32) Div(n int32) *BuilderInt32 + func (b *BuilderInt32) DivRounded(n int32) *BuilderInt32 + func (b *BuilderInt32) Mul(n int32) *BuilderInt32 + func (b *BuilderInt32) Result() (int32, error) + func (b *BuilderInt32) Sub(n int32) *BuilderInt32 + type BuilderInt64 struct + func NewInt64(value int64) *BuilderInt64 + func (b *BuilderInt64) Add(n int64) *BuilderInt64 + func (b *BuilderInt64) Div(n int64) *BuilderInt64 + func (b *BuilderInt64) DivRounded(n int64) *BuilderInt64 + func (b *BuilderInt64) Mul(n int64) *BuilderInt64 + func (b *BuilderInt64) Result() (int64, error) + func (b *BuilderInt64) Sub(n int64) *BuilderInt64 + type BuilderInt8 struct + func NewInt8(value int8) *BuilderInt8 + func (b *BuilderInt8) Add(n int8) *BuilderInt8 + func (b *BuilderInt8) Div(n int8) *BuilderInt8 + func (b *BuilderInt8) DivRounded(n int8) *BuilderInt8 + func (b *BuilderInt8) Mul(n int8) *BuilderInt8 + func (b *BuilderInt8) Result() (int8, error) + func (b *BuilderInt8) Sub(n int8) *BuilderInt8 + type BuilderUint16 struct + func NewUint16(value uint16) *BuilderUint16 + func (b *BuilderUint16) Add(n uint16) *BuilderUint16 + func (b *BuilderUint16) Div(n uint16) *BuilderUint16 + func (b *BuilderUint16) DivRounded(n uint16) *BuilderUint16 + func (b *BuilderUint16) Mul(n uint16) *BuilderUint16 + func (b *BuilderUint16) Result() (uint16, error) + func (b *BuilderUint16) Sub(n uint16) *BuilderUint16 + type BuilderUint32 struct + func NewUint32(value uint32) *BuilderUint32 + func (b *BuilderUint32) Add(n uint32) *BuilderUint32 + func (b *BuilderUint32) Div(n uint32) *BuilderUint32 + func (b *BuilderUint32) DivRounded(n uint32) *BuilderUint32 + func (b *BuilderUint32) Mul(n uint32) *BuilderUint32 + func (b *BuilderUint32) Result() (uint32, error) + func (b *BuilderUint32) Sub(n uint32) *BuilderUint32 + type BuilderUint64 struct + func NewUint64(value uint64) *BuilderUint64 + func (b *BuilderUint64) Add(n uint64) *BuilderUint64 + func (b *BuilderUint64) Div(n uint64) *BuilderUint64 + func (b *BuilderUint64) DivRounded(n uint64) *BuilderUint64 + func (b *BuilderUint64) Mul(n uint64) *BuilderUint64 + func (b *BuilderUint64) Result() (uint64, error) + func (b *BuilderUint64) Sub(n uint64) *BuilderUint64 + type BuilderUint8 struct + func NewUint8(value uint8) *BuilderUint8 + func (b *BuilderUint8) Add(n uint8) *BuilderUint8 + func (b *BuilderUint8) Div(n uint8) *BuilderUint8 + func (b *BuilderUint8) DivRounded(n uint8) *BuilderUint8 + func (b *BuilderUint8) Mul(n uint8) *BuilderUint8 + func (b *BuilderUint8) Result() (uint8, error) + func (b *BuilderUint8) Sub(n uint8) *BuilderUint8