aboutsummaryrefslogtreecommitdiffstats
path: root/libprakpp/include/prakcommon.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libprakpp/include/prakcommon.hpp')
-rw-r--r--libprakpp/include/prakcommon.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/libprakpp/include/prakcommon.hpp b/libprakpp/include/prakcommon.hpp
index 45030d0..3035ff8 100644
--- a/libprakpp/include/prakcommon.hpp
+++ b/libprakpp/include/prakcommon.hpp
@@ -23,7 +23,6 @@ typedef long double f128;
#else
typedef long double _f64;
#endif
-
#if defined(_MSC_VER) || !defined(__cpp_multidimensional_subscript) || __cplusplus < 202110L
#warning "can not use multidimentional subscript operator: falling back to `operator()`"
#undef MDSUBSCRIPT
@@ -109,6 +108,11 @@ template <typename T>
struct pvalue { T val, err; };
template <typename T>
+struct pvalue<T> operator*(const struct pvalue<T> &v, T a) {
+ return pvalue<T>{v.val * a, v.err * a};
+}
+
+template <typename T>
std::ostream &operator<<(std::ostream &os, const struct pvalue<T> &p) {
/* return os << "value {" << p.val << "±" << p.err << "}"; */
return os << p.val << "±" << p.err;