MPUとHMCでうごくかもver

Dependencies:   ConfigFile SDFileSystem mbed

Fork of LAURUS_program by hiroya taura

Revision:
0:bc6f14fc60c7
Child:
9:6d4578dcc1ed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Vector/Vector.h	Fri May 15 17:24:32 2015 +0000
@@ -0,0 +1,51 @@
+#pragma once
+#include "ErrorLogger.h"
+
+class Matrix;
+
+class Vector {
+public:
+    Vector(int dim);
+    ~Vector();
+    Vector(const Vector& v);
+
+    Vector& operator=(const Vector& v);
+    Vector& operator*=(float c);
+    Vector& operator/=(float c);
+    Vector& operator+=(const Vector& v);
+    Vector& operator-=(const Vector& v);
+
+    void SetComp(int dimNo, float val);
+    float GetNorm() const;
+    Vector Normalize() const;
+
+    inline int GetDim() const {
+        return dim;
+    }
+
+    inline const float* GetpComponents() const {
+        return (const float*)components;
+    }
+
+    inline float GetComp(int dimNo) const {
+        if (dimNo > dim) AbortWithMsg("Index Out of Bounds Error !!");
+        return components[dimNo-1];
+    }
+
+    void CleanUp();
+
+private:
+    int dim;
+    float* components;
+
+    Vector& operator*=(const Matrix& m);
+    Vector& operator*=(const Vector& m);
+};
+
+Vector operator+(const Vector& lhv, const Vector& rhv);
+Vector operator-(const Vector& lhv, const Vector& rhv);
+Vector Cross(const Vector& lhv, const Vector& rhv);
+Vector operator*(const float c, const Vector& rhv);
+Vector operator*(const Vector& lhv, const float c);
+float operator*(const Vector& lhv, const Vector& rhv);
+