Output all field values for subsamples

This commit is contained in:
Kari B. Skjerve committed 2011-11-23 15:28:07 +01:00
1 parent e5e18a8b76
commit fc992da21f
1 file changed
+37 -18
+37 -18
View File
@@ -335,32 +335,51 @@ namespace Dune
const std::string& keyword) const std::string& keyword)
{ {
if (field.empty()) return; if (field.empty()) return;
os << keyword << '\n'; os << keyword << '\n';
int sz = field.size(); int sz = field.size();
T last = std::numeric_limits<T>::max(); //int num_new_zcorn = new_ZCORN_.size();
int repeats = 0; assert(sz%20 == 0);
for (int i = 0; i < sz; ++i) { int num_full_rows=sz/20;
T val = field[i]; int num_extra_entries=sz-num_full_rows*20;
if (val == last) { for (int i = 0; i < num_full_rows; ++i) {
++repeats; for (int j = 0; j < 20; ++j) {
} else { os << " " << field[8*i + j];
if (repeats == 1) {
os << last << '\n';
} else if (repeats > 1) {
os << repeats << '*' << last << '\n';
}
last = val;
repeats = 1;
} }
os << '\n';
} }
if (repeats == 1) { for (int i = 0; i < num_extra_entries; ++i) {
os << last << '\n'; os << " " << field[num_full_rows*20+i];
} else if (repeats > 1) {
os << repeats << '*' << last << '\n';
} }
os << "/\n\n"; os << "/\n\n";
} }
// os << keyword << '\n';
// int sz = field.size();
// T last = std::numeric_limits<T>::max();
// int repeats = 0;
// for (int i = 0; i < sz; ++i) {
// T val = field[i];
// if (val == last) {
// ++repeats;
// } else {
// if (repeats == 1) {
// os << last << '\n';
// } else if (repeats > 1) {
// os << repeats << '*' << last << '\n';
// }
// last = val;
// repeats = 1;
// }
// }
// if (repeats == 1) {
// os << last << '\n';
// } else if (repeats > 1) {
// os << repeats << '*' << last << '\n';
// }
// os << "/\n\n";
// }
template <typename T> template <typename T>
void filterField(const std::vector<T>& field, void filterField(const std::vector<T>& field,