use core::ops::Mul;
use crate::Vector2;
macro_rules! impl_vec_mul {
($m: ty) => {
impl Mul<Vector2<$m>> for $m {
type Output = Vector2<$m>;
fn mul(self, rhs: Vector2<$m>) -> Self::Output {
Vector2 {
x: self * rhs.x,
y: self * rhs.y,
}
}
}
};
}
impl_vec_mul!(u8);
impl_vec_mul!(u16);
impl_vec_mul!(u32);
impl_vec_mul!(u64);
impl_vec_mul!(u128);
impl_vec_mul!(usize);
impl_vec_mul!(i8);
impl_vec_mul!(i16);
impl_vec_mul!(i32);
impl_vec_mul!(i64);
impl_vec_mul!(i128);
impl_vec_mul!(isize);
impl_vec_mul!(f32);
impl_vec_mul!(f64);