def slice_axes
stelliferous@0.0.2.0 · tensor_view.bend:196
import stelliferous@0.0.2.0/tensor_view.bend as TensorView
import Base
import stelliferous@0.0.2.0/tensor_shape.bend as Shapes
196def slice_axes(axes: List<&2,Axis>,axis: Nat,+start: U32,+count: U32,+step: U32,+offset: U32) -> Maybe<&2,View>:
197 match axes axis:
198 case Con{Axis{size,+stride},tail} 0n:
199 sliced_axis(slice_step(U32.is_zero(step),start,count,step,size),count,Shapes.checked_multiply(stride,step),
200 add_offset(Shapes.checked_multiply(start,stride),offset),tail)
201 case Con{head,tail} 1n+rest:
202 prepend_axis(Some{head},slice_axes(tail,rest,start,count,step,offset))
203 case Nil{} axis: None{}