From 6f9ef5a32cd5f46be5ac65dab5cc39b4257ae544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Tue, 1 Feb 2011 12:40:05 +0100 Subject: [PATCH] Added output operator for easy dumping of tables. --- dune/porsol/common/UniformTableLinear.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dune/porsol/common/UniformTableLinear.hpp b/dune/porsol/common/UniformTableLinear.hpp index 644ad762..cf3bef25 100644 --- a/dune/porsol/common/UniformTableLinear.hpp +++ b/dune/porsol/common/UniformTableLinear.hpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -101,6 +102,8 @@ namespace Dune { std::vector y_values_; RangePolicy left_; RangePolicy right_; + template + friend std::ostream& operator<<(std::ostream& os, const UniformTableLinear& t); }; @@ -238,6 +241,19 @@ namespace Dune { right_ = rp; } + + template + inline std::ostream& operator<<(std::ostream& os, const UniformTableLinear& t) + { + int n = t.y_values_.size(); + for (int i = 0; i < n; ++i) { + double f = double(i)/double(n - 1); + os << (1.0 - f)*t.xmin_ + f*t.xmax_ + << " " << t.y_values_[i] << '\n'; + } + return os; + } + } // namespace utils } // namespace Dune