MPUとHMCでうごくかもver
Dependencies: ConfigFile SDFileSystem mbed
Fork of LAURUS_program by
Vector/Vector.h@42:7428acb9b14d, 2015-12-26 (annotated)
- Committer:
- YusukeWakuta
- Date:
- Sat Dec 26 11:07:09 2015 +0000
- Revision:
- 42:7428acb9b14d
- Parent:
- 40:4188d55e62fc
?????????; nan??????
Who changed what in which revision?
User | Revision | Line number | New 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 |