def fit_0

bendtorch-core@0.1.0.0 · src/tensor/axis_algebra.bend:355

import bendtorch-core@0.1.0.0/src/tensor/axis_algebra.bend as AxisAlgebra
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/axis_spec.bend as Axis

355def fit_0(+dims: List<&2, Nat>, +coords: List<&2, Nat>, dl: {List.length(&2, Nat, dims) == 1n : Nat}, cl: {List.length(&2, Nat, coords) == 1n : Nat}) -> {Shape.fit(Axis.order(Nat, dims, [0n]), Axis.order(Nat, coords, [0n])) == Shape.fit(dims, coords) : Bool}:
356  match dims:
357    case Nil{}:
358      Empty.absurd({Shape.fit(Axis.order(Nat, Nil{}, [0n]), Axis.order(Nat, coords, [0n])) == Shape.fit(Nil{}, coords) : Bool}, nat_clash(0n, 1n, dl, {==}))
359    case +d0 <> Nil{}:
360      match coords:
361        case Nil{}:
362          Empty.absurd({Shape.fit(Axis.order(Nat, d0 <> Nil{}, [0n]), Axis.order(Nat, Nil{}, [0n])) == Shape.fit(d0 <> Nil{}, Nil{}) : Bool}, nat_clash(0n, 1n, cl, {==}))
363        case +c0 <> Nil{}:
364          {==}
365        case +c0 <> +c1 <> +ct:
366          Empty.absurd({Shape.fit(Axis.order(Nat, d0 <> Nil{}, [0n]), Axis.order(Nat, c0 <> c1 <> ct, [0n])) == Shape.fit(d0 <> Nil{}, c0 <> c1 <> ct) : Bool}, nat_clash(2n+List.length(&2, Nat, ct), 1n, cl, {==}))
367    case +d0 <> +d1 <> +dt:
368      Empty.absurd({Shape.fit(Axis.order(Nat, d0 <> d1 <> dt, [0n]), Axis.order(Nat, coords, [0n])) == Shape.fit(d0 <> d1 <> dt, coords) : Bool}, nat_clash(2n+List.length(&2, Nat, dt), 1n, dl, {==}))

Uses (8)

Used by (1)