aboutsummaryrefslogtreecommitdiff
path: root/academic/Kst/Kst_gsl2.patch
blob: 1a7db24321bdfb6247138fd91f3ada8b0176a966 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
diff -u -r Kst-2.0.8/src/plugins/fits/non_linear.h Kst-2.0.8-patched/src/plugins/fits/non_linear.h
--- Kst-2.0.8/src/plugins/fits/non_linear.h	2014-02-13 09:41:44.000000000 +0000
+++ Kst-2.0.8-patched/src/plugins/fits/non_linear.h	2015-11-18 22:28:40.761417846 +0000
@@ -18,6 +18,7 @@
 #include <gsl/gsl_blas.h>
 #include <gsl/gsl_multifit_nlin.h>
 #include <gsl/gsl_statistics.h>
+#include <gsl/gsl_version.h>
 #include "common.h"
 
 struct data {
@@ -177,7 +178,15 @@
             }
             iIterations++;
           } while( iStatus == GSL_CONTINUE && iIterations < MAX_NUM_ITERATIONS );
+
+#if GSL_MAJOR_VERSION >=2
+          gsl_matrix *J=gsl_matrix_alloc(pSolver->fdf->n, pSolver->fdf->p);
+          gsl_multifit_fdfsolver_jac (pSolver, J);
+          gsl_multifit_covar( J, 0.0, pMatrixCovariance );
+          gsl_matrix_free(J);
+#else
           gsl_multifit_covar( pSolver->J, 0.0, pMatrixCovariance );
+#endif
 
           //
           // determine the fitted values...
diff -u -r Kst-2.0.8/src/plugins/fits/non_linear_weighted.h Kst-2.0.8-patched/src/plugins/fits/non_linear_weighted.h
--- Kst-2.0.8/src/plugins/fits/non_linear_weighted.h	2014-02-13 09:41:44.000000000 +0000
+++ Kst-2.0.8-patched/src/plugins/fits/non_linear_weighted.h	2015-11-18 22:28:44.004399807 +0000
@@ -18,6 +18,7 @@
 #include <gsl/gsl_blas.h>
 #include <gsl/gsl_multifit_nlin.h>
 #include <gsl/gsl_statistics.h>
+#include <gsl/gsl_version.h>
 #include "common.h"
 
 struct data {
@@ -193,7 +194,14 @@
           }
           while( iStatus == GSL_CONTINUE && iIterations < MAX_NUM_ITERATIONS );
 
+#if GSL_MAJOR_VERSION >=2
+          gsl_matrix *J=gsl_matrix_alloc(pSolver->fdf->n, pSolver->fdf->p);
+          gsl_multifit_fdfsolver_jac (pSolver, J);
+          gsl_multifit_covar( J, 0.0, pMatrixCovariance );
+          gsl_matrix_free(J);
+#else
           gsl_multifit_covar( pSolver->J, 0.0, pMatrixCovariance );
+#endif
 
           //
           // determine the fitted values...