diff -r 123f7f38e161 -r 1f19c6bbf07b src/direct_product.rs
--- a/src/direct_product.rs Tue Apr 08 13:30:12 2025 -0500
+++ b/src/direct_product.rs Sun Apr 27 20:29:43 2025 -0500
@@ -5,33 +5,38 @@
operations on references.
*/
-use core::ops::{Mul,MulAssign,Div,DivAssign,Add,AddAssign,Sub,SubAssign,Neg};
-use std::clone::Clone;
-use serde::{Serialize, Deserialize};
-use crate::types::{Num, Float};
-use crate::{maybe_lifetime, maybe_ref};
use crate::euclidean::Euclidean;
-use crate::instance::{Instance, InstanceMut, Decomposition, DecompositionMut, MyCow};
-use crate::mapping::Space;
+use crate::instance::{Decomposition, DecompositionMut, Instance, InstanceMut, MyCow};
use crate::linops::AXPY;
use crate::loc::Loc;
-use crate::norms::{Norm, PairNorm, NormExponent, Normed, HasDual, L2};
+use crate::mapping::Space;
+use crate::norms::{HasDual, Norm, NormExponent, Normed, PairNorm, L2};
+use crate::types::{Float, Num};
+use core::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign};
+use serde::{Deserialize, Serialize};
+use std::clone::Clone;
-#[derive(Debug,Clone,Copy,PartialEq,Eq,Serialize,Deserialize)]
-pub struct Pair (pub A, pub B);
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
+pub struct Pair(pub A, pub B);
-impl Pair {
- pub fn new(a : A, b : B) -> Pair { Pair(a, b) }
+impl Pair {
+ pub fn new(a: A, b: B) -> Pair {
+ Pair(a, b)
+ }
}
-impl From<(A,B)> for Pair {
+impl From<(A, B)> for Pair {
#[inline]
- fn from((a, b) : (A, B)) -> Pair { Pair(a, b) }
+ fn from((a, b): (A, B)) -> Pair {
+ Pair(a, b)
+ }
}
-impl From> for (A,B) {
+impl From> for (A, B) {
#[inline]
- fn from(Pair(a, b) : Pair) -> (A,B) { (a, b) }
+ fn from(Pair(a, b): Pair) -> (A, B) {
+ (a, b)
+ }
}
macro_rules! impl_binop {
@@ -152,16 +157,18 @@
macro_rules! impl_scalar_assignop {
(($a : ty, $b : ty), $field : ty, $trait : ident, $fn : ident) => {
- impl<'r> $trait<$field>
- for Pair<$a, $b>
- where $a: $trait<$field>, $b: $trait<$field> {
+ impl<'r> $trait<$field> for Pair<$a, $b>
+ where
+ $a: $trait<$field>,
+ $b: $trait<$field>,
+ {
#[inline]
- fn $fn(&mut self, a : $field) -> () {
+ fn $fn(&mut self, a: $field) -> () {
self.0.$fn(a);
self.1.$fn(a);
}
}
- }
+ };
}
macro_rules! impl_unaryop {
@@ -241,24 +248,28 @@
impl Euclidean for Pair
where
- A : Euclidean,
- B : Euclidean,
- F : Float,
- PairOutput : Euclidean,
- Self : Sized
- + Mul> + MulAssign
- + Div> + DivAssign
- + Add>
- + Sub>
- + for<'b> Add<&'b Self, Output=PairOutput>
- + for<'b> Sub<&'b Self, Output=PairOutput>
- + AddAssign + for<'b> AddAssign<&'b Self>
- + SubAssign + for<'b> SubAssign<&'b Self>
- + Neg