typedef void(*rhs_type)(int,doubledouble,doubledouble[],doubledouble[]);

typedef int(*step_type)(doubledouble[],doubledouble[],int,doubledouble*,
    doubledouble,doubledouble,doubledouble[], doubledouble*,doubledouble*,
    rhs_type);

extern int ddodeint(doubledouble ystart[], int nvar,
    doubledouble *x1, doubledouble x2, doubledouble eps,
    doubledouble h1, doubledouble hmin, int maxsteps,
    int *nok, int *nbad, rhs_type derivs, step_type step);

extern int ddbsstep(doubledouble y[], doubledouble dydx[], int nv,
    doubledouble *xx, doubledouble htry, doubledouble eps, doubledouble
    yscal[], doubledouble *hdid, doubledouble *hnext,
    rhs_type);
