1#ifndef TRIQS_NEVANLINNA_KERNEL_HPP
2#define TRIQS_NEVANLINNA_KERNEL_HPP
6#include "Nevanlinna_error.hpp"
9namespace triqs_Nevanlinna {
12 virtual ~kernel() =
default;
13 kernel([[maybe_unused]]
int precision = mp_digits) {
15 boost::multiprecision::mpfr_float::default_precision(precision);
17 std::cerr <<
"Precision cannot be selected for boost multiprecision implementation. To set precision rebuild code with MPFR library support."
23 kernel(kernel
const &) =
default;
24 kernel(kernel &&) =
default;
27 kernel &operator=(kernel
const &) =
default;
28 kernel &operator=(kernel &&) =
default;
30 virtual void init(nda::vector_const_view<std::complex<double>> , nda::array_const_view<std::complex<double>, 3> ) {
31 throw Nevanlinna_error(
"This method is not implemented in the base class.");
33 [[nodiscard]]
virtual nda::array<std::complex<double>, 3> evaluate(nda::vector_const_view<std::complex<double>> ) {
34 throw Nevanlinna_error(
"This method is not implemented in the base class.");
36 [[nodiscard]]
virtual nda::array<std::complex<double>, 3> evaluate(nda::vector_const_view<std::complex<double>> ,
37 nda::array_const_view<std::complex<double>, 3> ) {
38 throw Nevanlinna_error(
"This method is not implemented in the base class.");
41 [[nodiscard]]
virtual size_t size()
const {
return 0; };
42 [[nodiscard]]
virtual nda::vector<double> get_Pick_eigenvalues()
const {
43 throw Nevanlinna_error(
"This method is not implemented in the base class.");