Documentation
class (NumTypeI a, NumTypeI b) => Succ a b | a -> b, b -> a Source #
class (NumTypeI a, NumTypeI b) => Negate a b | a -> b, b -> a Source #
class (Add a b c, Sub c b a) => Sum a b c | a b -> c, a c -> b, b c -> a Source #
Instances
(Add a b c, Sub c b a, Sub c a b) => Sum a b c Source # | |
|
class (NumTypeI a, NonZeroI b, NumTypeI c) => Div a b c | a b -> c, c b -> a Source #
Instances
NonZeroI n => Div Zero n Zero Source # | |
|
(NegTypeI n, Negate n p', Div (Pos p') (Pos p) (Pos p''), Negate (Pos p'') (Neg n''), PosTypeI p) => Div (Neg n) (Pos p) (Neg n'') Source # | |
|
(NegTypeI n, NegTypeI n', Negate n p, Negate n' p', Div (Pos p) (Pos p') (Pos p''), PosTypeI p'') => Div (Neg n) (Neg n') (Pos p'') Source # | |
|
(NegTypeI n, Negate n p', Div (Pos p) (Pos p') (Pos p''), Negate (Pos p'') (Neg n''), PosTypeI p) => Div (Pos p) (Neg n) (Neg n'') Source # | |
|
(Sum n' (Pos n'') (Pos n), Div n'' (Pos n') n''', PosTypeI n''') => Div (Pos n) (Pos n') (Pos n''') Source # | |
|
class (NumTypeI a, NumTypeI b, NumTypeI c) => Mul a b c | a b -> c Source #
data Pos n Source #
Instances
Succ Zero (Pos Zero) Source # | |
|
(NumTypeI a, NumTypeI c, PosTypeI p, Div c (Pos p) a) => Mul a (Pos p) c Source # | |
|
PosTypeI n => Show (Pos n) Source # | |
|
PosTypeI a => Succ (Pos a) (Pos (Pos a)) Source # | |
|
(NegTypeI a, PosTypeI b, Negate a b) => Negate (Neg a) (Pos b) Source # | |
|
(PosTypeI a, NegTypeI b, Negate a b) => Negate (Pos a) (Neg b) Source # | |
|
(NegTypeI n, Negate n p', Div (Pos p') (Pos p) (Pos p''), Negate (Pos p'') (Neg n''), PosTypeI p) => Div (Neg n) (Pos p) (Neg n'') Source # | |
|
(NegTypeI n, NegTypeI n', Negate n p, Negate n' p', Div (Pos p) (Pos p') (Pos p''), PosTypeI p'') => Div (Neg n) (Neg n') (Pos p'') Source # | |
|
(NegTypeI n, Negate n p', Div (Pos p) (Pos p') (Pos p''), Negate (Pos p'') (Neg n''), PosTypeI p) => Div (Pos p) (Neg n) (Neg n'') Source # | |
|
(Sum n' (Pos n'') (Pos n), Div n'' (Pos n') n''', PosTypeI n''') => Div (Pos n) (Pos n') (Pos n''') Source # | |
|
data Neg n Source #
Instances
(NumTypeI a, NumTypeI c, NegTypeI n, Div c (Neg n) a) => Mul a (Neg n) c Source # | |
|
NegTypeI n => Show (Neg n) Source # | |
|
Succ (Neg Zero) Zero Source # | |
|
NegTypeI a => Succ (Neg (Neg a)) (Neg a) Source # | |
|
(NegTypeI a, PosTypeI b, Negate a b) => Negate (Neg a) (Pos b) Source # | |
|
(PosTypeI a, NegTypeI b, Negate a b) => Negate (Pos a) (Neg b) Source # | |
|
(NegTypeI n, Negate n p', Div (Pos p') (Pos p) (Pos p''), Negate (Pos p'') (Neg n''), PosTypeI p) => Div (Neg n) (Pos p) (Neg n'') Source # | |
|
(NegTypeI n, NegTypeI n', Negate n p, Negate n' p', Div (Pos p) (Pos p') (Pos p''), PosTypeI p'') => Div (Neg n) (Neg n') (Pos p'') Source # | |
|
(NegTypeI n, Negate n p', Div (Pos p) (Pos p') (Pos p''), Negate (Pos p'') (Neg n''), PosTypeI p) => Div (Pos p) (Neg n) (Neg n'') Source # | |
|