#[doc(hidden)] #[macro_export(local_inner_macros)] macro_rules! impl_wide_vector_operations_2arg_not_const_generic { ( ($lhs:expr, $rhs:expr) ) => { impl Vector>{ paste::item!{ #[inline] pub fn [](self,rhs:Vector>)->Vector>{ self.array.map_zip(|(a,b)|a.[](b)) } #[inline] pub fn [](self,rhs:Vector>)->fixed_wide::fixed::Fixed<{$lhs+$rhs},{($lhs+$rhs)*32}>{ self.array.into_iter().zip(rhs.array).map(|(a,b)|a.[](b)).sum() } } } } } #[doc(hidden)] #[macro_export(local_inner_macros)] macro_rules! impl_wide_vector_operations_1arg_not_const_generic { ( $n:expr ) => { impl $struct>{ paste::item!{ #[inline] pub fn wide_length_squared(&self)->fixed_wide::fixed::Fixed<{$n*2},{$n*2*32}>{ self.array.into_iter().map(|t|t.[](t)).sum() } } } }; }