diff --git a/src/quantity_api/__init__.py b/src/quantity_api/__init__.py index 9d4b56a..fb782d6 100644 --- a/src/quantity_api/__init__.py +++ b/src/quantity_api/__init__.py @@ -17,5 +17,26 @@ def value(self) -> V: ... def unit(self) -> U: ... ### Dunder Methods - def __eq__[B](self, other: Self[op.CanEq[V, B], U], /) -> B: ... + def __ne__[B](self, other: Self[op.CanNe[V, B], U], /) -> B: ... + def __lt__[B](self, other: Self[op.CanLt[V, B], U], /) -> B: ... + def __le__[B](self, other: Self[op.CanLe[V, B], U], /) -> B: ... + def __gt__[B](self, other: Self[op.CanGt[V, B], U], /) -> B: ... + def __ge__[B](self, other: Self[op.CanGe[V, B], U], /) -> B: ... + + def __pos__(self) -> Self[op.CanPos[V], U]: ... + def __neg__(self) -> Self[op.CanNeg[V], U]: ... + def __abs__(self) -> Self[op.CanAbs[V], U]: ... + + def __add__[B](self, other: Self[op.CanAdd[V, B], U], /) -> Self[op.CanAdd[V, B], U]: ... + def __radd__[B](self, other: Self[op.CanAdd[V, B], U], /) -> Self[op.CanAdd[V, B], U]: ... + def __sub__[B](self, other: Self[op.CanSub[V, B], U], /) -> Self[op.CanSub[V, B], U]: ... + def __rsub__[B](self, other: Self[op.CanSub[V, B], U], /) -> Self[op.CanSub[V, B], U]: ... + + def __mul__[B](self, other: Self[op.CanMul[V, B], U], /) -> Self[op.CanMul[V, B], U]: ... + def __rmul__[B](self, other: Self[op.CanMul[V, B], U], /) -> Self[op.CanMul[V, B], U]: ... + def __truediv__[B](self, other: Self[op.CanDiv[V, B], U], /) -> Self[op.CanDiv[V, B], U]: ... + def __rtruediv__[B](self, other: Self[op.CanDiv[V, B], U], /) -> Self[op.CanDiv[V, B], U]: ... + + def __pow__(self, other: int | Self[op.CanPow[V], U], /) -> Self[op.CanPow[V], U]: ... + def __rpow__(self, other: int | Self[op.CanPow[V], U], /) -> Self[op.CanPow[V], U]: ...