From 95c06094a320b3e3e857aac35a8316fe280d6b21 Mon Sep 17 00:00:00 2001
From: Felix Schindler <felix.schindler@wwu.de>
Date: Wed, 29 Nov 2017 12:21:48 +0100
Subject: [PATCH] [algorithms...] use Lapacke:: wrapper from dune-xt-common

---
 .../la/algorithms/solve_sym_tridiag_posdef.cc | 23 ++++---------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/dune/xt/la/algorithms/solve_sym_tridiag_posdef.cc b/dune/xt/la/algorithms/solve_sym_tridiag_posdef.cc
index b96cdc2fc..08d19d6f4 100644
--- a/dune/xt/la/algorithms/solve_sym_tridiag_posdef.cc
+++ b/dune/xt/la/algorithms/solve_sym_tridiag_posdef.cc
@@ -46,12 +46,10 @@ void prepare_sym_tridiag_posdef(
 } // void prepare_sym_triadiag_posdef(...)
 
 
-#if HAVE_LAPACKE
-
 double solve_sym_tridiag_posdef(
     size_t dimRange, double* diagonal_elements, double* sub_diagonal_elements, double anorm, double* b)
 {
-  auto info = LAPACKE_dpttrf(dimRange, diagonal_elements, sub_diagonal_elements);
+  auto info = Common::Lapacke::dpttrf(dimRange, diagonal_elements, sub_diagonal_elements);
   if (info) {
     std::cout << "factorization failed" << std::endl;
     DUNE_THROW(Dune::MathError, "factorization failed");
@@ -59,7 +57,7 @@ double solve_sym_tridiag_posdef(
 
   // estimate condition of H_k
   double inverse_condition;
-  info = LAPACKE_dptcon(dimRange, diagonal_elements, sub_diagonal_elements, anorm, &inverse_condition);
+  info = Common::Lapacke::dptcon(dimRange, diagonal_elements, sub_diagonal_elements, anorm, &inverse_condition);
   if (info)
     DUNE_THROW(Dune::MathError, "condition estimation failed");
   if (inverse_condition < 1e-20) {
@@ -68,7 +66,8 @@ double solve_sym_tridiag_posdef(
   }
 
   // solve system
-  info = LAPACKE_dpttrs(LAPACK_ROW_MAJOR, dimRange, 1, diagonal_elements, sub_diagonal_elements, b, 1);
+  info = Common::Lapacke::dpttrs(
+      Common::Lapacke::row_major(), dimRange, 1, diagonal_elements, sub_diagonal_elements, b, 1);
   if (info) {
     std::cout << "solving system failed" << std::endl;
     DUNE_THROW(Dune::MathError, "solving system failed");
@@ -76,20 +75,6 @@ double solve_sym_tridiag_posdef(
   return inverse_condition;
 }
 
-#else // HAVE_LAPACKE
-
-double solve_sym_tridiag_posdef(size_t /*dimRange*/,
-                                double* /*diagonal_elements*/,
-                                double* /*sub_diagonal_elements*/,
-                                double /*anorm*/,
-                                double* /*d_k*/)
-{
-  DUNE_THROW(Dune::NotImplemented, "This function requires LAPACKE which has not been found on your system.");
-  return 1.;
-}
-
-#endif // HAVE_LAPACKE
-
 
 } // namespace LA
 } // namespace GDT
-- 
GitLab