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))