pub trait WideMul<Rhs=Self>{ type Output; fn wide_mul(self,rhs:Rhs)->Self::Output; } pub trait WideDiv<Rhs=Self>{ type Output; fn wide_div(self,rhs:Rhs)->Self::Output; } pub trait WideDot<Rhs=Self>{ type Output; fn wide_dot(self,rhs:Rhs)->Self::Output; } pub trait WideCross<Rhs=Self>{ type Output; fn wide_cross(self,rhs:Rhs)->Self::Output; }