def pixel_address

stelliferous@0.0.2.0 · kernel_packing_samples.bend:34

import stelliferous@0.0.2.0/kernel_packing_samples.bend as KernelPackingSamples
import Base

34def pixel_address(context: PixelBlock,index: Nat) -> PixelAddress:
35  PixelBlock{position,kernel_row,kernel_column,channel_base,+height,+width,+stride,+padding,+output_width} = context
36  +position = (position + U32.from_nat(index) : U32)
37  +row = (position / output_width * stride + kernel_row - padding : U32)
38  +column = (position % output_width * stride + kernel_column - padding : U32)
39  PixelAddress{(channel_base + row * width + column : U32),U32.is_lt(row,height) && U32.is_lt(column,width)}

Uses (12)

Used by (2)