Skip to content

Commit

Permalink
Merge pull request #25 from julianpeeters/dev
Browse files Browse the repository at this point in the history
Cleanup
  • Loading branch information
julianpeeters committed Jan 25, 2024
2 parents 886e291 + 594b13c commit b8b83f4
Showing 1 changed file with 0 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,25 +87,17 @@ object andThen:
@scala.annotation.targetName("andThenTensorStoreTensorBiToBi")
def andThen(
w: PolyMap[Binomial.Interface[A1, B1, A2, B2, _] ⊗ Binomial.Interface[A3, B3, A4, B4, _], Binomial.Interface[A1, A1 => B3, A2, A2 => B4, _], Y],
// f: S2 => A3,
// g: S1 => A4,
// h: B1 => A3,
// i: B2 => A4
): PolyMap[PolyMap[(Monomial.Store[S1, _] ⊗ Monomial.Store[S2, _]), (Binomial.Interface[A1, B1, A2, B2, _] ⊗ Binomial.Interface[A3, B3, A4, B4, _]), _], Binomial.Interface[A1, A1 => B3, A2, A2 => B4, _], Y] =
new PolyMap[PolyMap[(Monomial.Store[S1, _] ⊗ Monomial.Store[S2, _]), (Binomial.Interface[A1, B1, A2, B2, _] ⊗ Binomial.Interface[A3, B3, A4, B4, _]), _], Binomial.Interface[A1, A1 => B3, A2, A2 => B4, _], Y]:
def φ: PolyMap.Phi[PolyMap[(Monomial.Store[S1, _] ⊗ Monomial.Store[S2, _]), (Binomial.Interface[A1, B1, A2, B2, _] ⊗ Binomial.Interface[A3, B3, A4, B4, _]), _], Binomial.Interface[A1, A1 => B3, A2, A2 => B4, _], Y] =
(
p.φ._1.andThen(w.φ._1),
p.φ._2.andThen(w.φ._2),
// s => a1 => p.φ._1(p.`φ#`._1(s, (a1, h(p.φ._1(s)._1))))._2,
// s => a2 => p.φ._2(p.`φ#`._2(s, (a2, i(p.φ._2(s)._1))))._2
)
def `φ#`: PolyMap.PhiSharp[PolyMap[(Monomial.Store[S1, _] ⊗ Monomial.Store[S2, _]), (Binomial.Interface[A1, B1, A2, B2, _] ⊗ Binomial.Interface[A3, B3, A4, B4, _]), _], Binomial.Interface[A1, A1 => B3, A2, A2 => B4, _], Y] =
(
(s, a) => p.`φ#`._1(s, w.`φ#`._1(p.φ._1(s), a)),
(s, a) => p.`φ#`._2(s, w.`φ#`._2(p.φ._2(s), a)),
// (s: (S1, S2), a1: A1) => p.`φ#`._1(s, (a1, f(s._2))),
// (s: (S1, S2), a2: A2) => p.`φ#`._2(s, (a2, g(s._1)))
)

extension [S1, S2, S3, A1, B1, A2, B2, A3, B3, A4, B4, Y] (
Expand All @@ -123,4 +115,3 @@ object andThen:
p.φ.andThen(w.φ)
def `φ#`: PolyMap.PhiSharp[PolyMap[(Monomial.Store[S1, _] ⊗ Monomial.Store[S2, _] ⊗ Monomial.Store[S3, _]), (Monomial.Interface[A1, B1, _] ⊗ Monomial.Interface[A2, B2, _] ⊗ Monomial.Interface[A3, B3, _]), _], Monomial.Interface[Unit, Unit => Unit, _], Y] =
(s, a) => p.`φ#`(s, w.`φ#`(p.φ(s), a))
// (s, _) => p.`φ#`(s, ((f(s._1._1), g(s._1._2)), h(s._2)))

0 comments on commit b8b83f4

Please sign in to comment.