From 4c16cca26bdae09525c04665b536da98beb4c76f Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Fri, 26 May 2017 23:43:10 +0100 Subject: Creating matrix --- include/YAGE/Math/matrix.hpp | 32 +++++++++ include/YAGE/Math/vector.hpp | 151 ----------------------------------------- include/YAGE/Math/vector2d.hpp | 20 ------ 3 files changed, 32 insertions(+), 171 deletions(-) create mode 100644 include/YAGE/Math/matrix.hpp delete mode 100644 include/YAGE/Math/vector.hpp delete mode 100644 include/YAGE/Math/vector2d.hpp (limited to 'include') diff --git a/include/YAGE/Math/matrix.hpp b/include/YAGE/Math/matrix.hpp new file mode 100644 index 00000000..b6807c09 --- /dev/null +++ b/include/YAGE/Math/matrix.hpp @@ -0,0 +1,32 @@ +#ifndef YAGE_MATH_MATRIX_HPP +#define YAGE_MATH_MATRIX_HPP + +namespace yage +{ + +template class Matrix +{ +private: + Type x[Cols][Rows]; + +public: + Matrix() + { + for(int i=0; i -#include - -namespace yage -{ - -class Vector -{ -protected: - std::vector members_; - -public: - Vector()=delete; - virtual ~Vector() {} - - inline long double &operator[](std::size_t index) - { - return members_[index]; - } - - inline const long double &operator[](std::size_t index) const - { - return members_[index]; - } - - inline Vector operator=(Vector other) - { - this->members_=other.members_; - return *this; - } - - inline Vector &operator+() - { - return *this; - } - - inline Vector &operator-() - { - for(auto &i : members_) - { - i=-i; - } - return *this; - } - - inline Vector &operator+=(const Vector &other) - { - for(std::size_t i=0; i mem; - for(auto i : members_) - { - mem.emplace_back(i+other); - } - return Vector(mem); - } - - inline Vector operator-(long double other) const - { - std::vector mem; - for(auto i : members_) - { - mem.emplace_back(i-other); - } - return Vector(mem); - } - - inline Vector operator*(long double other) const - { - std::vector mem; - for(auto i : members_) - { - mem.emplace_back(i*other); - } - return Vector(mem); - } - - inline Vector operator/(long double other) const - { - std::vector mem; - for(auto i : members_) - { - mem.emplace_back(i/other); - } - return Vector(mem); - } - - friend inline std::ostream &operator<<(std::ostream &os, const Vector &object) - { - os<<"("; - for(std::size_t i=0; i &members) : members_(members) {} -}; - -} // yage - -#endif diff --git a/include/YAGE/Math/vector2d.hpp b/include/YAGE/Math/vector2d.hpp deleted file mode 100644 index 1a6d2856..00000000 --- a/include/YAGE/Math/vector2d.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef YAGE_MATH_VECTOR2D_HPP -#define YAGE_MATH_VECTOR2D_HPP - -#include "vector.hpp" - -namespace yage -{ - -class Vector2D : public Vector -{ -public: - Vector2D(long double x=0.L, long double y=0.L); - - long double getX() const; - long double getY() const; -}; - -} // yage - -#endif -- cgit