Go to the documentation of this file.00001
00002
00003 template<long l> class zrovector_small
00004 {
00005 public:
00006
00007
00008
00009 comple array[l];
00010
00011
00012
00013
00014 inline zrovector_small();
00015 inline explicit zrovector_small(const zrovector&);
00016 inline zrovector_small(const comple&);
00017 inline zrovector_small(const comple&, const comple&);
00018 inline zrovector_small(const comple&, const comple&, const comple&);
00019 inline ~zrovector_small();
00020
00021
00022
00023
00024
00025 inline _zrovector to_zrovector() const;
00026
00027
00028 inline comple& operator()(const long&);
00029 inline comple operator()(const long&) const;
00030 inline zrovector_small<l>& set(const long&, const comple&);
00031 template<long _l> inline friend std::ostream& operator<<(std::ostream&, const zrovector_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 zcovector_small<_l> t(const zrovector_small<_l>&);
00037 template<long _l> inline friend comple nrm2(const zrovector_small<_l>&);
00038 template<long _l> inline friend long idamax(const zrovector_small<_l>&);
00039 template<long _l> inline friend comple damax(const zrovector_small<_l>&);
00040
00041
00042 inline zrovector_small<l>& zero();
00043
00044
00045
00046
00047
00048 template<long L> inline zrovector_small<L>& operator= (const zrovector_small<L>&);
00049
00050 template<long L> inline friend zrovector_small<L>& operator+=(zrovector_small<L>&, const zrovector_small<L>&);
00051
00052 template<long L> inline friend zrovector_small<L>& operator-=(zrovector_small<L>&, const zrovector_small<L>&);
00053
00054 template<long L> inline friend zrovector_small<L>& operator*=(zrovector_small<L>&, const comple&);
00055
00056 template<long L> inline friend zrovector_small<L>& operator/=(zrovector_small<L>&, const comple&);
00057
00058 template<long L> inline friend const zrovector_small<L>& operator+(const zrovector_small<L>&);
00059 template<long L> inline friend zrovector_small<L> operator-(const zrovector_small<L>&);
00060
00061 template<long L> inline friend zrovector_small<L> operator+(const zrovector_small<L>&, const zrovector_small<L>&);
00062
00063 template<long L> inline friend zrovector_small<L> operator-(const zrovector_small<L>&, const zrovector_small<L>&);
00064
00065 template<long L> inline friend comple operator*(const zrovector_small<L>&, const zcovector_small<L>&);
00066 template<long M, long N> inline friend zrovector_small<N> operator*(const zrovector_small<M>&, const zgematrix_small<M,N>&);
00067 template<long L> inline friend zrovector_small<L> operator*(const zrovector_small<L>&, const dsymatrix_small<L>&);
00068 template<long L> inline friend zrovector_small<L> operator*(const zrovector_small<L>&, const comple&);
00069
00070 template<long L> inline friend zrovector_small<L> operator/(const zrovector_small<L>&, const comple&);
00071
00072 template<long L> inline friend zrovector_small<L> operator*(const comple&, const zrovector_small<L>&);
00073 };
00074
00075
00076
00077
00078
00079 inline comple operator/(const zrovec2&, const zrovec2&);
00080 inline zrovec3 operator/(const zrovec3&, const zrovec3&);