Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports-gnome
Path: blob/main/biology/gcta/files/patch-mkl.cpp
16146 views
1
--- mkl.cpp.orig 2020-04-15 00:54:40 UTC
2
+++ mkl.cpp
3
@@ -357,7 +357,7 @@ bool gcta::comput_inverse_logdet_LDLT_mkl(eigenMatrix
4
// MKL's Cholesky decomposition
5
int info = 0, int_n = (int) n;
6
char uplo = 'L';
7
- dpotrf(&uplo, &int_n, Vi_mkl, &int_n, &info);
8
+ dpotrf_(&uplo, &int_n, Vi_mkl, &int_n, &info);
9
//spotrf( &uplo, &n, Vi_mkl, &n, &info );
10
if (info < 0) throw ("Error: Cholesky decomposition failed. Invalid values found in the matrix.\n");
11
else if (info > 0) return false;
12
@@ -369,7 +369,7 @@ bool gcta::comput_inverse_logdet_LDLT_mkl(eigenMatrix
13
}
14
15
// Calcualte V inverse
16
- dpotri(&uplo, &int_n, Vi_mkl, &int_n, &info);
17
+ dpotri_(&uplo, &int_n, Vi_mkl, &int_n, &info);
18
//spotri( &uplo, &n, Vi_mkl, &n, &info );
19
if (info < 0) throw ("Error: invalid values found in the varaince-covaraince (V) matrix.\n");
20
else if (info > 0) return false;
21
@@ -405,7 +405,7 @@ bool gcta::comput_inverse_logdet_LU_mkl(eigenMatrix &V
22
int LWORK = N*N;
23
double *WORK = new double[n * n];
24
int INFO;
25
- dgetrf(&N, &N, Vi_mkl, &N, IPIV, &INFO);
26
+ dgetrf_(&N, &N, Vi_mkl, &N, IPIV, &INFO);
27
if (INFO < 0) throw ("Error: LU decomposition failed. Invalid values found in the matrix.\n");
28
else if (INFO > 0) {
29
delete[] Vi_mkl;
30
@@ -418,7 +418,7 @@ bool gcta::comput_inverse_logdet_LU_mkl(eigenMatrix &V
31
}
32
33
// Calcualte V inverse
34
- dgetri(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
35
+ dgetri_(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
36
if (INFO < 0) throw ("Error: invalid values found in the varaince-covaraince (V) matrix.\n");
37
else if (INFO > 0) return false;
38
else {
39
@@ -453,7 +453,7 @@ bool gcta::comput_inverse_logdet_LU_mkl_array(int n, f
40
int LWORK = N*N;
41
double *WORK = new double[n * n];
42
int INFO;
43
- dgetrf(&N, &N, Vi_mkl, &N, IPIV, &INFO);
44
+ dgetrf_(&N, &N, Vi_mkl, &N, IPIV, &INFO);
45
if (INFO < 0) throw ("Error: LU decomposition failed. Invalid values found in the matrix.\n");
46
else if (INFO > 0) {
47
delete[] Vi_mkl;
48
@@ -467,7 +467,7 @@ bool gcta::comput_inverse_logdet_LU_mkl_array(int n, f
49
}
50
51
// Calcualte V inverse
52
- dgetri(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
53
+ dgetri_(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
54
if (INFO < 0) throw ("Error: invalid values found in the varaince-covaraince (V) matrix.\n");
55
else if (INFO > 0) return (false); // Vi.diagonal()=Vi.diagonal().array()+Vi.diagonal().mean()*1e-3;
56
else {
57
58