00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef TNT_FORTRAN_ARRAY1D_UTILS_H
00021 #define TNT_FORTRAN_ARRAY1D_UTILS_H
00022
00023 #include <iostream>
00024
00025 namespace TNT
00026 {
00027
00028
00036 template <class T>
00037 std::ostream& operator<<(std::ostream &s, const Fortran_Array1D<T> &A);
00038
00053 template <class T>
00054 std::istream& operator>>(std::istream &s, Fortran_Array1D<T> &A);
00055
00056
00057
00058
00059
00060
00061
00062
00074 template <class T>
00075 Fortran_Array1D<T> operator+(const Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00076
00077
00089 template <class T>
00090 Fortran_Array1D<T> operator-(const Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00091
00092
00104 template <class T>
00105 Fortran_Array1D<T> operator*(const Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00106
00118 template <class T>
00119 Fortran_Array1D<T> operator/(const Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00120
00121
00122
00123
00124
00125
00126
00138 template <class T>
00139 Fortran_Array1D<T>& operator+=(Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00140
00141
00153 template <class T>
00154 Fortran_Array1D<T>& operator-=(Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00155
00156
00168 template <class T>
00169 Fortran_Array1D<T>& operator*=(Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00170
00182 template <class T>
00183 Fortran_Array1D<T>& operator/=(Fortran_Array1D<T> &A, const Fortran_Array1D<T> &B);
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194 }
00195
00196 #endif