def jpeg.marker.byte

gralha-jpeg-decode@0.1.0.1 · jpeg.bend:88

import gralha-jpeg-decode@0.1.0.1/jpeg.bend as Jpeg
import Base
import gralha-text-scan@0.1.0.1/scan.bend as U
import gralha-bytes@0.1.0.1/bytes.bend as Bin

88def jpeg.marker.byte(+src: Bin.Bytes, +at: U32) -> JPEGMarker:
89  +v = Bin.bytes.get(src, at)
90  U.branch(JPEGMarker, U32.is_ge(at, Bin.bytes.size(src)), _ => JPEGMarker{0, at, False{}},
91    _ => U.branch(JPEGMarker, U32.is_eq(v, 255), _ => jpeg.marker.byte(src, U32.inc(at)), _ => JPEGMarker{v, U32.inc(at), Bool.not(U32.is_eq(v, 0))}))

Uses (11)

Used by (1)