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