mirror of
https://github.com/lisk77/comet.git
synced 2025-12-12 09:08:49 +00:00
feat(math): vectors now have the hadamard product for multiplication
This commit is contained in:
parent
4915cbcbfe
commit
e589544a31
1 changed files with 59 additions and 0 deletions
|
|
@ -149,6 +149,17 @@ impl Mul<v2> for f32 {
|
|||
}
|
||||
}
|
||||
|
||||
impl Mul<v2> for v2 {
|
||||
type Output = v2;
|
||||
|
||||
fn mul(self, other: v2) -> v2 {
|
||||
v2 {
|
||||
x: self.x * other.x,
|
||||
y: self.y * other.y,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Div<f32> for v2 {
|
||||
type Output = v2;
|
||||
|
||||
|
|
@ -388,6 +399,17 @@ impl Mul<f32> for v2i {
|
|||
}
|
||||
}
|
||||
|
||||
impl Mul<v2i> for v2i {
|
||||
type Output = v2i;
|
||||
|
||||
fn mul(self, other: v2i) -> v2i {
|
||||
v2i {
|
||||
x: self.x * other.x,
|
||||
y: self.y * other.y,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<v2i> for v2 {
|
||||
fn from(v: v2i) -> v2 {
|
||||
v2 {
|
||||
|
|
@ -584,6 +606,18 @@ impl Mul<v3> for f32 {
|
|||
}
|
||||
}
|
||||
|
||||
impl Mul<v3> for v3 {
|
||||
type Output = v3;
|
||||
|
||||
fn mul(self, other: v3) -> v3 {
|
||||
v3 {
|
||||
x: self.x * other.x,
|
||||
y: self.y * other.y,
|
||||
z: self.z * other.z,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Div<f32> for v3 {
|
||||
type Output = v3;
|
||||
|
||||
|
|
@ -797,6 +831,18 @@ impl Mul<f32> for v3i {
|
|||
}
|
||||
}
|
||||
|
||||
impl Mul<v3i> for v3i {
|
||||
type Output = v3i;
|
||||
|
||||
fn mul(self, other: v3i) -> v3i {
|
||||
v3i {
|
||||
x: self.x * other.x,
|
||||
y: self.y * other.y,
|
||||
z: self.z * other.z,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<v3i> for v3 {
|
||||
fn from(v: v3i) -> v3 {
|
||||
v3 {
|
||||
|
|
@ -1002,6 +1048,19 @@ impl Mul<v4> for f32 {
|
|||
}
|
||||
}
|
||||
|
||||
impl Mul<v4> for v4 {
|
||||
type Output = v4;
|
||||
|
||||
fn mul(self, other: v4) -> v4 {
|
||||
v4 {
|
||||
x: self.x * other.x,
|
||||
y: self.y * other.y,
|
||||
z: self.z * other.z,
|
||||
w: self.w * other.w,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl MulAssign<f32> for v4 {
|
||||
fn mul_assign(&mut self, other: f32) {
|
||||
self.x *= other;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue