about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-rw-r--r--src/mathfunc.cpp8
-rw-r--r--src/mvlmm.cpp1
3 files changed, 8 insertions, 3 deletions
diff --git a/.travis.yml b/.travis.yml
index 2d2cbc6..b5fc7cd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -41,7 +41,7 @@ script:
   - eval "${MATRIX_EVAL}"
   - $CXX --version
   # build and test debug version
-  - make CXX=$CXX EIGEN_INCLUDE_PATH=$EIGEN_INCLUDE_PATH WITH_OPENBLAS=1 OPENBLAS_LEGACY=1 -j 4
+  - make CXX=$CXX EIGEN_INCLUDE_PATH=$EIGEN_INCLUDE_PATH WITH_OPENBLAS=1 OPENBLAS_LEGACY=1 -j 4 -k
   - time make CXX=$CXX WITH_OPENBLAS=1 EIGEN_INCLUDE_PATH=$EIGEN_INCLUDE_PATH WITH_OPENBLAS=1 OPENBLAS_LEGACY=1  check
   # - make clean
   # build and test release version (integration test mostly)
diff --git a/src/mathfunc.cpp b/src/mathfunc.cpp
index 644b3e8..2cce43f 100644
--- a/src/mathfunc.cpp
+++ b/src/mathfunc.cpp
@@ -264,8 +264,12 @@ bool isMatrixPositiveDefinite(const gsl_matrix *G) {
   auto s = gsl_linalg_cholesky_decomp(G2);
 #endif
   gsl_set_error_handler(handler);
-  gsl_matrix_safe_free(G2);
-  return (s == GSL_SUCCESS);
+  if (s == GSL_SUCCESS) {
+    gsl_matrix_safe_free(G2);
+    return true;
+  }
+  gsl_matrix_free(G2);
+  return (false);
 }
 
 gsl_vector *getEigenValues(const gsl_matrix *G) {
diff --git a/src/mvlmm.cpp b/src/mvlmm.cpp
index 95a59d7..eee562d 100644
--- a/src/mvlmm.cpp
+++ b/src/mvlmm.cpp
@@ -29,6 +29,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "gsl/gsl_blas.h"
 #include "gsl/gsl_cdf.h"
 #include "gsl/gsl_linalg.h"
 #include "gsl/gsl_matrix.h"