CurryInfo: binint-3.0.0 / Data.BinInt.cmpNat

definition:
cmpNat :: Nat -> Nat -> Ordering
cmpNat IHi   IHi   = EQ
cmpNat IHi   (O _) = LT
cmpNat IHi   (I _) = LT
cmpNat (O _) IHi   = GT
cmpNat (O x) (O y) = cmpNat x y
cmpNat (O x) (I y) = case cmpNat x y of
  EQ    -> LT
  cmpxy -> cmpxy
cmpNat (I _) IHi   = GT
cmpNat (I x) (O y) = case cmpNat x y of
  EQ    -> GT
  cmpxy -> cmpxy
cmpNat (I x) (I y) = cmpNat x y
demand:
arguments 1 2
deterministic:
deterministic operation
documentation:
--- Comparison of natural numbers, O(min (m,n))
failfree:
(_, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{({IHi},{IHi}) |-> {EQ} || ({IHi},{O}) |-> {LT} || ({IHi},{I}) |-> {LT} || ({O},{IHi}) |-> {GT} || ({O},{O}) |-> {EQ,GT,LT} || ({O},{I}) |-> _ || ({I},{IHi}) |-> {GT} || ({I},{O}) |-> _ || ({I},{I}) |-> {EQ,GT,LT}}
name:
cmpNat
precedence:
no precedence defined
result-values:
{EQ,GT,LT}
signature:
Nat -> Nat -> Prelude.Ordering
solution-complete:
operation might suspend on free variables
terminating:
yes
totally-defined:
reducible on all ground data terms