
#ifndef _autlib2_h_
#define _autlib2_h_

#include "f2c.h"
#include "autlim.h"
#include "autevd.h"


/* autlib2.c */
int cnrlbv_(int (*funi)(void), int (*bcni)(void), int (*icni)(void), int (*stpnt)(void), int (*fnbpbv)(void), integer *ibr, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *upoldp, doublereal *udotps, doublereal *rhsa, doublereal *rhsd, doublereal *tint, doublereal *uintt, doublereal *dups, doublereal *eqf, doublereal *uneq, doublereal *tm, doublereal *dtm, doublereal *tm2, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, integer *itm, integer *ial, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd, doublereal *p0, doublereal *p1, doublereal *poin, doublecomplex *ev, doublereal *wkev, integer *ndim2, doublereal *smat, doublereal *rnllv);
int setrtn_(integer n, integer ntst, integer ndx, doublereal *ups);
int contbv_(int (*funi)(void), doublereal *rds, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *dtm);
int extrbv_(int (*funi)(void), doublereal *rds, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *dtm);
int stupbv_(int (*funi)(void), integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *upoldp, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp);
int solvbv_(int (*funi)(void), int (*bcni)(void), int (*icni)(void), integer *istop, doublereal *rds, integer *nitps, integer *ibr, integer *ntot, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *tm, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd);
int setubv_(int (*funi)(void), int (*bcni)(void), int (*icni)(void), doublereal *rds, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd);
int setrbv_(int (*funi)(void), int (*bcni)(void), int (*icni)(void), doublereal *rds, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd);
int rsptbv_(int (*funi)(void), int (*stpnt)(void), doublereal *rds, integer *istop, integer *ntot, integer *lab, integer *ibr, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *tint, doublereal *uintt, doublereal *eqf, doublereal *uneq, doublereal *dups, doublereal *tm, doublereal *dtm, doublereal *tm2, integer *itm, integer *ial, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublecomplex *ev, integer *ndim2, doublereal *smat, doublereal *rnllv, integer *ir, integer *ic, integer *nodir);
int stpnbv_(integer *ntstrs, integer *ncolrs, integer *lab, integer *ibr, integer *m1u, doublereal *u, doublereal *ups, doublereal *udotps, doublereal *upoldp, doublereal *tm, doublereal *dtm, integer *ndim2, doublereal *smat, doublereal *rnllv, integer *ir, integer *ic, doublereal *f, doublereal *dfdu, doublereal *dfdp, integer *nodir);
int stpnub_(integer *ntstrs, integer *ncolrs, integer *lab, integer *ibr, integer *m1u, doublereal *u, doublereal *ups, doublereal *udotps, doublereal *upoldp, doublereal *tm, doublereal *dtm, integer *ndim2, doublereal *smat, doublereal *rnllv, integer *ir, integer *ic, doublereal *f, doublereal *dfdu, doublereal *dfdp, integer *nodir);
int stdrbv_(int (*funi)(void), int (*bcni)(void), int (*icni)(void), doublereal *rds, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd, integer *iperp);
int lcspbv_(doublereal (*fncs)(void), int (*funi)(void), int (*bcni)(void), int (*icni)(void), integer *istop, integer *itp, doublereal *sp1, integer *nitps, integer *ibr, integer *ntot, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *tm, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd, doublereal *p0, doublereal *p1, doublereal *poin, doublecomplex *ev, doublereal *wkev);
doublereal fnlpbv_(logical *chng, int (*funi)(void), int (*bcni)(void), int (*icni)(void), integer *istop, integer *itp, integer *nitps, doublereal *p0, doublereal *p1, doublereal *poin, doublecomplex *ev, doublereal *wkev, integer *ibr, integer *ntot, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *tm, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd);
doublereal fnbpbv_(logical *chng, int (*funi)(void), int (*bcni)(void), int (*icni)(void), integer *istop, integer *itp, integer *nitps, doublereal *p0, doublereal *p1, doublereal *poin, doublecomplex *ev, doublereal *wkev, integer *ibr, integer *ntot, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *tm, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd);
doublereal fnspbv_(logical *chng, int (*funi)(void), int (*bcni)(void), int (*icni)(void), integer *istop, integer *itp, integer *nitps, doublereal *p0, doublereal *p1, doublereal *poin, doublecomplex *ev, doublereal *wkev, integer *ibr, integer *ntot, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *tm, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd);
doublereal fnuzbv_(logical *chng, int (*funi)(void), int (*bcni)(void), int (*icni)(void), integer *istop, integer *itp, integer *nitps, doublereal *p0, doublereal *p1, doublereal *poin, doublecomplex *ev, doublereal *wkev, integer *ibr, integer *ntot, integer *m1aa, integer *m2aa, doublereal *aa, integer *m1bb, integer *m2bb, doublereal *bb, integer *m1cc, doublereal *cc, integer *m1dd, doublereal *dd, doublereal *wbrbd, integer *m1u, doublereal *ups, doublereal *uoldps, doublereal *udotps, doublereal *upoldp, doublereal *rhsa, doublereal *rhsd, doublereal *dups, doublereal *tm, doublereal *dtm, doublereal *u, doublereal *f, integer *m1df, doublereal *dfdu, doublereal *dfdp, doublereal *ubc0, doublereal *ubc1, integer *m1bc, doublereal *dbc, doublereal *uicd, doublereal *ficd, integer *m1ic, doublereal *dicd, integer *ir, integer *ic, integer *iwbrbd);
int poinc_(integer *ndim, doublereal *p0, doublereal *p1, doublereal *poin, integer *iid, integer *ir, integer *ic);
int tpspbv_(doublecomplex *ev, integer *itp);
int stplbv_(integer *istop, integer *itp, integer *nitps, integer *ntot, integer *lab, integer *ibr, integer *m1u, doublereal *ups, doublereal *udotps, doublereal *tm, doublereal *dtm, integer *m1df);
int wrtbv8_(integer *itp, integer *ntot, integer *lab, integer *ibr, integer *m1u, doublereal *ups, doublereal *udotps, doublereal *tm, doublereal *dtm);
int wrtbv9_(integer *nitps, integer *ibr, integer *ntot, integer *m1u, doublereal *ups, doublereal *tm, doublereal *dtm);
int brbd_(integer *na, integer *nra, integer *nca, integer *ma1, integer *ma2, doublereal *a, integer *ncb, integer *mb1, integer *mb2, doublereal *b, integer *nrc, integer *mc1, doublereal *c, integer *md1, doublereal *d, integer *mfa1, doublereal *fa, doublereal *fc, doublereal *wkdr, integer *idb, integer *ifst, integer *ir, integer *ic, integer *iwkdr, integer *nllv);
logical erbrbd_(integer *na, integer *nra, integer *nca, integer *ncb, integer *nrc);
int copycp_(integer *na, integer *nov, integer *nra, integer *nca, integer *ma1, integer *ma2, doublereal *a, integer *ncb, integer *mb1, integer *mb2, doublereal *b, integer *nrc, integer *mc1, doublereal *c, doublereal *a1, doublereal *a2, doublereal *bc, doublereal *cc);
int reduce_(integer *na, integer *nov, integer *nov2, integer *ncb, integer *nrc, integer *md1, doublereal *d, doublereal *a1, doublereal *a2, doublereal *b, doublereal *c, doublereal *s, doublereal *t, integer *ipr, integer *ipc);
int cpyrhs_(integer *na, integer *nra, integer *nov, integer *mfa1, doublereal *fa, doublereal *fac);
int redrhs_(integer *na, integer *nov, integer *nov2, integer *nrc, doublereal *a1, doublereal *a2, doublereal *c, doublereal *fa, doublereal *fc, integer *ipr);
int dimrge_(integer *na, integer *nov, integer *nca, doublereal *s, doublereal *a2, integer *ncb, doublereal *b, doublereal *cc, integer *nrc, integer *mc1, doublereal *c, integer *md1, doublereal *d, doublereal *fa, doublereal *fc, integer *ne, doublereal *e, doublereal *rhse, doublereal *xe, integer *idb, integer *ir, integer *ic, integer *nllv);
int bcksub_(integer *nov, integer *nov2, integer *na, integer *ncb, doublereal *s, doublereal *a1, doublereal *a2, doublereal *t, doublereal *b, doublereal *fa, doublereal *xe, doublereal *fc, integer *ipr, integer *ipc);
int print1_(integer *nov, integer *na, integer *nra, integer *nca, integer *ncb, integer *nrc, integer *ma1, integer *ma2, doublereal *a, integer *mb1, integer *mb2, doublereal *b, integer *mc1, doublereal *c, integer *md1, doublereal *d, integer *mfa1, doublereal *fa, doublereal *fc);
int print2_(integer *idb, integer *na, integer *nov, integer *ncb, integer *nrc, doublereal *s, doublereal *a1, doublereal *a2, doublereal *t, doublereal *b, doublereal *c, doublereal *f);
int print3_(integer *na, integer *nov, doublereal *fa);
int conpar_(integer *nov, integer *na, integer *nra, integer *nca, integer *ma1, integer *ma2, doublereal *a, integer *ncb, integer *mb1, integer *mb2, doublereal *b, integer *nrc, integer *mc1, doublereal *c, integer *md1, doublereal *d, doublereal *rm, integer *lc);
int conrhs_(integer *nov, integer *na, integer *nra, integer *nca, integer *ma1, integer *ma2, doublereal *a, integer *nrc, integer *mc1, doublereal *c, integer *mfa1, doublereal *fa, doublereal *fc, integer *lc);
int infpar_(integer *na, integer *nov, integer *nra, integer *nca, integer *ma1, integer *ma2, doublereal *a, integer *ncb, integer *mb1, integer *mb2, doublereal *b, integer *mfa1, doublereal *fa, integer *nc, doublereal *fc, integer *nfadr, doublereal *fadr);


#endif

