KernelSpatialPacking.tile: def of stelliferous@0.0.2.0 Import: import stelliferous@0.0.2.0/kernel_spatial_packing.bend as KernelSpatialPacking Lines 139-150 of stelliferous@0.0.2.0/kernel_spatial_packing.bend: https://jend.leeeet.dev/read.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&start_line=139&end_line=150 import Base import stelliferous@0.0.2.0/traversal_loop.bend as Loop import stelliferous@0.0.2.0/kernel_tile.bend as Tile # A tile inside one output row, one that ends in the next row, and any other. def tile(within: Bool,wraps: Bool,input: Array,output: Array,index: U32,+position: U32,height: U32,width: U32,kernel: U32,stride: U32,padding: U32,+output_width: U32, +channels: Nat,taps: Nat,+inner: Nat) -> Tiled(): match within wraps: case True{} wraps: after_row_tile(position,kernel,channels,inner,Loop.run(~RowTiles(),~channel_step(~block),channels, RowTile{input,output,index,0,0,0,(position / output_width : U32),(position % output_width : U32),output_width,height,width,stride,padding,taps})) case False{} True{}: after_row_tile(position,kernel,channels,inner,Loop.run(~RowTiles(),~channel_step(~wrap_block),channels, RowTile{input,output,index,0,0,0,(position / output_width : U32),(position % output_width : U32),output_width,height,width,stride,padding,taps})) case False{} False{}: after_crossing(channels,taps,inner,Loop.run(~Crossings(),~crossing_step,inner,Crossing{input,output,index,0,position,height,width,kernel,stride,padding,output_width})) Uses (20): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=F32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.div https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.mod https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=CrossingState https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=Crossings https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=RowState https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=RowTiles https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=Tiled https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=after_crossing https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=after_row_tile https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=block https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=channel_step https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=crossing_step https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_spatial_packing.bend&name=wrap_block https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/kernel_tile.bend&name=Tile8 https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/traversal_loop.bend&name=run