def machine_support
stelliferous@0.0.2.0 · tensor_convolution.bend:208
import stelliferous@0.0.2.0/tensor_convolution.bend as TensorConvolution
import Base
import stelliferous@0.0.2.0/kernel_shape.bend as KernelShape
import stelliferous@0.0.2.0/machine_limits.bend as Machine
208def machine_support(geometry: Geometry,+limits: Machine.Limits) -> Bool:
209 Geometry{+count,batched,+dimensions} = geometry
210 KernelShape.Dimensions{+ci,+rows,+h,+w,+k,+s,+p} = dimensions
211 KernelShape.supports_packed(limits,dimensions,Nat.mul(ci,Nat.mul(h,w)),Nat.mul(rows,Nat.mul(ci,Nat.mul(k,k)))) &&
212 Nat.is_le(Nat.mul(U32.to_nat(count),Nat.mul(rows,Nat.mul(KernelShape.axis_size(h,k,s,p),KernelShape.axis_size(w,k,s,p)))),U32.to_nat(Machine.capacity(limits)))