diff options
author | siddhu8990 | 2017-02-02 16:02:41 +0530 |
---|---|---|
committer | siddhu8990 | 2017-02-02 16:02:41 +0530 |
commit | 765d9c44f94634406eeff50e20e8cdfcf1b7699c (patch) | |
tree | 25feaba0f050fc3295b7dbfb3c5b6134c920508a /src/c/differential_calculus | |
parent | a9bdd75eb989bc302ba98e3b6cb329fceaeb385e (diff) | |
download | scilab2c-765d9c44f94634406eeff50e20e8cdfcf1b7699c.tar.gz scilab2c-765d9c44f94634406eeff50e20e8cdfcf1b7699c.tar.bz2 scilab2c-765d9c44f94634406eeff50e20e8cdfcf1b7699c.zip |
Support for function 'schur' added
q
Diffstat (limited to 'src/c/differential_calculus')
-rw-r--r-- | src/c/differential_calculus/includes/ode.h | 4 | ||||
-rw-r--r-- | src/c/differential_calculus/interfaces/int_ode.h | 14 | ||||
-rw-r--r-- | src/c/differential_calculus/ode/dodea.c | 2 | ||||
-rw-r--r-- | src/c/differential_calculus/ode/dodes.c | 3 |
4 files changed, 19 insertions, 4 deletions
diff --git a/src/c/differential_calculus/includes/ode.h b/src/c/differential_calculus/includes/ode.h index 79962434..7e110031 100644 --- a/src/c/differential_calculus/includes/ode.h +++ b/src/c/differential_calculus/includes/ode.h @@ -14,11 +14,11 @@ #define __ODE_H__ double dodes(double initial_value, double start_time, double end_time, \ - int (*ode_function), char *solver_type, double nequs, double eps_abs, double eps_rel, \ + int (*ode_function)(double, double*, double*, int*), char *solver_type, double nequs, double eps_abs, double eps_rel, \ double step_size, int *params); void dodea(double *initial_value, double start_time, double end_time, \ - int (*ode_function), char *solver_type, double nequs, double eps_abs, double eps_rel, \ + int (*ode_function)(double, double*, double*, int*), char *solver_type, double nequs, double eps_abs, double eps_rel, \ double step_size, int *params, double *out); #endif /*__ODE_H__*/
\ No newline at end of file diff --git a/src/c/differential_calculus/interfaces/int_ode.h b/src/c/differential_calculus/interfaces/int_ode.h index 28f43999..51764ea1 100644 --- a/src/c/differential_calculus/interfaces/int_ode.h +++ b/src/c/differential_calculus/interfaces/int_ode.h @@ -46,6 +46,20 @@ extern "C" { in2, in3, func_name, solvertype, size1[1], 1.0e-2, 1.0e-2, \ 1.0e-6, size1, out) +#define d0d0d0d0d0fn0oded0(in1, in2, in3, in4, in5, func_name) \ + dodes(in1, in2, in3, func_name, "rkf",1, in5, in4, 1.0e-6, NULL) + +#define d2d0d0d0d0fn0oded2(in1, size1, in2, in3, in4, in5, func_name, out) \ + dodea(in1, in2, in3, func_name, "rkf", size1[1], in5, in4, \ + 1.0e-6, size1, out) + +#define d0d0d2d0d0fn0oded2(in1, in2, in3, size3, in4, in5, func_name, out) \ + dodea(in1, in2, in3, func_name, "rkf", 1, in5, in4, 1.0e-6, size3, out) + +#define d2d0d2d0d0fn0oded2(in1, size1, in2, in3, size3, in4, in5, func_name, out) \ + dodea(in1, in2, in3, func_name, "rkf", size1[1], in5, in4, \ + 1.0e-6, size1, out) + #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/src/c/differential_calculus/ode/dodea.c b/src/c/differential_calculus/ode/dodea.c index 1cb07fab..97d56a1a 100644 --- a/src/c/differential_calculus/ode/dodea.c +++ b/src/c/differential_calculus/ode/dodea.c @@ -20,7 +20,7 @@ void dodea(double *initial_value, double start_time, double end_time, \ - int (*ode_function), char *solver_type, double nequs, double eps_abs, \ + int (*ode_function)(double, double*, double*, int*), char *solver_type, double nequs, double eps_abs, \ double eps_rel, double step_size, int *params, double *out) { double t = start_time; diff --git a/src/c/differential_calculus/ode/dodes.c b/src/c/differential_calculus/ode/dodes.c index adef1ba7..6d1a8672 100644 --- a/src/c/differential_calculus/ode/dodes.c +++ b/src/c/differential_calculus/ode/dodes.c @@ -20,7 +20,8 @@ double dodes(double initial_value, double start_time, double end_time, \ - int (*ode_function), char *solver_type, double nequs, double eps_abs, \ + int (*ode_function)(double, double*, double*, int*), \ + char *solver_type, double nequs, double eps_abs, \ double eps_rel, double step_size, int *params) { double out = 0, t = 0; |