MPUとHMCでうごくかもver

Dependencies:   ConfigFile SDFileSystem mbed

Fork of LAURUS_program by hiroya taura

Committer:
YusukeWakuta
Date:
Sat Dec 26 11:44:09 2015 +0000
Revision:
43:3a37e39b234c
Parent:
42:7428acb9b14d
hmc??????????????????????????????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ojan 0:bc6f14fc60c7 1 #pragma once
ojan 23:79cdc1432160 2 #include "mbed.h"
ojan 0:bc6f14fc60c7 3
ojan 0:bc6f14fc60c7 4 class Matrix;
ojan 0:bc6f14fc60c7 5
ojan 0:bc6f14fc60c7 6 class Vector {
YusukeWakuta 40:4188d55e62fc 7 private:
YusukeWakuta 40:4188d55e62fc 8 int dim;
YusukeWakuta 40:4188d55e62fc 9 float* components;
ojan 0:bc6f14fc60c7 10 public:
ojan 0:bc6f14fc60c7 11 Vector(int dim);
ojan 0:bc6f14fc60c7 12 ~Vector();
ojan 0:bc6f14fc60c7 13 Vector(const Vector& v);
ojan 0:bc6f14fc60c7 14
ojan 0:bc6f14fc60c7 15 Vector& operator=(const Vector& v);
ojan 9:6d4578dcc1ed 16 Vector operator+();
ojan 9:6d4578dcc1ed 17 Vector operator-();
ojan 0:bc6f14fc60c7 18 Vector& operator*=(float c);
ojan 0:bc6f14fc60c7 19 Vector& operator/=(float c);
ojan 0:bc6f14fc60c7 20 Vector& operator+=(const Vector& v);
ojan 0:bc6f14fc60c7 21 Vector& operator-=(const Vector& v);
ojan 0:bc6f14fc60c7 22
YusukeWakuta 42:7428acb9b14d 23 int Getdim(){return dim;}
ojan 0:bc6f14fc60c7 24 void SetComp(int dimNo, float val);
ojan 13:df1e8a650185 25 void SetComps(float* vals);
ojan 0:bc6f14fc60c7 26 float GetNorm() const;
ojan 0:bc6f14fc60c7 27 Vector Normalize() const;
ojan 9:6d4578dcc1ed 28 Vector GetParaCompTo(Vector v);
ojan 9:6d4578dcc1ed 29 Vector GetPerpCompTo(Vector v);
ojan 0:bc6f14fc60c7 30
ojan 0:bc6f14fc60c7 31 inline int GetDim() const {
ojan 0:bc6f14fc60c7 32 return dim;
ojan 0:bc6f14fc60c7 33 }
ojan 0:bc6f14fc60c7 34
ojan 0:bc6f14fc60c7 35 inline const float* GetpComponents() const {
ojan 0:bc6f14fc60c7 36 return (const float*)components;
ojan 0:bc6f14fc60c7 37 }
ojan 0:bc6f14fc60c7 38
ojan 0:bc6f14fc60c7 39 inline float GetComp(int dimNo) const {
ojan 23:79cdc1432160 40 if (dimNo > dim) error("Index Out of Bounds Error !!");
ojan 0:bc6f14fc60c7 41 return components[dimNo-1];
ojan 0:bc6f14fc60c7 42 }
ojan 0:bc6f14fc60c7 43
ojan 0:bc6f14fc60c7 44 void CleanUp();
ojan 0:bc6f14fc60c7 45
ojan 0:bc6f14fc60c7 46
ojan 0:bc6f14fc60c7 47 Vector& operator*=(const Matrix& m);
ojan 0:bc6f14fc60c7 48 Vector& operator*=(const Vector& m);
ojan 0:bc6f14fc60c7 49 };
ojan 0:bc6f14fc60c7 50
ojan 0:bc6f14fc60c7 51 Vector operator+(const Vector& lhv, const Vector& rhv);
ojan 0:bc6f14fc60c7 52 Vector operator-(const Vector& lhv, const Vector& rhv);
ojan 0:bc6f14fc60c7 53 Vector Cross(const Vector& lhv, const Vector& rhv);
ojan 0:bc6f14fc60c7 54 Vector operator*(const float c, const Vector& rhv);
ojan 0:bc6f14fc60c7 55 Vector operator*(const Vector& lhv, const float c);
ojan 0:bc6f14fc60c7 56 float operator*(const Vector& lhv, const Vector& rhv);
ojan 0:bc6f14fc60c7 57