mirror of
https://github.com/lisk77/comet.git
synced 2025-12-12 17:18:50 +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 {
|
impl Div<f32> for v2 {
|
||||||
type Output = 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 {
|
impl From<v2i> for v2 {
|
||||||
fn from(v: v2i) -> v2 {
|
fn from(v: v2i) -> v2 {
|
||||||
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 {
|
impl Div<f32> for v3 {
|
||||||
type Output = 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 {
|
impl From<v3i> for v3 {
|
||||||
fn from(v: v3i) -> v3 {
|
fn from(v: v3i) -> v3 {
|
||||||
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 {
|
impl MulAssign<f32> for v4 {
|
||||||
fn mul_assign(&mut self, other: f32) {
|
fn mul_assign(&mut self, other: f32) {
|
||||||
self.x *= other;
|
self.x *= other;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue