src/run.rs

changeset 96
5ba25d740dfc
parent 93
8f1e57821d76
child 98
b9818eb24b47
--- a/src/run.rs	Wed Aug 05 17:50:38 2026 -0500
+++ b/src/run.rs	Thu Aug 06 14:33:17 2026 -0500
@@ -1412,8 +1412,8 @@
             (Option<DiscreteMeasure<U, F>>, Z, Y),
             String,
         ),
-    ) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>,
-) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>
+    ) -> DynResult<MeasureZ<F, Z, U>>,
+) -> DynResult<MeasureZ<F, Z, U>>
 where
     F: Float + ToNalgebraRealField,
     U: Space + Clone + Dist<L2, F>,
@@ -1421,7 +1421,7 @@
     I: AlgIteratorFactory<IterInfo<F>>,
     Dat: DifferentiableMapping<MeasureZ<F, Z, U>, Codomain = F, DerivativeDomain = Pair<S, Z>>
         + BoundedCurvature<F>,
-    S: DifferentiableMapping<U, Codomain = F> + ClosedMul<F> + MinMaxMapping<U, F>,
+    S: ClosedMul<F>,
     for<'a> Pair<&'a P, &'a IdOp<Z>>: StepLengthBoundPair<F, Dat>,
     //Pair<S, Z>: ClosedMul<F>,
     DiscreteMeasure<U, F>: SpikeMerging<F>,
@@ -1476,8 +1476,8 @@
             (Option<DiscreteMeasure<U, F>>, Z, Y),
             String,
         ),
-    ) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>,
-) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>
+    ) -> DynResult<MeasureZ<F, Z, U>>,
+) -> DynResult<MeasureZ<F, Z, U>>
 where
     F: Float + ToNalgebraRealField,
     U: Space + Clone + Dist<L2, F>,
@@ -1485,7 +1485,7 @@
     I: AlgIteratorFactory<IterInfo<F>>,
     Dat: DifferentiableMapping<MeasureZ<F, Z, U>, Codomain = F, DerivativeDomain = Pair<S, Z>>
         + BoundedCurvature<F>,
-    S: DifferentiableMapping<U, Codomain = F> + ClosedMul<F> + MinMaxMapping<U, F>,
+    S: ClosedMul<F>,
     for<'a> Pair<&'a P, &'a IdOp<Z>>: StepLengthBoundPair<F, Dat>,
     //Pair<S, Z>: ClosedMul<F>,
     DiscreteMeasure<U, F>: SpikeMerging<F>,
@@ -1563,8 +1563,8 @@
             (Option<DiscreteMeasure<U, F>>, Z),
             String,
         ),
-    ) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>,
-) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>
+    ) -> DynResult<MeasureZ<F, Z, U>>,
+) -> DynResult<MeasureZ<F, Z, U>>
 where
     F: Float + ToNalgebraRealField,
     U: Space + Clone + Dist<L2, F>,
@@ -1572,7 +1572,7 @@
     I: AlgIteratorFactory<IterInfo<F>>,
     Dat: DifferentiableMapping<MeasureZ<F, Z, U>, Codomain = F, DerivativeDomain = Pair<S, Z>>
         + BoundedCurvature<F>,
-    S: DifferentiableMapping<U, Codomain = F> + ClosedMul<F> + MinMaxMapping<U, F>,
+    S: ClosedMul<F>,
     DiscreteMeasure<U, F>: SpikeMerging<F>,
     Reg: SlidingRegTerm<U, F>,
     P: TransportProxPenalty<U, S, Reg, F>,
@@ -1581,8 +1581,6 @@
     for<'b> &'b Z: Instance<Z>,
     R: Prox<Z, Codomain = F>,
     Plot: Plotter<P::ReturnMapping, S, DiscreteMeasure<U, F>>,
-    // We should not need to explicitly require this:
-    for<'b> &'b Loc<0, F>: Instance<Loc<0, F>>,
 {
     run_fb_pair_dom(f, reg, prox_penalty, fnR, init, &mut FullSpace, cont)
 }
@@ -1608,8 +1606,8 @@
             (Option<DiscreteMeasure<U, F>>, Z),
             String,
         ),
-    ) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>,
-) -> DynResult<Pair<DiscreteMeasure<U, F>, Z>>
+    ) -> DynResult<MeasureZ<F, Z, U>>,
+) -> DynResult<MeasureZ<F, Z, U>>
 where
     F: Float + ToNalgebraRealField,
     U: Space + Clone + Dist<L2, F>,
@@ -1617,7 +1615,7 @@
     I: AlgIteratorFactory<IterInfo<F>>,
     Dat: DifferentiableMapping<MeasureZ<F, Z, U>, Codomain = F, DerivativeDomain = Pair<S, Z>>
         + BoundedCurvature<F>,
-    S: DifferentiableMapping<U, Codomain = F> + ClosedMul<F> + MinMaxMapping<U, F>,
+    S: ClosedMul<F>,
     DiscreteMeasure<U, F>: SpikeMerging<F>,
     Reg: SlidingRegTerm<U, F>,
     P: TransportProxPenalty<U, S, Reg, F>,
@@ -1626,8 +1624,6 @@
     for<'b> &'b Z: Instance<Z>,
     R: Prox<Z, Codomain = F>,
     Plot: Plotter<P::ReturnMapping, S, DiscreteMeasure<U, F>>,
-    // We should not need to explicitly require this:
-    for<'b> &'b Loc<0, F>: Instance<Loc<0, F>>,
 {
     let pt = P::prox_type();
 

mercurial