def extents
stelliferous@0.0.2.0 · tensor_file.bend:213
import stelliferous@0.0.2.0/tensor_file.bend as TensorFile
import Base
213
214def extents(text: List<&2,U32>,+current: U32,digits: Bool,valid: Bool,shape: List<&2,U32>) -> Maybe<&2,List<&2,U32>>:
215 match text:
216 case Nil{}: None{}
217 case Con{+byte,rest}:
218 match byte:
219 case 41: closed_shape(valid,pushed(digits,current,shape))
220 case 44: extents(rest,0,False{},valid,pushed(digits,current,shape))
221 case 32: extents(rest,current,digits,valid,shape)
222 case _: extents(rest,(current * 10 + byte - 48 : U32),True{},valid && U32.is_le(48,byte) && U32.is_le(byte,57),shape)