HF
This commit is contained in:
@ -9,7 +9,5 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|||||||
|
|
||||||
project(IAMath)
|
project(IAMath)
|
||||||
|
|
||||||
add_subdirectory(Dependencies/IACore)
|
|
||||||
|
|
||||||
add_subdirectory(Src/IAMath)
|
add_subdirectory(Src/IAMath)
|
||||||
add_subdirectory(Src/IAMathTest)
|
add_subdirectory(Src/IAMathTest)
|
||||||
|
|||||||
@ -14,6 +14,8 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include <IAMath/Vec.hpp>
|
#include <IAMath/Vec.hpp>
|
||||||
|
|
||||||
namespace ia::iam
|
namespace ia::iam
|
||||||
|
|||||||
@ -14,7 +14,9 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// 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
|
namespace ia::iam
|
||||||
{
|
{
|
||||||
@ -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 };
|
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 };
|
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 };
|
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 };
|
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 };
|
return { X * other, Y * other };
|
||||||
}
|
}
|
||||||
|
|
||||||
Vec2 operator/(IN _value_type other)
|
Vec2 operator/(IN _value_type other) CONST
|
||||||
{
|
{
|
||||||
return { X / other, Y / other };
|
return { X / other, Y / other };
|
||||||
}
|
}
|
||||||
@ -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 };
|
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 };
|
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 };
|
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 };
|
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 };
|
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 };
|
return { X / other, Y / other, Z / other };
|
||||||
}
|
}
|
||||||
@ -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 };
|
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 };
|
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 };
|
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 };
|
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 };
|
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 };
|
return { X / other, Y / other, Z / other, W / other };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user