diff options
author | Pjotr Prins | 2018-08-25 10:18:41 +0000 |
---|---|---|
committer | Pjotr Prins | 2018-08-25 10:18:41 +0000 |
commit | a24297bb1cb686d3630db3a0da8fa8a2079ad178 (patch) | |
tree | 53fb715e2b76f3a761eae06a962a2355b2c62b87 | |
parent | 4d1a44cb90affbe9c73a27767bae4a4b69c72402 (diff) | |
download | pangemma-a24297bb1cb686d3630db3a0da8fa8a2079ad178.tar.gz |
Added remarks
-rw-r--r-- | src/gemma.cpp | 4 | ||||
-rw-r--r-- | src/lapack.cpp | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/gemma.cpp b/src/gemma.cpp index 78633e8..6c04c8d 100644 --- a/src/gemma.cpp +++ b/src/gemma.cpp @@ -2763,7 +2763,7 @@ void GEMMA::BatchRun(PARAM &cPar) { LMM cLmm; cLmm.CopyFromParam(cPar); - if (is_check_mode()) disable_segfpe(); // disable fast NaN checking for now + // if (is_check_mode()) disable_segfpe(); // disable fast NaN checking for now gsl_vector_view Y_col = gsl_matrix_column(Y, 0); gsl_vector_view UtY_col = gsl_matrix_column(UtY, 0); @@ -2796,7 +2796,7 @@ void GEMMA::BatchRun(PARAM &cPar) { MVLMM cMvlmm; cMvlmm.CopyFromParam(cPar); - if (is_check_mode()) disable_segfpe(); // disable fast NaN checking + // if (is_check_mode()) disable_segfpe(); // disable fast NaN checking if (!cPar.file_bfile.empty()) { if (cPar.file_gxe.empty()) { diff --git a/src/lapack.cpp b/src/lapack.cpp index b309a1b..0fc2de4 100644 --- a/src/lapack.cpp +++ b/src/lapack.cpp @@ -193,7 +193,9 @@ void lapack_eigen_symmv(gsl_matrix *A, gsl_vector *eval, gsl_matrix *evec, double WORK_temp[1]; int IWORK_temp[1]; - if (is_check_mode()) disable_segfpe(); // disable fast NaN checking for now + // disable fast NaN checking for now - dsyevr throws NaN errors, + // but fixes them (apparently) + if (is_check_mode()) disable_segfpe(); // DSYEVR - computes selected eigenvalues and, optionally, // eigenvectors of a real symmetric matrix @@ -208,8 +210,8 @@ void lapack_eigen_symmv(gsl_matrix *A, gsl_vector *eval, gsl_matrix *evec, if (INFO != 0) cerr << "ERROR: value of INFO is " << INFO; enforce_msg(INFO == 0, "lapack_eigen_symmv failed"); - LWORK = (int)WORK_temp[0]; - LIWORK = (int)IWORK_temp[0]; + LWORK = (int)WORK_temp[0]; // The dimension of the array work. + LIWORK = (int)IWORK_temp[0]; // The dimension of the array iwork, lwork≥ max(1, 10n). double *WORK = new double[LWORK]; int *IWORK = new int[LIWORK]; |