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