diff --git a/dune/xt/common/math.hh b/dune/xt/common/math.hh index f90dcd8830c6d36f29ff46355b27d32564d1e268..452253cad60787eb3f55366fb1d6f3287a60782f 100644 --- a/dune/xt/common/math.hh +++ b/dune/xt/common/math.hh @@ -320,6 +320,45 @@ public: } // namespace Common } // namespace XT + +template <int k> +Dune::bigunsignedint<k> abs(const Dune::bigunsignedint<k>& value) +{ + return value; +} + +template <int k> +inline Dune::bigunsignedint<k> pow(Dune::bigunsignedint<k> value, std::uintmax_t n) +{ + DUNE_THROW(Dune::NotImplemented, "pow not implemented for bigunisgnedint"); + return Dune::bigunsignedint<k>(); +} + +template <int k> +inline Dune::bigunsignedint<k> sqrt(Dune::bigunsignedint<k> value) +{ + DUNE_THROW(Dune::NotImplemented, "sqrt not implemented for bigunisgnedint"); + return Dune::bigunsignedint<k>(std::sqrt(value.todouble())); +} + +template <int k> +inline Dune::bigunsignedint<k> conj(Dune::bigunsignedint<k> value) +{ + return value; +} + +template <int k> +inline bool isnan(Dune::bigunsignedint<k> /*value*/) +{ + return false; +} + +template <int k> +inline bool isinf(Dune::bigunsignedint<k> /*value*/) +{ + return false; +} + } // namespace Dune