def Digit.from_bits

bend-trace-context@0.2.0.0 · src/hex.bend:288

import bend-trace-context@0.2.0.0/src/hex.bend as Hex
import Base

288# The digit whose value is bit0 + 2 * bit1 + 4 * bit2 + 8 * bit3.
289def Digit.from_bits(bit0: Bool, bit1: Bool, bit2: Bool, bit3: Bool) -> Digit:
290  match bit0 bit1 bit2 bit3:
291    case False{} False{} False{} False{}:
292      H0{}
293    case True{} False{} False{} False{}:
294      H1{}
295    case False{} True{} False{} False{}:
296      H2{}
297    case True{} True{} False{} False{}:
298      H3{}
299    case False{} False{} True{} False{}:
300      H4{}
301    case True{} False{} True{} False{}:
302      H5{}
303    case False{} True{} True{} False{}:
304      H6{}
305    case True{} True{} True{} False{}:
306      H7{}
307    case False{} False{} False{} True{}:
308      H8{}
309    case True{} False{} False{} True{}:
310      H9{}
311    case False{} True{} False{} True{}:
312      Ha{}
313    case True{} True{} False{} True{}:
314      Hb{}
315    case False{} False{} True{} True{}:
316      Hc{}
317    case True{} False{} True{} True{}:
318      Hd{}
319    case False{} True{} True{} True{}:
320      He{}
321    case True{} True{} True{} True{}:
322      Hf{}

Uses (2)

Used by (3)