def jpeg.components.valid
gralha-jpeg-decode@0.1.0.1 · jpeg.bend:212
import gralha-jpeg-decode@0.1.0.1/jpeg.bend as Jpeg
import Base
212def jpeg.components.valid(+xs: List<&2, JPEGComponent>) -> Bool:
213 match xs:
214 case Nil{}: True{}
215 case Con{JPEGComponent{id, h, v, quant, dc, ac, predictor, bw, bh, coefficients, samples}, rest}:
216 +hh = h
217 +vv = v
218 U32.is_ge(hh, 1) && U32.is_le(hh, 4) && U32.is_ge(vv, 1) && U32.is_le(vv, 4) && U32.is_le(quant, 3) && Bool.not(jpeg.components.has(rest, id)) && jpeg.components.valid(rest)