-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathode.hpp
32 lines (28 loc) · 1.35 KB
/
ode.hpp
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
#ifndef ODE_H
#define ODE_H
#include <functional>
typedef std::function<void (double, double*, double*)> odefun;
void de ( const odefun& f, int neqn, double y[],
double &t, double tout, double relerr, double abserr, int &iflag, double yy[],
double wt[], double p[], double yp[], double ypout[], double phi[],
double alpha[], double beta[], double sig[], double v[], double w[],
double g[], bool &phase1, double psi[], double &x, double &h, double &hold,
bool &start, double &told, double &delsgn, int &ns, bool &nornd, int &k, int &kold,
int &isnold );
int i4_sign ( int i );
void intrp ( double x, double y[], double xout, double yout[], double ypout[],
int neqn, int kold, double phi[], double psi[] );
void ode ( const odefun& f, int neqn, double y[],
double &t, double tout, double relerr, double abserr, int &iflag,
double work[], int iwork[] );
double r8_epsilon ( );
double r8_max ( double x, double y );
double r8_min ( double x, double y );
double r8_sign ( double x );
void step ( double &x, double y[], const odefun& f,
int neqn, double &h, double &eps, double wt[], bool &start, double &hold,
int &k, int &kold, bool &crash, double phi[], double p[], double yp[],
double psi[], double alpha[], double beta[], double sig[], double v[],
double w[], double g[], bool &phase1, int &ns, bool &nornd );
void timestamp ( );
#endif