diff options
| author | fschildt <florian.schildt@protonmail.com> | 2025-10-01 14:08:24 +0200 | 
|---|---|---|
| committer | fschildt <florian.schildt@protonmail.com> | 2025-10-01 14:09:13 +0200 | 
| commit | c775ca6133d93ed97359a6a50bd94a5563c740de (patch) | |
| tree | 9d3efb1c7e7538ff9d5cae408d2c29f9dd3daeab /src/common/math.cpp | |
| parent | 41c2e2ecfcccf62b3c646980dd283848e33a8134 (diff) | |
general refactoring, prepare breakout game
Diffstat (limited to 'src/common/math.cpp')
| -rw-r--r-- | src/common/math.cpp | 95 | 
1 files changed, 95 insertions, 0 deletions
diff --git a/src/common/math.cpp b/src/common/math.cpp new file mode 100644 index 0000000..ba54f3a --- /dev/null +++ b/src/common/math.cpp @@ -0,0 +1,95 @@ +#include <common/math.hpp> + + +/* V2ST */ + +bool +V2ST::operator==(V2ST& b) +{ +    bool result = this->x == b.x && this->y == b.y; +    return result; +} + + + +/* V2F32 */ + +V2F32 +V2F32::operator/(float scalar) +{ +    V2F32 result {}; +    result.x = this->x / scalar; +    result.y = this->y / scalar; +    return result; +} + +V2F32 +V2F32::operator*(float scalar) +{ +    V2F32 result {}; +    result.x = this->x * scalar; +    result.y = this->y * scalar; +    return result; +} + +V2F32 V2F32::operator+(V2F32 other) { +    V2F32 result {}; +    result.x = this->x + other.x; +    result.y = this->y + other.y; +    return result; +} + + +/* V3F32 */ + +V3F32 V3F32::operator/(float scalar) { +    V3F32 result = {}; +    result.x = this->x / scalar; +    result.y = this->y / scalar; +    result.z = this->z / scalar; +    return result; +} + +V3F32 V3F32::operator*(float scalar) { +    V3F32 result = {}; +    result.x = this->x * scalar; +    result.y = this->y * scalar; +    result.z = this->z * scalar; +    return result; +} + + +/* V4F32 */ + +V4F32 +V4F32::operator/(float scalar) +{ +    V4F32 result {}; +    result.x = this->x / scalar; +    result.y = this->y / scalar; +    result.z = this->z / scalar; +    result.w = this->w / scalar; +    return result; +} + +V4F32 +V4F32::operator*(float scalar) +{ +    V4F32 result {}; +    result.x = this->x * scalar; +    result.y = this->y * scalar; +    result.z = this->z * scalar; +    result.w = this->z * scalar; +    return result; +} + + +/* V2I32 */ + +bool +V2I32::operator==(V2I32 other) +{ +    bool result = x == other.x && y == other.y; +    return result; +} +  | 
