/* [+MEQ MatlabEQuilibrium Toolbox+] Swiss Plasma Center EPFL Lausanne 2022. All rights reserved. */
/* Generated by mkmeqh.m 05-Feb-2023 22:40:09 */
# include "meqh.h"
#ifdef __cplusplus
extern "C" {
#endif
void sgszr(float  *Fx, float  *Fb, float  *Jy, float  *cx, float  *cq, float  *cr, float  *cs, float  ci, float  co, float  *p, int nz, int nr, float  dz);
void dgszr(double *Fx, double *Fb, double *Jy, double *cx, double *cq, double *cr, double *cs, double ci, double co, double *p, int nz, int nr, double dz);
void snfdb(float  *dnf, float  *f, int nx, int ny);
void dnfdb(double *dnf, double *f, int nx, int ny);
int sasxy(float  *xa, float  *ya, float  *fa, float  *dx2fa, float  *dy2fa, float  *dxyfa, int dima, int *na, float  *xs, float  *ys, float  *fs, float  *dx2fs, float  *dy2fs, float  *dxyfs, int dims, int *ns, float  *f, float  fnan, float  *x, float  *y, int dc, int nx, int ny, float  dx, float  dy, float  idx, float  idy, bool *lim, int *ws);
int dasxy(double *xa, double *ya, double *fa, double *dx2fa, double *dy2fa, double *dxyfa, int dima, int *na, double *xs, double *ys, double *fs, double *dx2fs, double *dy2fs, double *dxyfs, int dims, int *ns, double *f, double fnan, double *x, double *y, int dc, int nx, int ny, double dx, double dy, double idx, double idy, bool *lim, int *ws);
void sasxy1(float  *f, int i, int j, int nx, float  *xe, float  *ye, float  *fe, float  *a, float  *b, float  *c, float  *d, float  *e, float  *h);
void dasxy1(double *f, int i, int j, int nx, double *xe, double *ye, double *fe, double *a, double *b, double *c, double *d, double *e, double *h);
void sbavx(bool *l, float  a, float  *rx, float  *zx, float  *vrx, float  *vzx,int nx, float  *r, float  *z, int n);
void dbavx(bool *l, double a, double *rx, double *zx, double *vrx, double *vzx,int nx, double *r, double *z, int n);
void sbavx2(bool *l, float  a, float  *rx, float  *zx, float  *vrx, float  *vzx, int nx, float  *r, float  *z, int nr, int nz);
void dbavx2(bool *l, double a, double *rx, double *zx, double *vrx, double *vzx, int nx, double *r, double *z, int nr, int nz);
void sfbnd(float  *FB, float  *rB, float  *zB, bool *lB, bool *lX, float  *Fl, float  *rl, float  *zl, float  *FX, float  *rX, float  *zX, int nX, float  FN, int nl);
void dfbnd(double *FB, double *rB, double *zB, bool *lB, bool *lX, double *Fl, double *rl, double *zl, double *FX, double *rX, double *zX, int nX, double FN, int nl);
void spdom(bool *Opy, float  *Fx, float  FB, float  Ip, bool *OXy, int nzy, int nry);
void dpdom(bool *Opy, double *Fx, double FB, double Ip, bool *OXy, int nzy, int nry);
void sbbox(float  *x1, float  *y1, float  *x2, float  *y2, bool *lxy, float  *x, float  *y, int nx, int ny);
void dbbox(double *x1, double *y1, double *x2, double *y2, bool *lxy, double *x, double *y, int nx, int ny);
void siata(float  *b, float  *a1, int m1, float  *a2, int m2, int n);
void diata(double *b, double *a1, int m1, double *a2, int m2, int n);
void siata1(float  *b, float  *a1, int n1, float  *a2, int n2);
void diata1(double *b, double *a1, int n1, double *a2, int n2);
void siata2(float  *b, float  *a1, int n1, float  *a2, int n2);
void diata2(double *b, double *a1, int n1, double *a2, int n2);
void siata3(float  *b, float  *a1, int n1, float  *a2, int n2);
void diata3(double *b, double *a1, int n1, double *a2, int n2);
void siata4(float  *b, float  *a1, int n1, float  *a2, int n2);
void diata4(double *b, double *a1, int n1, double *a2, int n2);
int siataN(float  *b, float  *a1, int n1, float  *a2, int n2, int n);
int diataN(double *b, double *a1, int n1, double *a2, int n2, int n);
void suata(float  *b, float  *a, int m, int n);
void duata(double *b, double *a, int m, int n);
void sfl4p(float  *fl, float  *f, int *k, float  *c, float  fn, float  *rl, float  *zl, float  ra, float  za, int nl, int nz);
void dfl4p(double *fl, double *f, int *k, double *c, double fn, double *rl, double *zl, double ra, double za, int nl, int nz);
void sresp(float  *Y, float *A, float  *B, float *C, float  *D, int m, int nA, int nB, int nC, int nD);
void dresp(double *Y, double*A, double *B, double*C, double *D, int m, int nA, int nB, int nC, int nD);
void sbf3p1(float  *Tyg, float  *Tpg, float  *ITpg, float  *Fx, float  FA, float  FB, int8_t *Opy, float  *ry, float  *iry, int nzy, int nry, bool circ, int err);
void dbf3p1(double *Tyg, double *Tpg, double *ITpg, double *Fx, double FA, double FB, int8_t *Opy, double *ry, double *iry, int nzy, int nry, bool circ, int err);
void sbf3p2(float  *gQg, float  *IgQg, float  *FNQ, int nQ);
void dbf3p2(double *gQg, double *IgQg, double *FNQ, int nQ);
void sbf3p3(float  *aPpg, float  *aTTpg, float  *aPg, float  *ahqTg, float  *ag, float  FA, float  FB, float  ids);
void dbf3p3(double *aPpg, double *aTTpg, double *aPg, double *ahqTg, double *ag, double FA, double FB, double ids);
void sbf3p5(float  *gA, float  *IgA, float  FA, float  FB, bool circ);
void dbf3p5(double *gA, double *IgA, double FA, double FB, bool circ);
void sbf3p6(float  *Qg, float  *Xq, float  FA, float  FB, float  irA, float  ids);
void dbf3p6(double *Qg, double *Xq, double FA, double FB, double irA, double ids);
void sbf3p8(float  *Bty, float  *Fx, float  FA, float  FB, int8_t *Opy, float  *ag, float  rBt, int err, float  ids, float  *iry, int nzy, int nry);
void dbf3p8(double *Bty, double *Fx, double FA, double FB, int8_t *Opy, double *ag, double rBt, int err, double ids, double *iry, int nzy, int nry);
void sbf3i1(float  *Tyg, float  *Tpg, float  *ITpg, float  *Fx, float  FA, float  FB, int8_t *Opy, float  *ry, float  *iry, int nzy, int nry, float  *gNg, float  *IgNg, float  *fPg, float  *fTg, int err, int nN);
void dbf3i1(double *Tyg, double *Tpg, double *ITpg, double *Fx, double FA, double FB, int8_t *Opy, double *ry, double *iry, int nzy, int nry, double *gNg, double *IgNg, double *fPg, double *fTg, int err, int nN);
void sbf3i2(float  *gQg, float  *IgQg, float  *FNQ, int nQ, float  *gNg, float  *IgNg, int nN);
void dbf3i2(double *gQg, double *IgQg, double *FNQ, int nQ, double *gNg, double *IgNg, int nN);
void sbf3i3(float  *aPpg, float  *aTTpg, float  *aPg, float  *ahqTg, float  *ag, float  FA, float  FB, float  *fPg, float  *fTg, float  ids);
void dbf3i3(double *aPpg, double *aTTpg, double *aPg, double *ahqTg, double *ag, double FA, double FB, double *fPg, double *fTg, double ids);
void sbf3i4(float  *Tdg, float  *Tgy, float  *Fx, float  FA, float  FB, int8_t *Opy, int nzy, int nry, unsigned int *kd, float  *fd, int nd, float  *gNg, int nN, int ng);
void dbf3i4(double *Tdg, double *Tgy, double *Fx, double FA, double FB, int8_t *Opy, int nzy, int nry, unsigned int *kd, double *fd, int nd, double *gNg, int nN, int ng);
void sbf3i5(float  *gNg, float  *IgNg, float  FA, float  FB, int ng, int nN, float  *gA, float  *IgA);
void dbf3i5(double *gNg, double *IgNg, double FA, double FB, int ng, int nN, double *gA, double *IgA);
void sbf3i6(float  *Qg, float  *Xq);
void dbf3i6(double *Qg, double *Xq);
void sbfef1(float  *Tyg, float  *Tpg, float  *ITpg, float  *Fx, float  FA, float  FB, int8_t *Opy, float  *ry, float  *iry, int nzy, int nry, int nP, int nT, int err);
void dbfef1(double *Tyg, double *Tpg, double *ITpg, double *Fx, double FA, double FB, int8_t *Opy, double *ry, double *iry, int nzy, int nry, int nP, int nT, int err);
void sbfef2(float  *gQg, float  *IgQg, float  *FNQ, int nQ, int nP, int nT);
void dbfef2(double *gQg, double *IgQg, double *FNQ, int nQ, int nP, int nT);
void sbfef3(float  *aPpg, float  *aTTpg, float  *aPg, float  *ahqTg, float  *ag, float  FA, float  FB, float  ids, int nP, int nT);
void dbfef3(double *aPpg, double *aTTpg, double *aPg, double *ahqTg, double *ag, double FA, double FB, double ids, int nP, int nT);
void sbfef5(float  *gA, float  *IgA, float  FA, float  FB, int nP, int nT);
void dbfef5(double *gA, double *IgA, double FA, double FB, int nP, int nT);
void sbfef6(float  *Qqg, float  *Xq, float  FA, float  FB, float  rA, float  irA, float  ids, int nP, int nT, int nq);
void dbfef6(double *Qqg, double *Xq, double FA, double FB, double rA, double irA, double ids, int nP, int nT, int nq);
void sbfef8(float  *Bty, float  *Fx, float  FA, float  FB, int8_t *Opy, float  *ag, float  rBt, int nP, int nT, float  ids, float  *iry, int nzy, int nry);
void dbfef8(double *Bty, double *Fx, double FA, double FB, int8_t *Opy, double *ag, double rBt, int nP, int nT, double ids, double *iry, int nzy, int nry);
void sbfpr(float  *IgNg, float  *gNg, int n);
void dbfpr(double *IgNg, double *gNg, int n);
void sfsgi(float  *Q0Q, float  *Q1Q, float  *Q2Q, float  *Q3Q, float  *Q4Q, float  *iqQ, float  *M1q, float  *M2q, float  *rq, float *irq, float  rA, float  FA, float  FB, float  BA, bool lX, float  rB, float  *iTQ, float  idoq, int npq, int noq);
void dfsgi(double *Q0Q, double *Q1Q, double *Q2Q, double *Q3Q, double *Q4Q, double *iqQ, double *M1q, double *M2q, double *rq, double*irq, double rA, double FA, double FB, double BA, bool lX, double rB, double *iTQ, double idoq, int npq, int noq);
void svizr(float  *y1, float  *y2, float  *y3, float  *f, bool *l, float *r, float  *ir, float  rBt, float  dr, float  dz, int nr, int nz);
void dvizr(double *y1, double *y2, double *y3, double *f, bool *l, double*r, double *ir, double rBt, double dr, double dz, int nr, int nz);
void sbslv(float  *a, float  *b, float  *a1, float  *b1, float  *b0, float  *A, float  *B, int na, int nb, int niter);
void dbslv(double *a, double *b, double *a1, double *b1, double *b0, double *A, double *B, int na, int nb, int niter);
void srtci(float  *a, float  *dan, float  *ai, float  *ero, float  *ezo, float  *F, float  *Fp, float  *cdr, float  *cdz, int8_t *Opy, float  *Fo, int8_t Opo, float  dap, int nr, int nz, int np, int no, int io);
void drtci(double *a, double *dan, double *ai, double *ero, double *ezo, double *F, double *Fp, double *cdr, double *cdz, int8_t *Opy, double *Fo, int8_t Opo, double dap, int nr, int nz, int np, int no, int io);
void srtci1(float  *y, float  *a, float  *c, float  *x, int np, int no, int io);
void drtci1(double *y, double *a, double *c, double *x, int np, int no, int io);
void sipm1(float  *x, float  *z, bool *stat, float  *h, float  *c, float  a, float  *x0, float  *z0, float  tol, int nit, float  *w, int n);
void dipm1(double *x, double *z, bool *stat, double *h, double *c, double a, double *x0, double *z0, double tol, int nit, double *w, int n);
void sipm2(float  *x, float  *s, float  *z, bool *stat, float  *h, float  *c, float  *a, float  *b, float  *x0, float  *s0, float  *z0, float  tol, int nit, float  *w, int n, int ni);
void dipm2(double *x, double *s, double *z, bool *stat, double *h, double *c, double *a, double *b, double *x0, double *s0, double *z0, double tol, int nit, double *w, int n, int ni);
void sipmh(float  *Ie, float  *Jh, bool *st, float  *Ahd, float  *Aed, float  *Ahe, float  *Aeh, float  *Ahh, float  *uAhh, float  *Yd, float  *Ie0, float  *Jh0, float  sIp, int nit, float  tol, float  *w, int nh, int ne, int nd);
void dipmh(double *Ie, double *Jh, bool *st, double *Ahd, double *Aed, double *Ahe, double *Aeh, double *Ahh, double *uAhh, double *Yd, double *Ie0, double *Jh0, double sIp, int nit, double tol, double *w, int nh, int ne, int nd);
void sipmj(float  *Ie, float  *aj, bool *st, float  *uAjj, float  *Aje, float  *Aej, float  *Ie0, float  *aj0, float  *Ie_, float  *aj_, float  *Qcj, float  *Xc, float  *s, float  *z, float  tol, int iters, float  *w, int nj, int ne, int nc);
void dipmj(double *Ie, double *aj, bool *st, double *uAjj, double *Aje, double *Aej, double *Ie0, double *aj0, double *Ie_, double *aj_, double *Qcj, double *Xc, double *s, double *z, double tol, int iters, double *w, int nj, int ne, int nc);
double swclk(double f, double dummy);
double dwclk(double f, double dummy);
void sshap(float  *rgeom, float  *zgeom, float  *amino, float  *epsil, float  *kappa, float  *delta, float  *deltl, float  *deltu, float  *rrmax, float  *zrmax, float  *rrmin, float  *zrmin, float  *rzmax, float  *zzmax, float  *rzmin, float  *zzmin, float  *rq, float  *zq, float  rB, float  zB, float  dr, float  dz, size_t npq, size_t noq);
void dshap(double *rgeom, double *zgeom, double *amino, double *epsil, double *kappa, double *delta, double *deltl, double *deltu, double *rrmax, double *zrmax, double *rrmin, double *zrmin, double *rzmax, double *zzmax, double *rzmin, double *zzmin, double *rq, double *zq, double rB, double zB, double dr, double dz, size_t npq, size_t noq);
void sasgn(float  *y, float  *y0, float  *u, int *iu, int ny, int nu);
void dasgn(double *y, double *y0, double *u, int *iu, int ny, int nu);
void slocQ(float  *aR, float  *aQ, float  * qQ, float  *qR, float  NF, int nQ, int nO, int nR, int naR);
void dlocQ(double *aR, double *aQ, double * qQ, double *qR, double NF, int nQ, int nO, int nR, int naR);
void sminQ(float  *aqmin, float  *qmin, float  * aQ, float  *qQ, float  sq, float  NF, int nQ, int nmin);
void dminQ(double *aqmin, double *qmin, double * aQ, double *qQ, double sq, double NF, int nQ, int nmin);
void sqint(float  * Fi, float  * Bri, float  * Bzi, float  * Brri, float  * Brzi, float  * Bzri, float  * Bzzi, float  *rx, float  *zx, float  * Fx, float  *ri, float  *zi, float  *inM, int ni, int nr, int nz, int n);
void dqint(double * Fi, double * Bri, double * Bzi, double * Brri, double * Brzi, double * Bzri, double * Bzzi, double *rx, double *zx, double * Fx, double *ri, double *zi, double *inM, int ni, int nr, int nz, int n);
void sbint(float  * Fi, float  * Fx, int * k, float  * c, int ni, int nz);
void dbint(double * Fi, double * Fx, int * k, double * c, int ni, int nz);
#ifdef __cplusplus
}
#endif
