def cmp

bend-lawful-stdlib@0.1.0.0 · src/float/bin.bend:150

import bend-lawful-stdlib@0.1.0.0/src/float/bin.bend as Bin
import Base

150def cmp(a: Bin, b: Bin) -> Cmp:
151  match a b:
152    case BZ{} BZ{}:
153      EQ{}
154    case BZ{} B0{y}:
155      cmp(BZ{}, y)
156    case BZ{} B1{y}:
157      LT{}
158    case B0{x} BZ{}:
159      cmp(x, BZ{})
160    case B1{x} BZ{}:
161      GT{}
162    case B0{x} B0{y}:
163      cmp.fin(False{}, False{}, cmp(x, y))
164    case B0{x} B1{y}:
165      cmp.fin(False{}, True{}, cmp(x, y))
166    case B1{x} B0{y}:
167      cmp.fin(True{}, False{}, cmp(x, y))
168    case B1{x} B1{y}:
169      cmp.fin(True{}, True{}, cmp(x, y))

Uses (4)

Used by (1)