00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "SundanceOut.hpp"
00032 #include "PlayaTabs.hpp"
00033 #include "Teuchos_Array.hpp"
00034
00035 using namespace Sundance;
00036 using namespace Teuchos;
00037 using namespace std;
00038
00039
00040 namespace Sundance
00041 {
00042
00043 void writeTable(std::ostream& os, const Tabs& tab,
00044 const Array<double>& a, int cols)
00045 {
00046 int rows = a.size() / cols;
00047
00048 for (int i=0; i<rows; i++)
00049 {
00050 os << tab << setw(10) << i << ":";
00051 for (int j=0; j<cols; j++)
00052 os << setw(12) << setprecision(6) << a[i*cols+j];
00053 os << std::endl;
00054 }
00055 int n = a.size() - rows * cols;
00056 if (n==0) return ;
00057 os << tab << setw(10) << rows << ":" ;
00058 for (int j=0; j<n; j++)
00059 os << setw(12) << setprecision(6) << a[rows*cols+j];
00060 os << std::endl;
00061 }
00062
00063
00064 void writeTable(std::ostream& os, const Tabs& tab,
00065 const Array<int>& a, int cols)
00066 {
00067 int rows = a.size() / cols;
00068
00069 for (int i=0; i<rows; i++)
00070 {
00071 os << tab << setw(10) << i << ":";
00072 for (int j=0; j<cols; j++)
00073 os << setw(10) << a[i*cols+j];
00074 os << std::endl;
00075 }
00076 int n = a.size() - rows * cols;
00077 if (n==0) return ;
00078 os << tab << setw(10) << rows << ":" ;
00079 for (int j=0; j<n; j++)
00080 os << setw(10) << a[rows*cols+j];
00081 os << std::endl;
00082 }
00083
00084
00085 }
00086
00087
00088
00089
00090
00091
00092