Skip to content
Snippets Groups Projects
Commit 0399df5e authored by Tobias Leibner's avatar Tobias Leibner
Browse files

[lapacke] add dgemv and dpocon

parent 84d7fed4
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,7 @@ status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master) ...@@ -4,7 +4,7 @@ status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master)
20a673b9dad7e2e25bd97defa8849debb59d247c config.opts (heads/master) 20a673b9dad7e2e25bd97defa8849debb59d247c config.opts (heads/master)
8f2c5aba441417bf2c42f22272f538c68a89cc4a dune-alugrid (remotes/origin/releases/2.5) 8f2c5aba441417bf2c42f22272f538c68a89cc4a dune-alugrid (remotes/origin/releases/2.5)
707acf201d5a754c80f87cc4d71aa36bf29a6e3f dune-common (v2.5.1-9-g707acf20) 707acf201d5a754c80f87cc4d71aa36bf29a6e3f dune-common (v2.5.1-9-g707acf20)
+b970966098de3d96005a3a09cdfd3ca8c5874d26 dune-gdt (heads/entropy_flux_even_newer) +c1f9f25118b181f91704112ea6109d4a1497aaa6 dune-gdt (heads/entropy_flux_even_newer)
390a2c503783bbed778a8ff610f8c5ca09c238d0 dune-geometry (v2.5.1-5-g390a2c5) 390a2c503783bbed778a8ff610f8c5ca09c238d0 dune-geometry (v2.5.1-5-g390a2c5)
d7b20bbc5f6fdcfc312beb0ea5d16d39ea26904e dune-grid (v2.5.1-2-gd7b20bbc5) d7b20bbc5f6fdcfc312beb0ea5d16d39ea26904e dune-grid (v2.5.1-2-gd7b20bbc5)
9e29a333e8af02382d80b95335a784d5ce1ea2c8 dune-grid-glue (v2.4.0-70-g9e29a33) 9e29a333e8af02382d80b95335a784d5ce1ea2c8 dune-grid-glue (v2.4.0-70-g9e29a33)
...@@ -14,11 +14,11 @@ status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master) ...@@ -14,11 +14,11 @@ status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master)
741e4f8e53bdd3e1b6e19d84eb22b6e3dc48526c dune-python (remotes/origin/releases/2.5) 741e4f8e53bdd3e1b6e19d84eb22b6e3dc48526c dune-python (remotes/origin/releases/2.5)
26cc8cb4161a3a51002ab2a81b8c81d2c951ee79 dune-testtools (remotes/origin/p/renemilk/testname_listing_hack_no-skiptest) 26cc8cb4161a3a51002ab2a81b8c81d2c951ee79 dune-testtools (remotes/origin/p/renemilk/testname_listing_hack_no-skiptest)
0a74e7dd0b2115778a5d490dab08a2ed07fcaa1e dune-uggrid (v2.5.2) 0a74e7dd0b2115778a5d490dab08a2ed07fcaa1e dune-uggrid (v2.5.2)
aa99fc15ae0bc467e0f0df0e48721ab66a9bb74a dune-xt-common (heads/dailywork_tleibner) +84d7fed4cae2675c20a76a0e308045d85ffcc631 dune-xt-common (heads/dailywork_tleibner)
f93419066883a68c4e0ba96acc3d451ba971876a dune-xt-data (heads/dailywork_tleibner) f93419066883a68c4e0ba96acc3d451ba971876a dune-xt-data (heads/dailywork_tleibner)
83b29cbe84d0af6579d6904f59598ad3dd132996 dune-xt-functions (heads/dailywork_tleibner) 83b29cbe84d0af6579d6904f59598ad3dd132996 dune-xt-functions (heads/dailywork_tleibner)
9432a18b5de2931e06bf1b4eeefa8de1d1820c0f dune-xt-grid (heads/dailywork_tleibner) 9432a18b5de2931e06bf1b4eeefa8de1d1820c0f dune-xt-grid (heads/dailywork_tleibner)
+c1565897fdd8e0ed37487b43511518c2d29acb51 dune-xt-la (heads/remove_cow) +515a28bd420834d4aee74a0301100adb873d80b9 dune-xt-la (heads/remove_cow)
09d0378f616b94d68bcdd9fc6114813181849ec0 scripts (heads/master) 09d0378f616b94d68bcdd9fc6114813181849ec0 scripts (heads/master)
commit = 2967bdedc638aa2ba19ebfcaf4dd5735758aeba0 commit = 2967bdedc638aa2ba19ebfcaf4dd5735758aeba0
...@@ -45,7 +45,7 @@ commit = 707acf201d5a754c80f87cc4d71aa36bf29a6e3f ...@@ -45,7 +45,7 @@ commit = 707acf201d5a754c80f87cc4d71aa36bf29a6e3f
[submodule.dune-gdt] [submodule.dune-gdt]
remote = git@github.com:dune-community/dune-gdt.git remote = git@github.com:dune-community/dune-gdt.git
status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master) status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master)
commit = b970966098de3d96005a3a09cdfd3ca8c5874d26 commit = c1f9f25118b181f91704112ea6109d4a1497aaa6
[submodule.dune-geometry] [submodule.dune-geometry]
remote = git@github.com:dune-community/dune-geometry.git remote = git@github.com:dune-community/dune-geometry.git
...@@ -95,7 +95,7 @@ commit = 0a74e7dd0b2115778a5d490dab08a2ed07fcaa1e ...@@ -95,7 +95,7 @@ commit = 0a74e7dd0b2115778a5d490dab08a2ed07fcaa1e
[submodule.dune-xt-common] [submodule.dune-xt-common]
remote = git@github.com:dune-community/dune-xt-common.git remote = git@github.com:dune-community/dune-xt-common.git
status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master) status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master)
commit = aa99fc15ae0bc467e0f0df0e48721ab66a9bb74a commit = 84d7fed4cae2675c20a76a0e308045d85ffcc631
[submodule.dune-xt-data] [submodule.dune-xt-data]
remote = git@github.com:dune-community/dune-xt-data remote = git@github.com:dune-community/dune-xt-data
...@@ -115,7 +115,7 @@ commit = 9432a18b5de2931e06bf1b4eeefa8de1d1820c0f ...@@ -115,7 +115,7 @@ commit = 9432a18b5de2931e06bf1b4eeefa8de1d1820c0f
[submodule.dune-xt-la] [submodule.dune-xt-la]
remote = git@github.com:dune-community/dune-xt-la.git remote = git@github.com:dune-community/dune-xt-la.git
status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master) status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master)
commit = c1565897fdd8e0ed37487b43511518c2d29acb51 commit = 515a28bd420834d4aee74a0301100adb873d80b9
[submodule.scripts] [submodule.scripts]
remote = https://github.com/wwu-numerik/scripts.git remote = https://github.com/wwu-numerik/scripts.git
......
...@@ -425,6 +425,23 @@ int dptcon(int DXTC_LAPACKE_ONLY(n), ...@@ -425,6 +425,23 @@ int dptcon(int DXTC_LAPACKE_ONLY(n),
} }
int dpocon(int DXTC_LAPACKE_ONLY(matrix_layout),
char DXTC_LAPACKE_ONLY(uplo),
int DXTC_LAPACKE_ONLY(n),
const double* DXTC_LAPACKE_ONLY(a),
int DXTC_LAPACKE_ONLY(lda),
double DXTC_LAPACKE_ONLY(anorm),
double* DXTC_LAPACKE_ONLY(rcond))
{
#if HAVE_MKL || HAVE_LAPACKE
return LAPACKE_dpocon(matrix_layout, uplo, n, a, lda, anorm, rcond);
#else
DUNE_THROW(Exceptions::dependency_missing, "You are missing lapacke or the intel mkl, check available() first!");
return 1;
#endif
}
int dpttrf(int DXTC_LAPACKE_ONLY(n), double* DXTC_LAPACKE_ONLY(d), double* DXTC_LAPACKE_ONLY(e)) int dpttrf(int DXTC_LAPACKE_ONLY(n), double* DXTC_LAPACKE_ONLY(d), double* DXTC_LAPACKE_ONLY(e))
{ {
#if HAVE_MKL || HAVE_LAPACKE #if HAVE_MKL || HAVE_LAPACKE
...@@ -635,6 +652,38 @@ int non_unit() ...@@ -635,6 +652,38 @@ int non_unit()
} }
void dgemv(const int DXTC_CBLAS_ONLY(layout),
const int DXTC_CBLAS_ONLY(trans),
const int DXTC_CBLAS_ONLY(m),
const int DXTC_CBLAS_ONLY(n),
const double DXTC_CBLAS_ONLY(alpha),
const double* DXTC_CBLAS_ONLY(a),
const int DXTC_CBLAS_ONLY(lda),
const double* DXTC_CBLAS_ONLY(x),
const int DXTC_CBLAS_ONLY(incx),
const double DXTC_CBLAS_ONLY(beta),
double* DXTC_CBLAS_ONLY(y),
const int DXTC_CBLAS_ONLY(incy))
{
#if HAVE_MKL || HAVE_CBLAS
cblas_dgemv(static_cast<CBLAS_LAYOUT>(layout),
static_cast<CBLAS_TRANSPOSE>(trans),
m,
n,
alpha,
a,
lda,
x,
incx,
beta,
y,
incy);
#else
DUNE_THROW(Exceptions::dependency_missing, "You are missing CBLAS or the intel mkl, check available() first!");
#endif
}
void dtrsm(const int DXTC_CBLAS_ONLY(layout), void dtrsm(const int DXTC_CBLAS_ONLY(layout),
const int DXTC_CBLAS_ONLY(side), const int DXTC_CBLAS_ONLY(side),
const int DXTC_CBLAS_ONLY(uplo), const int DXTC_CBLAS_ONLY(uplo),
......
...@@ -143,7 +143,6 @@ int dgeevx_work(int matrix_layout, ...@@ -143,7 +143,6 @@ int dgeevx_work(int matrix_layout,
int lwork, int lwork,
int* iwork); int* iwork);
/** /**
* \brief Wrapper around LAPACKE_dgeqp3 * \brief Wrapper around LAPACKE_dgeqp3
* \sa LAPACKE_dgeqp3 * \sa LAPACKE_dgeqp3
...@@ -242,6 +241,13 @@ int dpotrf_work(int matrix_layout, char uplo, int n, double* a, int lda); ...@@ -242,6 +241,13 @@ int dpotrf_work(int matrix_layout, char uplo, int n, double* a, int lda);
int dptcon(int n, const double* d, const double* e, double anorm, double* rcond); int dptcon(int n, const double* d, const double* e, double anorm, double* rcond);
/**
* \brief Wrapper around LAPACKE_dptcon
* \sa LAPACKE_dpocon
*/
int dpocon(int matrix_layout, char uplo, int n, const double* a, int lda, double anorm, double* rcond);
/** /**
* \brief Wrapper around LAPACKE_dpttrf * \brief Wrapper around LAPACKE_dpttrf
* \sa LAPACKE_dpttrf * \sa LAPACKE_dpttrf
...@@ -367,6 +373,24 @@ int unit(); ...@@ -367,6 +373,24 @@ int unit();
int non_unit(); int non_unit();
/**
* \brief Wrapper around cblas_dgemv
* \sa cblas_dgemv
*/
void dgemv(const int layout,
const int trans,
const int m,
const int n,
const double alpha,
const double* a,
const int lda,
const double* x,
const int incx,
const double beta,
double* y,
const int incy);
/** /**
* \brief Wrapper around cblas_dtrsm * \brief Wrapper around cblas_dtrsm
* \sa cblas_dtrsm * \sa cblas_dtrsm
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment