Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #define WANT_FSTREAM
00007
00008 #include "include.h"
00009
00010 #include "newmat.h"
00011 #include "newmatio.h"
00012 #include "newmatrc.h"
00013
00014 #ifdef use_namespace
00015 namespace NEWMAT {
00016 #endif
00017
00018
00019
00020 #ifdef DO_REPORT
00021 #define REPORT { static ExeCounter ExeCount(__LINE__,9); ++ExeCount; }
00022 #else
00023 #define REPORT {}
00024 #endif
00025
00026
00027 #ifndef ios_format_flags
00028 #define ios_format_flags long
00029 #endif
00030
00031 ostream& operator<<(ostream& s, const BaseMatrix& X)
00032 {
00033 GeneralMatrix* gm = ((BaseMatrix&)X).Evaluate(); operator<<(s, *gm);
00034 gm->tDelete(); return s;
00035 }
00036
00037
00038 ostream& operator<<(ostream& s, const GeneralMatrix& X)
00039 {
00040 MatrixRow mr((GeneralMatrix*)&X, LoadOnEntry);
00041 int w = s.width(); int nr = X.Nrows(); ios_format_flags f = s.flags();
00042 s.setf(ios::fixed, ios::floatfield);
00043 for (int i=1; i<=nr; i++)
00044 {
00045 int skip = mr.skip; int storage = mr.storage;
00046 Real* store = mr.data; skip *= w+1;
00047 while (skip--) s << " ";
00048 while (storage--) { s.width(w); s << *store++ << " "; }
00049
00050 mr.Next(); s << "\n";
00051 }
00052 s << flush; s.flags(f); return s;
00053 }
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 #ifdef use_namespace
00073 }
00074 #endif
00075
00076