Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00011
00012
00013
00014 #include "fvar.hpp"
00015
00016 #ifdef __TURBOC__
00017 #pragma hdrstop
00018 #include <iostream.h>
00019 #include <iomanip.h>
00020 #include <fstream.h>
00021 #define __USE_IOSTREAM__
00022 #endif
00023
00024 #ifdef __ZTC__
00025 #include <iostream.hpp>
00026 #include <iomanip.hpp>
00027 #include <fstream.hpp>
00028 #define __USE_IOSTREAM__
00029 #endif
00030
00031 #include <string.h>
00032
00037 ostream& operator<<(const ostream& _ostr,const dvector& z)
00038 {
00039 ostream& ostr=(ostream&) _ostr;
00040 z.write_on(ostr);
00041
00042 return ostr;
00043 }
00044
00049 void dvector::write_on(const ostream& _s) const
00050 {
00051 ostream& s=(ostream&) _s;
00052 #ifdef __USE_IOSTREAM__
00053 using std::streamsize;
00054 streamsize new_w = s.width();
00055 streamsize new_p = s.precision();
00056 #if !defined(__cplusplus)
00057 long new_form = s.flags();
00058 #else
00059 ios::fmtflags new_form = s.flags();
00060 #endif
00061 char new_fill = s.fill();
00062 #endif
00063 for (int i=indexmin(); i <= indexmax(); i++)
00064 {
00065 #ifdef __USE_IOSTREAM__
00066 s.width(0);
00067 s << " ";
00068 s.width(new_w);
00069 s.precision(new_p);
00070 s.flags(new_form);
00071 s.fill(new_fill);
00072 s << (*this)[i];
00073 #else
00074 s << " " << (*this)[i];
00075 #endif
00076 }
00077 }
00078
00083 istream& operator>>(const istream& _istr, const dvector& _z)
00084 {
00085 dvector& z = (dvector&)_z;
00086 istream& istr= (istream&) _istr;
00087 z.read_from(istr);
00088
00089 return istr;
00090 }
00091
00096 void dvector::read_from(const istream& _s)
00097 {
00098 istream& s= (istream&) _s;
00099 for (int i=indexmin(); i <= indexmax(); i++)
00100 {
00101 s >> elem(i);
00102 }
00103 }
00104
00105