Compare commits
2 Commits
536e9d0e58
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 450d6b4ecc | |||
| 77314b62b7 |
@ -9,7 +9,5 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
|
||||
project(IAMath)
|
||||
|
||||
add_subdirectory(Dependencies/IACore)
|
||||
|
||||
add_subdirectory(Src/IAMath)
|
||||
add_subdirectory(Src/IAMathTest)
|
||||
|
||||
@ -14,6 +14,8 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <IAMath/Vec.hpp>
|
||||
|
||||
namespace ia::iam
|
||||
|
||||
@ -14,7 +14,9 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#include <iacore/string.hpp>
|
||||
#pragma once
|
||||
|
||||
#include <IACore/String.hpp>
|
||||
|
||||
namespace ia::iam
|
||||
{
|
||||
@ -26,7 +28,7 @@ namespace ia::iam
|
||||
_value_type Data[2];
|
||||
};
|
||||
struct {
|
||||
_value_type X{}, Y{};
|
||||
_value_type X, Y;
|
||||
};
|
||||
struct {
|
||||
_value_type U, V;
|
||||
@ -39,32 +41,32 @@ namespace ia::iam
|
||||
};
|
||||
};
|
||||
|
||||
Vec2 operator+(IN CONST Vec2<_value_type>& other)
|
||||
Vec2 operator+(IN CONST Vec2<_value_type>& other) CONST
|
||||
{
|
||||
return { X + other.X, Y + other.Y };
|
||||
}
|
||||
|
||||
Vec2 operator-(IN CONST Vec2<_value_type>& other)
|
||||
Vec2 operator-(IN CONST Vec2<_value_type>& other) CONST
|
||||
{
|
||||
return { X - other.X, Y - other.Y };
|
||||
}
|
||||
|
||||
Vec2 operator*(IN CONST Vec2<_value_type>& other)
|
||||
Vec2 operator*(IN CONST Vec2<_value_type>& other) CONST
|
||||
{
|
||||
return { X * other.X, Y * other.Y };
|
||||
}
|
||||
|
||||
Vec2 operator/(IN CONST Vec2<_value_type>& other)
|
||||
Vec2 operator/(IN CONST Vec2<_value_type>& other) CONST
|
||||
{
|
||||
return { X / other.X, Y / other.Y };
|
||||
}
|
||||
|
||||
Vec2 operator*(IN _value_type other)
|
||||
Vec2 operator*(IN _value_type other) CONST
|
||||
{
|
||||
return { X * other, Y * other };
|
||||
}
|
||||
|
||||
Vec2 operator/(IN _value_type other)
|
||||
Vec2 operator/(IN _value_type other) CONST
|
||||
{
|
||||
return { X / other, Y / other };
|
||||
}
|
||||
@ -83,7 +85,7 @@ namespace ia::iam
|
||||
_value_type Data[3];
|
||||
};
|
||||
struct {
|
||||
_value_type X{}, Y{}, Z{};
|
||||
_value_type X, Y, Z;
|
||||
};
|
||||
struct {
|
||||
_value_type R, G, B;
|
||||
@ -96,32 +98,32 @@ namespace ia::iam
|
||||
};
|
||||
};
|
||||
|
||||
Vec3 operator+(IN CONST Vec3<_value_type>& other)
|
||||
Vec3 operator+(IN CONST Vec3<_value_type>& other) CONST
|
||||
{
|
||||
return { X + other.X, Y + other.Y, Z + other.Z };
|
||||
}
|
||||
|
||||
Vec3 operator-(IN CONST Vec3<_value_type>& other)
|
||||
Vec3 operator-(IN CONST Vec3<_value_type>& other) CONST
|
||||
{
|
||||
return { X - other.X, Y - other.Y, Z - other.Z };
|
||||
}
|
||||
|
||||
Vec3 operator*(IN CONST Vec3<_value_type>& other)
|
||||
Vec3 operator*(IN CONST Vec3<_value_type>& other) CONST
|
||||
{
|
||||
return { X * other.X, Y * other.Y, Z * other.Z };
|
||||
}
|
||||
|
||||
Vec3 operator/(IN CONST Vec3<_value_type>& other)
|
||||
Vec3 operator/(IN CONST Vec3<_value_type>& other) CONST
|
||||
{
|
||||
return { X / other.X, Y / other.Y, Z / other.Z };
|
||||
}
|
||||
|
||||
Vec3 operator*(IN _value_type other)
|
||||
Vec3 operator*(IN _value_type other) CONST
|
||||
{
|
||||
return { X * other, Y * other, Z * other };
|
||||
}
|
||||
|
||||
Vec3 operator/(IN _value_type other)
|
||||
Vec3 operator/(IN _value_type other) CONST
|
||||
{
|
||||
return { X / other, Y / other, Z / other };
|
||||
}
|
||||
@ -140,7 +142,7 @@ namespace ia::iam
|
||||
_value_type Data[4];
|
||||
};
|
||||
struct {
|
||||
_value_type X{}, Y{}, Z{}, W{};
|
||||
_value_type X, Y, Z, W;
|
||||
};
|
||||
struct {
|
||||
_value_type R, G, B, A;
|
||||
@ -153,32 +155,32 @@ namespace ia::iam
|
||||
};
|
||||
};
|
||||
|
||||
Vec4 operator+(IN CONST Vec4<_value_type>& other)
|
||||
Vec4 operator+(IN CONST Vec4<_value_type>& other) CONST
|
||||
{
|
||||
return { X + other.X, Y + other.Y, Z + other.Z, W + other.W };
|
||||
}
|
||||
|
||||
Vec4 operator-(IN CONST Vec4<_value_type>& other)
|
||||
Vec4 operator-(IN CONST Vec4<_value_type>& other) CONST
|
||||
{
|
||||
return { X - other.X, Y - other.Y, Z - other.Z, W - other.W };
|
||||
}
|
||||
|
||||
Vec4 operator*(IN CONST Vec4<_value_type>& other)
|
||||
Vec4 operator*(IN CONST Vec4<_value_type>& other) CONST
|
||||
{
|
||||
return { X * other.X, Y * other.Y, Z * other.Z, W * other.W };
|
||||
}
|
||||
|
||||
Vec4 operator/(IN CONST Vec4<_value_type>& other)
|
||||
Vec4 operator/(IN CONST Vec4<_value_type>& other) CONST
|
||||
{
|
||||
return { X / other.X, Y / other.Y, Z / other.Z, W / other.W };
|
||||
}
|
||||
|
||||
Vec4 operator*(IN _value_type other)
|
||||
Vec4 operator*(IN _value_type other) CONST
|
||||
{
|
||||
return { X * other, Y * other, Z * other, W * other };
|
||||
}
|
||||
|
||||
Vec4 operator/(IN _value_type other)
|
||||
Vec4 operator/(IN _value_type other) CONST
|
||||
{
|
||||
return { X / other, Y / other, Z / other, W / other };
|
||||
}
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
add_executable(IAMathTest imp/cpp/Main.cpp)
|
||||
|
||||
target_compile_options(IAMathTest PRIVATE
|
||||
"-g"
|
||||
"-O0"
|
||||
"-D__IA_DEBUG=1"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user