Go to the documentation of this file.00001
00002
00003 template<long l> class drovector_small
00004 {
00005 public:
00006
00007
00008
00009 double array[l];
00010
00011
00012
00013
00014 inline drovector_small();
00015 inline explicit drovector_small(const drovector&);
00016 inline drovector_small(const double&);
00017 inline drovector_small(const double&, const double&);
00018 inline drovector_small(const double&, const double&, const double&);
00019 inline ~drovector_small();
00020
00021
00022
00023
00024
00025 inline _drovector to_drovector() const;
00026
00027
00028 inline double& operator()(const long&);
00029 inline double operator()(const long&) const;
00030 inline drovector_small<l>& set(const long&, const double&);
00031 template<long _l> inline friend std::ostream& operator<<(std::ostream&, const drovector_small<_l>&);
00032 inline void read(const char* filename);
00033 inline void write(const char* filename) const;
00034
00035
00036 template<long _l> inline friend dcovector_small<_l> t(const drovector_small<_l>&);
00037 template<long _l> inline friend double nrm2(const drovector_small<_l>&);
00038 template<long _l> inline friend long idamax(const drovector_small<_l>&);
00039 template<long _l> inline friend double damax(const drovector_small<_l>&);
00040
00041
00042 inline drovector_small<l>& zero();
00043
00044
00045
00046
00047
00048 template<long L> inline drovector_small<L>& operator= (const drovector_small<L>&);
00049
00050 template<long L> inline friend drovector_small<L>& operator+=(drovector_small<L>&, const drovector_small<L>&);
00051
00052 template<long L> inline friend drovector_small<L>& operator-=(drovector_small<L>&, const drovector_small<L>&);
00053
00054 template<long L> inline friend drovector_small<L>& operator*=(drovector_small<L>&, const double&);
00055
00056 template<long L> inline friend drovector_small<L>& operator/=(drovector_small<L>&, const double&);
00057
00058 template<long L> inline friend const drovector_small<L>& operator+(const drovector_small<L>&);
00059 template<long L> inline friend drovector_small<L> operator-(const drovector_small<L>&);
00060
00061 template<long L> inline friend drovector_small<L> operator+(const drovector_small<L>&, const drovector_small<L>&);
00062
00063 template<long L> inline friend drovector_small<L> operator-(const drovector_small<L>&, const drovector_small<L>&);
00064
00065 template<long L> inline friend double operator*(const drovector_small<L>&, const dcovector_small<L>&);
00066 template<long M, long N> inline friend drovector_small<N> operator*(const drovector_small<M>&, const dgematrix_small<M,N>&);
00067 template<long L> inline friend drovector_small<L> operator*(const drovector_small<L>&, const dsymatrix_small<L>&);
00068 template<long L> inline friend drovector_small<L> operator*(const drovector_small<L>&, const double&);
00069
00070 template<long L> inline friend drovector_small<L> operator/(const drovector_small<L>&, const double&);
00071
00072 template<long L> inline friend drovector_small<L> operator*(const double&, const drovector_small<L>&);
00073 };
00074
00075
00076
00077
00078
00079 inline double operator/(const drovec2&, const drovec2&);
00080 inline drovec3 operator/(const drovec3&, const drovec3&);