

/* Copyright 2009, Numerical Algorithms Group Ltd, Oxford, UK.
   Mark 22
*/

#ifndef NAG_FTN_INCLUDED
#define NAG_FTN_INCLUDED

#ifndef RETURN_COMPLEX
#define RETURN_COMPLEX
#endif

#ifdef RETURN_COMPLEX_PARAM
#undef RETURN_COMPLEX
#endif

#ifndef NAG_TYPES
  typedef struct { double re,im; } Complex;

  typedef struct { float re,im; } Complexf;

  typedef int Integer;

  typedef int logical;
#else
  typedef NAG_F77_int logical;
#endif

#define CONST const

#ifdef __cplusplus
#define REFPTR &
#define VOID
#else
#define REFPTR * 
#define VOID void
#endif

#if defined USE_STDCALL
#define NAG_CALL __stdcall
#else
#define NAG_CALL 
#endif

typedef int Charlen;



#ifdef __cplusplus
extern "C" {
#endif


#if defined (_WIN32) && defined (USE_STDCALL)
#define \
a00aaf_(VOID)  \
A00AAF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  a00aaf_ A00AAF
#else
#define  A00AAF a00aaf_
#endif
extern void NAG_CALL A00AAF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
a00acf_(VOID)  \
A00ACF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  a00acf_ A00ACF
#else
#define  A00ACF a00acf_
#endif
extern logical NAG_CALL A00ACF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
a00adf_(impl, prec, pcode, mkmaj, mkmin, hdware, opsys, fcomp, vend, licval, length_impl, length_prec, length_pcode, length_hdware, length_opsys, length_fcomp, length_vend)  \
A00ADF(impl, length_impl, prec, length_prec, pcode, length_pcode, mkmaj, mkmin, hdware, length_hdware, opsys, length_opsys, fcomp, length_fcomp, vend, length_vend, licval) 
#elif defined (_WIN32) || defined (_WIN64)
#define  a00adf_ A00ADF
#else
#define  A00ADF a00adf_
#endif
extern void NAG_CALL A00ADF(
  char * impl
#ifdef USE_STDCALL
,  CONST Charlen length_impl
#endif
,
  char * prec
#ifdef USE_STDCALL
,  CONST Charlen length_prec
#endif
,
  char * pcode
#ifdef USE_STDCALL
,  CONST Charlen length_pcode
#endif
,
  Integer REFPTR mkmaj,
  Integer REFPTR mkmin,
  char * hdware
#ifdef USE_STDCALL
,  CONST Charlen length_hdware
#endif
,
  char * opsys
#ifdef USE_STDCALL
,  CONST Charlen length_opsys
#endif
,
  char * fcomp
#ifdef USE_STDCALL
,  CONST Charlen length_fcomp
#endif
,
  char * vend
#ifdef USE_STDCALL
,  CONST Charlen length_vend
#endif
,
  logical REFPTR licval
#ifndef USE_STDCALL
, CONST Charlen length_impl,
 CONST Charlen length_prec,
 CONST Charlen length_pcode,
 CONST Charlen length_hdware,
 CONST Charlen length_opsys,
 CONST Charlen length_fcomp,
 CONST Charlen length_vend
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
a02aaf_(xr, xi, yr, yi)  \
A02AAF(xr, xi, yr, yi) 
#elif defined (_WIN32) || defined (_WIN64)
#define  a02aaf_ A02AAF
#else
#define  A02AAF a02aaf_
#endif
extern void NAG_CALL A02AAF(
  CONST double REFPTR xr,
  CONST double REFPTR xi,
  double REFPTR yr,
  double REFPTR yi
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
a02abf_(xr, xi)  \
A02ABF(xr, xi) 
#elif defined (_WIN32) || defined (_WIN64)
#define  a02abf_ A02ABF
#else
#define  A02ABF a02abf_
#endif
extern double NAG_CALL A02ABF(
  CONST double REFPTR xr,
  CONST double REFPTR xi
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
a02acf_(xr, xi, yr, yi, zr, zi)  \
A02ACF(xr, xi, yr, yi, zr, zi) 
#elif defined (_WIN32) || defined (_WIN64)
#define  a02acf_ A02ACF
#else
#define  A02ACF a02acf_
#endif
extern void NAG_CALL A02ACF(
  CONST double REFPTR xr,
  CONST double REFPTR xi,
  CONST double REFPTR yr,
  CONST double REFPTR yi,
  double REFPTR zr,
  double REFPTR zi
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02aff_(a, n, scal, z, w, ifail)  \
C02AFF(a, n, scal, z, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02aff_ C02AFF
#else
#define  C02AFF c02aff_
#endif
extern void NAG_CALL C02AFF(
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR n,
  CONST logical REFPTR scal,
  double z[] /* 2 dimension */,
  double w[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02agf_(a, n, scal, z, w, ifail)  \
C02AGF(a, n, scal, z, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02agf_ C02AGF
#else
#define  C02AGF c02agf_
#endif
extern void NAG_CALL C02AGF(
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST logical REFPTR scal,
  double z[] /* 2 dimension */,
  double w[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02ahf_(ar, ai, br, bi, cr, ci, zsm, zlg, ifail)  \
C02AHF(ar, ai, br, bi, cr, ci, zsm, zlg, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02ahf_ C02AHF
#else
#define  C02AHF c02ahf_
#endif
extern void NAG_CALL C02AHF(
  CONST double REFPTR ar,
  CONST double REFPTR ai,
  CONST double REFPTR br,
  CONST double REFPTR bi,
  CONST double REFPTR cr,
  CONST double REFPTR ci,
  double zsm[] /* 1 dimension */,
  double zlg[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02ajf_(a, b, c, zsm, zlg, ifail)  \
C02AJF(a, b, c, zsm, zlg, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02ajf_ C02AJF
#else
#define  C02AJF c02ajf_
#endif
extern void NAG_CALL C02AJF(
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR c,
  double zsm[] /* 1 dimension */,
  double zlg[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02akf_(u, r, s, t, zeror, zeroi, errest, ifail)  \
C02AKF(u, r, s, t, zeror, zeroi, errest, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02akf_ C02AKF
#else
#define  C02AKF c02akf_
#endif
extern void NAG_CALL C02AKF(
  CONST double REFPTR u,
  CONST double REFPTR r,
  CONST double REFPTR s,
  CONST double REFPTR t,
  double zeror[] /* 1 dimension */,
  double zeroi[] /* 1 dimension */,
  double errest[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02alf_(e, a, b, c, d, zeror, zeroi, errest, ifail)  \
C02ALF(e, a, b, c, d, zeror, zeroi, errest, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02alf_ C02ALF
#else
#define  C02ALF c02alf_
#endif
extern void NAG_CALL C02ALF(
  CONST double REFPTR e,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR c,
  CONST double REFPTR d,
  double zeror[] /* 1 dimension */,
  double zeroi[] /* 1 dimension */,
  double errest[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02amf_(u, r, s, t, zeror, zeroi, errest, ifail)  \
C02AMF(u, r, s, t, zeror, zeroi, errest, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02amf_ C02AMF
#else
#define  C02AMF c02amf_
#endif
extern void NAG_CALL C02AMF(
  CONST Complex REFPTR u,
  CONST Complex REFPTR r,
  CONST Complex REFPTR s,
  CONST Complex REFPTR t,
  double zeror[] /* 1 dimension */,
  double zeroi[] /* 1 dimension */,
  double errest[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c02anf_(e, a, b, c, d, zeror, zeroi, errest, ifail)  \
C02ANF(e, a, b, c, d, zeror, zeroi, errest, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c02anf_ C02ANF
#else
#define  C02ANF c02anf_
#endif
extern void NAG_CALL C02ANF(
  CONST Complex REFPTR e,
  CONST Complex REFPTR a,
  CONST Complex REFPTR b,
  CONST Complex REFPTR c,
  CONST Complex REFPTR d,
  double zeror[] /* 1 dimension */,
  double zeroi[] /* 1 dimension */,
  double errest[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05adf_(a, b, eps, eta, f, x, ifail)  \
C05ADF(a, b, eps, eta, f, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05adf_ C05ADF
#else
#define  C05ADF c05adf_
#endif
extern void NAG_CALL C05ADF(
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR eps,
  CONST double REFPTR eta,
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05agf_(x, h, eps, eta, f, a, b, ifail)  \
C05AGF(x, h, eps, eta, f, a, b, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05agf_ C05AGF
#else
#define  C05AGF c05agf_
#endif
extern void NAG_CALL C05AGF(
  double REFPTR x,
  CONST double REFPTR h,
  CONST double REFPTR eps,
  CONST double REFPTR eta,
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  double REFPTR a,
  double REFPTR b,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05ajf_(x, eps, eta, f, nfmax, ifail)  \
C05AJF(x, eps, eta, f, nfmax, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05ajf_ C05AJF
#else
#define  C05AJF c05ajf_
#endif
extern void NAG_CALL C05AJF(
  double REFPTR x,
  CONST double REFPTR eps,
  CONST double REFPTR eta,
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  CONST Integer REFPTR nfmax,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05avf_(x, fx, h, boundl, boundu, y, c, ind, ifail)  \
C05AVF(x, fx, h, boundl, boundu, y, c, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05avf_ C05AVF
#else
#define  C05AVF c05avf_
#endif
extern void NAG_CALL C05AVF(
  double REFPTR x,
  CONST double REFPTR fx,
  double REFPTR h,
  CONST double REFPTR boundl,
  CONST double REFPTR boundu,
  double REFPTR y,
  double c[] /* 1 dimension */,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05axf_(x, fx, tol, ir, scal, c, ind, ifail)  \
C05AXF(x, fx, tol, ir, scal, c, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05axf_ C05AXF
#else
#define  C05AXF c05axf_
#endif
extern void NAG_CALL C05AXF(
  double REFPTR x,
  CONST double REFPTR fx,
  CONST double REFPTR tol,
  CONST Integer REFPTR ir,
  CONST double REFPTR scal,
  double c[] /* 1 dimension */,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05azf_(x, y, fx, tolx, ir, c, ind, ifail)  \
C05AZF(x, y, fx, tolx, ir, c, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05azf_ C05AZF
#else
#define  C05AZF c05azf_
#endif
extern void NAG_CALL C05AZF(
  double REFPTR x,
  double REFPTR y,
  CONST double REFPTR fx,
  CONST double REFPTR tolx,
  CONST Integer REFPTR ir,
  double c[] /* 1 dimension */,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05baf_(x, branch, offset, ifail)  \
C05BAF(x, branch, offset, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05baf_ C05BAF
#else
#define  C05BAF c05baf_
#endif
extern double NAG_CALL C05BAF(
  CONST double REFPTR x,
  CONST Integer REFPTR branch,
  CONST logical REFPTR offset,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05nbf_(fcn, n, x, fvec, xtol, wa, lwa, ifail)  \
C05NBF(fcn, n, x, fvec, xtol, wa, lwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05nbf_ C05NBF
#else
#define  C05NBF c05nbf_
#endif
extern void NAG_CALL C05NBF(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double[],
                       double[],
                       Integer REFPTR ),
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  CONST double REFPTR xtol,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR lwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05ncf_(fcn, n, x, fvec, xtol, maxfev, ml, mu, epsfcn, diag, mode, factor, nprint, nfev, fjac, ldfjac, r, lr, qtf, w, ifail)  \
C05NCF(fcn, n, x, fvec, xtol, maxfev, ml, mu, epsfcn, diag, mode, factor, nprint, nfev, fjac, ldfjac, r, lr, qtf, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05ncf_ C05NCF
#else
#define  C05NCF c05ncf_
#endif
extern void NAG_CALL C05NCF(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double[],
                       double[],
                       Integer REFPTR ),
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  CONST double REFPTR xtol,
  CONST Integer REFPTR maxfev,
  CONST Integer REFPTR ml,
  CONST Integer REFPTR mu,
  CONST double REFPTR epsfcn,
  double diag[] /* 1 dimension */,
  CONST Integer REFPTR mode,
  CONST double REFPTR factor,
  CONST Integer REFPTR nprint,
  Integer REFPTR nfev,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  double qtf[] /* 1 dimension */,
  double w[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05ndf_(irevcm, n, x, fvec, xtol, ml, mu, epsfcn, diag, mode, factor, fjac, ldfjac, r, lr, qtf, w, ifail)  \
C05NDF(irevcm, n, x, fvec, xtol, ml, mu, epsfcn, diag, mode, factor, fjac, ldfjac, r, lr, qtf, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05ndf_ C05NDF
#else
#define  C05NDF c05ndf_
#endif
extern void NAG_CALL C05NDF(
  Integer REFPTR irevcm,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  CONST double REFPTR xtol,
  CONST Integer REFPTR ml,
  CONST Integer REFPTR mu,
  CONST double REFPTR epsfcn,
  double diag[] /* 1 dimension */,
  CONST Integer REFPTR mode,
  CONST double REFPTR factor,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  double qtf[] /* 1 dimension */,
  double w[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05pba_(fcn, n, x, fvec, fjac, ldfjac, xtol, wa, lwa, iuser, ruser, ifail)  \
C05PBA(fcn, n, x, fvec, fjac, ldfjac, xtol, wa, lwa, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05pba_ C05PBA
#else
#define  C05PBA c05pba_
#endif
extern void NAG_CALL C05PBA(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double[],
                       double[],
                       double[],
                       CONST Integer REFPTR ,
                       Integer REFPTR ,
                       Integer[],
                       double[]),
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  CONST double REFPTR xtol,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR lwa,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05pbf_(fcn, n, x, fvec, fjac, ldfjac, xtol, wa, lwa, ifail)  \
C05PBF(fcn, n, x, fvec, fjac, ldfjac, xtol, wa, lwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05pbf_ C05PBF
#else
#define  C05PBF c05pbf_
#endif
extern void NAG_CALL C05PBF(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double[],
                       double[],
                       double[],
                       CONST Integer REFPTR ,
                       Integer REFPTR ),
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  CONST double REFPTR xtol,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR lwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05pca_(fcn, n, x, fvec, fjac, ldfjac, xtol, maxfev, diag, mode, factor, nprint, nfev, njev, r, lr, qtf, w, iuser, ruser, ifail)  \
C05PCA(fcn, n, x, fvec, fjac, ldfjac, xtol, maxfev, diag, mode, factor, nprint, nfev, njev, r, lr, qtf, w, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05pca_ C05PCA
#else
#define  C05PCA c05pca_
#endif
extern void NAG_CALL C05PCA(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double[],
                       double[],
                       double[],
                       CONST Integer REFPTR ,
                       Integer REFPTR ,
                       Integer[],
                       double[]),
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  CONST double REFPTR xtol,
  CONST Integer REFPTR maxfev,
  double diag[] /* 1 dimension */,
  CONST Integer REFPTR mode,
  CONST double REFPTR factor,
  CONST Integer REFPTR nprint,
  Integer REFPTR nfev,
  Integer REFPTR njev,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  double qtf[] /* 1 dimension */,
  double w[] /* 2 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05pcf_(fcn, n, x, fvec, fjac, ldfjac, xtol, maxfev, diag, mode, factor, nprint, nfev, njev, r, lr, qtf, w, ifail)  \
C05PCF(fcn, n, x, fvec, fjac, ldfjac, xtol, maxfev, diag, mode, factor, nprint, nfev, njev, r, lr, qtf, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05pcf_ C05PCF
#else
#define  C05PCF c05pcf_
#endif
extern void NAG_CALL C05PCF(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double[],
                       double[],
                       double[],
                       CONST Integer REFPTR ,
                       Integer REFPTR ),
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  CONST double REFPTR xtol,
  CONST Integer REFPTR maxfev,
  double diag[] /* 1 dimension */,
  CONST Integer REFPTR mode,
  CONST double REFPTR factor,
  CONST Integer REFPTR nprint,
  Integer REFPTR nfev,
  Integer REFPTR njev,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  double qtf[] /* 1 dimension */,
  double w[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05pda_(irevcm, n, x, fvec, fjac, ldfjac, xtol, diag, mode, factor, r, lr, qtf, w, lwsav, iwsav, rwsav, ifail)  \
C05PDA(irevcm, n, x, fvec, fjac, ldfjac, xtol, diag, mode, factor, r, lr, qtf, w, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05pda_ C05PDA
#else
#define  C05PDA c05pda_
#endif
extern void NAG_CALL C05PDA(
  Integer REFPTR irevcm,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  CONST double REFPTR xtol,
  double diag[] /* 1 dimension */,
  CONST Integer REFPTR mode,
  CONST double REFPTR factor,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  double qtf[] /* 1 dimension */,
  double w[] /* 2 dimension */,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05pdf_(irevcm, n, x, fvec, fjac, ldfjac, xtol, diag, mode, factor, r, lr, qtf, w, ifail)  \
C05PDF(irevcm, n, x, fvec, fjac, ldfjac, xtol, diag, mode, factor, r, lr, qtf, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05pdf_ C05PDF
#else
#define  C05PDF c05pdf_
#endif
extern void NAG_CALL C05PDF(
  Integer REFPTR irevcm,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  CONST double REFPTR xtol,
  double diag[] /* 1 dimension */,
  CONST Integer REFPTR mode,
  CONST double REFPTR factor,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  double qtf[] /* 1 dimension */,
  double w[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c05zaf_(m, n, x, fvec, fjac, ldfjac, xp, fvecp, mode, err)  \
C05ZAF(m, n, x, fvec, fjac, ldfjac, xp, fvecp, mode, err) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c05zaf_ C05ZAF
#else
#define  C05ZAF c05zaf_
#endif
extern void NAG_CALL C05ZAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double fvec[] /* 1 dimension */,
  CONST double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double xp[] /* 1 dimension */,
  CONST double fvecp[] /* 1 dimension */,
  CONST Integer REFPTR mode,
  double err[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06baf_(seqn, ncall, result, abserr, work, lwork, ifail)  \
C06BAF(seqn, ncall, result, abserr, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06baf_ C06BAF
#else
#define  C06BAF c06baf_
#endif
extern void NAG_CALL C06BAF(
  CONST double REFPTR seqn,
  Integer REFPTR ncall,
  double REFPTR result,
  double REFPTR abserr,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06dbf_(x, c, n, s)  \
C06DBF(x, c, n, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06dbf_ C06DBF
#else
#define  C06DBF c06dbf_
#endif
extern double NAG_CALL C06DBF(
  CONST double REFPTR x,
  CONST double c[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06eaf_(x, n, ifail)  \
C06EAF(x, n, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06eaf_ C06EAF
#else
#define  C06EAF c06eaf_
#endif
extern void NAG_CALL C06EAF(
  double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06ebf_(x, n, ifail)  \
C06EBF(x, n, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06ebf_ C06EBF
#else
#define  C06EBF c06ebf_
#endif
extern void NAG_CALL C06EBF(
  double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06ecf_(x, y, n, ifail)  \
C06ECF(x, y, n, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06ecf_ C06ECF
#else
#define  C06ECF c06ecf_
#endif
extern void NAG_CALL C06ECF(
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06ekf_(job, x, y, n, ifail)  \
C06EKF(job, x, y, n, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06ekf_ C06EKF
#else
#define  C06EKF c06ekf_
#endif
extern void NAG_CALL C06EKF(
  CONST Integer REFPTR job,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06faf_(x, n, work, ifail)  \
C06FAF(x, n, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06faf_ C06FAF
#else
#define  C06FAF c06faf_
#endif
extern void NAG_CALL C06FAF(
  double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fbf_(x, n, work, ifail)  \
C06FBF(x, n, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fbf_ C06FBF
#else
#define  C06FBF c06fbf_
#endif
extern void NAG_CALL C06FBF(
  double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fcf_(x, y, n, work, ifail)  \
C06FCF(x, y, n, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fcf_ C06FCF
#else
#define  C06FCF c06fcf_
#endif
extern void NAG_CALL C06FCF(
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fff_(ndim, l, nd, n, x, y, work, lwork, ifail)  \
C06FFF(ndim, l, nd, n, x, y, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fff_ C06FFF
#else
#define  C06FFF c06fff_
#endif
extern void NAG_CALL C06FFF(
  CONST Integer REFPTR ndim,
  CONST Integer REFPTR l,
  CONST Integer nd[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fjf_(ndim, nd, n, x, y, work, lwork, ifail)  \
C06FJF(ndim, nd, n, x, y, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fjf_ C06FJF
#else
#define  C06FJF c06fjf_
#endif
extern void NAG_CALL C06FJF(
  CONST Integer REFPTR ndim,
  CONST Integer nd[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fkf_(job, x, y, n, work, ifail)  \
C06FKF(job, x, y, n, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fkf_ C06FKF
#else
#define  C06FKF c06fkf_
#endif
extern void NAG_CALL C06FKF(
  CONST Integer REFPTR job,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fpf_(m, n, x, init, trig, work, ifail, length_init)  \
C06FPF(m, n, x, init, length_init, trig, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fpf_ C06FPF
#else
#define  C06FPF c06fpf_
#endif
extern void NAG_CALL C06FPF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trig[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fqf_(m, n, x, init, trig, work, ifail, length_init)  \
C06FQF(m, n, x, init, length_init, trig, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fqf_ C06FQF
#else
#define  C06FQF c06fqf_
#endif
extern void NAG_CALL C06FQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trig[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06frf_(m, n, x, y, init, trig, work, ifail, length_init)  \
C06FRF(m, n, x, y, init, length_init, trig, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06frf_ C06FRF
#else
#define  C06FRF c06frf_
#endif
extern void NAG_CALL C06FRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trig[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fuf_(m, n, x, y, init, trigm, trign, work, ifail, length_init)  \
C06FUF(m, n, x, y, init, length_init, trigm, trign, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fuf_ C06FUF
#else
#define  C06FUF c06fuf_
#endif
extern void NAG_CALL C06FUF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trigm[] /* 1 dimension */,
  double trign[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06fxf_(n1, n2, n3, x, y, init, trign1, trign2, trign3, work, ifail, length_init)  \
C06FXF(n1, n2, n3, x, y, init, length_init, trign1, trign2, trign3, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06fxf_ C06FXF
#else
#define  C06FXF c06fxf_
#endif
extern void NAG_CALL C06FXF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST Integer REFPTR n3,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trign1[] /* 1 dimension */,
  double trign2[] /* 1 dimension */,
  double trign3[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06gbf_(x, n, ifail)  \
C06GBF(x, n, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06gbf_ C06GBF
#else
#define  C06GBF c06gbf_
#endif
extern void NAG_CALL C06GBF(
  double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06gcf_(y, n, ifail)  \
C06GCF(y, n, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06gcf_ C06GCF
#else
#define  C06GCF c06gcf_
#endif
extern void NAG_CALL C06GCF(
  double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06gqf_(m, n, x, ifail)  \
C06GQF(m, n, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06gqf_ C06GQF
#else
#define  C06GQF c06gqf_
#endif
extern void NAG_CALL C06GQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06gsf_(m, n, x, u, v, ifail)  \
C06GSF(m, n, x, u, v, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06gsf_ C06GSF
#else
#define  C06GSF c06gsf_
#endif
extern void NAG_CALL C06GSF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  double u[] /* 1 dimension */,
  double v[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06haf_(m, n, x, init, trig, work, ifail, length_init)  \
C06HAF(m, n, x, init, length_init, trig, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06haf_ C06HAF
#else
#define  C06HAF c06haf_
#endif
extern void NAG_CALL C06HAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trig[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06hbf_(m, n, x, init, trig, work, ifail, length_init)  \
C06HBF(m, n, x, init, length_init, trig, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06hbf_ C06HBF
#else
#define  C06HBF c06hbf_
#endif
extern void NAG_CALL C06HBF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trig[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06hcf_(direct, m, n, x, init, trig, work, ifail, length_direct, length_init)  \
C06HCF(direct, length_direct, m, n, x, init, length_init, trig, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06hcf_ C06HCF
#else
#define  C06HCF c06hcf_
#endif
extern void NAG_CALL C06HCF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trig[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct,
 CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06hdf_(direct, m, n, x, init, trig, work, ifail, length_direct, length_init)  \
C06HDF(direct, length_direct, m, n, x, init, length_init, trig, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06hdf_ C06HDF
#else
#define  C06HDF c06hdf_
#endif
extern void NAG_CALL C06HDF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  double trig[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct,
 CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06laf_(fun, n, t, valinv, errest, relerr, alphab, tfac, mxterm, nterms, na, alow, ahigh, nfeval, work, ifail)  \
C06LAF(fun, n, t, valinv, errest, relerr, alphab, tfac, mxterm, nterms, na, alow, ahigh, nfeval, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06laf_ C06LAF
#else
#define  C06LAF c06laf_
#endif
extern void NAG_CALL C06LAF(
  void (NAG_CALL *fun)(
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       double REFPTR ,
                       double REFPTR ),
  CONST Integer REFPTR n,
  CONST double t[] /* 1 dimension */,
  double valinv[] /* 1 dimension */,
  double errest[] /* 1 dimension */,
  CONST double REFPTR relerr,
  CONST double REFPTR alphab,
  CONST double REFPTR tfac,
  CONST Integer REFPTR mxterm,
  Integer REFPTR nterms,
  Integer REFPTR na,
  double REFPTR alow,
  double REFPTR ahigh,
  Integer REFPTR nfeval,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06lbf_(f, sigma0, sigma, b, epstol, mmax, m, acoef, errvec, ifail)  \
C06LBF(f, sigma0, sigma, b, epstol, mmax, m, acoef, errvec, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06lbf_ C06LBF
#else
#define  C06LBF c06lbf_
#endif
extern void NAG_CALL C06LBF(
  
#ifndef RETURN_COMPLEX
void (
#else
Complex (
#endif
NAG_CALL *f)(
#ifndef RETURN_COMPLEX

                     Complex *,
#endif

    
                      
      
     
         
      
           CONST Complex REFPTR ),
  CONST double REFPTR sigma0,
  double REFPTR sigma,
  double REFPTR b,
  CONST double REFPTR epstol,
  CONST Integer REFPTR mmax,
  Integer REFPTR m,
  double acoef[] /* 1 dimension */,
  double errvec[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06lcf_(t, sigma, b, m, acoef, errvec, finv, ifail)  \
C06LCF(t, sigma, b, m, acoef, errvec, finv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06lcf_ C06LCF
#else
#define  C06LCF c06lcf_
#endif
extern void NAG_CALL C06LCF(
  CONST double REFPTR t,
  CONST double REFPTR sigma,
  CONST double REFPTR b,
  CONST Integer REFPTR m,
  CONST double acoef[] /* 1 dimension */,
  CONST double errvec[] /* 1 dimension */,
  double REFPTR finv,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06paf_(direct, x, n, work, ifail, length_direct)  \
C06PAF(direct, length_direct, x, n, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06paf_ C06PAF
#else
#define  C06PAF c06paf_
#endif
extern void NAG_CALL C06PAF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06pcf_(direct, x, n, work, ifail, length_direct)  \
C06PCF(direct, length_direct, x, n, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06pcf_ C06PCF
#else
#define  C06PCF c06pcf_
#endif
extern void NAG_CALL C06PCF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06pff_(direct, ndim, l, nd, n, x, work, lwork, ifail, length_direct)  \
C06PFF(direct, length_direct, ndim, l, nd, n, x, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06pff_ C06PFF
#else
#define  C06PFF c06pff_
#endif
extern void NAG_CALL C06PFF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR ndim,
  CONST Integer REFPTR l,
  CONST Integer nd[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06pjf_(direct, ndim, nd, n, x, work, lwork, ifail, length_direct)  \
C06PJF(direct, length_direct, ndim, nd, n, x, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06pjf_ C06PJF
#else
#define  C06PJF c06pjf_
#endif
extern void NAG_CALL C06PJF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR ndim,
  CONST Integer nd[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06pkf_(job, x, y, n, work, ifail)  \
C06PKF(job, x, y, n, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06pkf_ C06PKF
#else
#define  C06PKF c06pkf_
#endif
extern void NAG_CALL C06PKF(
  CONST Integer REFPTR job,
  Complex x[] /* 1 dimension */,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06ppf_(direct, m, n, x, work, ifail, length_direct)  \
C06PPF(direct, length_direct, m, n, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06ppf_ C06PPF
#else
#define  C06PPF c06ppf_
#endif
extern void NAG_CALL C06PPF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06pqf_(direct, n, m, x, work, ifail, length_direct)  \
C06PQF(direct, length_direct, n, m, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06pqf_ C06PQF
#else
#define  C06PQF c06pqf_
#endif
extern void NAG_CALL C06PQF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06prf_(direct, m, n, x, work, ifail, length_direct)  \
C06PRF(direct, length_direct, m, n, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06prf_ C06PRF
#else
#define  C06PRF c06prf_
#endif
extern void NAG_CALL C06PRF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06psf_(direct, n, m, x, work, ifail, length_direct)  \
C06PSF(direct, length_direct, n, m, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06psf_ C06PSF
#else
#define  C06PSF c06psf_
#endif
extern void NAG_CALL C06PSF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  Complex x[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06puf_(direct, m, n, x, work, ifail, length_direct)  \
C06PUF(direct, length_direct, m, n, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06puf_ C06PUF
#else
#define  C06PUF c06puf_
#endif
extern void NAG_CALL C06PUF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06pxf_(direct, n1, n2, n3, x, work, ifail, length_direct)  \
C06PXF(direct, length_direct, n1, n2, n3, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06pxf_ C06PXF
#else
#define  C06PXF c06pxf_
#endif
extern void NAG_CALL C06PXF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST Integer REFPTR n3,
  Complex x[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06raf_(m, n, x, work, ifail)  \
C06RAF(m, n, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06raf_ C06RAF
#else
#define  C06RAF c06raf_
#endif
extern void NAG_CALL C06RAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06rbf_(m, n, x, work, ifail)  \
C06RBF(m, n, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06rbf_ C06RBF
#else
#define  C06RBF c06rbf_
#endif
extern void NAG_CALL C06RBF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06rcf_(direct, m, n, x, work, ifail, length_direct)  \
C06RCF(direct, length_direct, m, n, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06rcf_ C06RCF
#else
#define  C06RCF c06rcf_
#endif
extern void NAG_CALL C06RCF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c06rdf_(direct, m, n, x, work, ifail, length_direct)  \
C06RDF(direct, length_direct, m, n, x, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c06rdf_ C06RDF
#else
#define  C06RDF c06rdf_
#endif
extern void NAG_CALL C06RDF(
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c09aaf_(wavnam, wtrans, mode, n, nwl, nf, nwc, icomm, ifail, length_wavnam, length_wtrans, length_mode)  \
C09AAF(wavnam, length_wavnam, wtrans, length_wtrans, mode, length_mode, n, nwl, nf, nwc, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c09aaf_ C09AAF
#else
#define  C09AAF c09aaf_
#endif
extern void NAG_CALL C09AAF(
  CONST char * wavnam
#ifdef USE_STDCALL
,  CONST Charlen length_wavnam
#endif
,
  CONST char * wtrans
#ifdef USE_STDCALL
,  CONST Charlen length_wtrans
#endif
,
  CONST char * mode
#ifdef USE_STDCALL
,  CONST Charlen length_mode
#endif
,
  CONST Integer REFPTR n,
  Integer REFPTR nwl,
  Integer REFPTR nf,
  Integer REFPTR nwc,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_wavnam,
 CONST Charlen length_wtrans,
 CONST Charlen length_mode
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c09caf_(n, x, lenc, ca, cd, icomm, ifail)  \
C09CAF(n, x, lenc, ca, cd, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c09caf_ C09CAF
#else
#define  C09CAF c09caf_
#endif
extern void NAG_CALL C09CAF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR lenc,
  double ca[] /* 1 dimension */,
  double cd[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c09cbf_(lenc, ca, cd, n, y, icomm, ifail)  \
C09CBF(lenc, ca, cd, n, y, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c09cbf_ C09CBF
#else
#define  C09CBF c09cbf_
#endif
extern void NAG_CALL C09CBF(
  CONST Integer REFPTR lenc,
  CONST double ca[] /* 1 dimension */,
  CONST double cd[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double y[] /* 1 dimension */,
  CONST Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c09ccf_(n, x, lenc, c, nwl, dwtlev, icomm, ifail)  \
C09CCF(n, x, lenc, c, nwl, dwtlev, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c09ccf_ C09CCF
#else
#define  C09CCF c09ccf_
#endif
extern void NAG_CALL C09CCF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR lenc,
  double c[] /* 1 dimension */,
  CONST Integer REFPTR nwl,
  Integer dwtlev[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
c09cdf_(nwl, lenc, c, n, y, icomm, ifail)  \
C09CDF(nwl, lenc, c, n, y, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  c09cdf_ C09CDF
#else
#define  C09CDF c09cdf_
#endif
extern void NAG_CALL C09CDF(
  CONST Integer REFPTR nwl,
  CONST Integer REFPTR lenc,
  CONST double c[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double y[] /* 1 dimension */,
  CONST Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01ahf_(a, b, epsr, npts, relerr, f, nlimit, ifail)  \
D01AHF(a, b, epsr, npts, relerr, f, nlimit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01ahf_ D01AHF
#else
#define  D01AHF d01ahf_
#endif
extern double NAG_CALL D01AHF(
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR epsr,
  Integer REFPTR npts,
  double REFPTR relerr,
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  CONST Integer REFPTR nlimit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01ajf_(f, a, b, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01AJF(f, a, b, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01ajf_ D01AJF
#else
#define  D01AJF d01ajf_
#endif
extern void NAG_CALL D01AJF(
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01akf_(f, a, b, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01AKF(f, a, b, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01akf_ D01AKF
#else
#define  D01AKF d01akf_
#endif
extern void NAG_CALL D01AKF(
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01alf_(f, a, b, npts, points, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01ALF(f, a, b, npts, points, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01alf_ D01ALF
#else
#define  D01ALF d01alf_
#endif
extern void NAG_CALL D01ALF(
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST Integer REFPTR npts,
  CONST double points[] /* 1 dimension */,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01amf_(f, bound, inf, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01AMF(f, bound, inf, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01amf_ D01AMF
#else
#define  D01AMF d01amf_
#endif
extern void NAG_CALL D01AMF(
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  CONST double REFPTR bound,
  CONST Integer REFPTR inf,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01anf_(g, a, b, omega, key, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01ANF(g, a, b, omega, key, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01anf_ D01ANF
#else
#define  D01ANF d01anf_
#endif
extern void NAG_CALL D01ANF(
  double (NAG_CALL *g)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR omega,
  CONST Integer REFPTR key,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01apf_(g, a, b, alfa, beta, key, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01APF(g, a, b, alfa, beta, key, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01apf_ D01APF
#else
#define  D01APF d01apf_
#endif
extern void NAG_CALL D01APF(
  double (NAG_CALL *g)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR alfa,
  CONST double REFPTR beta,
  CONST Integer REFPTR key,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01aqf_(g, a, b, c, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01AQF(g, a, b, c, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01aqf_ D01AQF
#else
#define  D01AQF d01aqf_
#endif
extern void NAG_CALL D01AQF(
  double (NAG_CALL *g)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR c,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01arf_(a, b, fun, relacc, absacc, maxrul, iparm, acc, ans, n, alpha, ifail)  \
D01ARF(a, b, fun, relacc, absacc, maxrul, iparm, acc, ans, n, alpha, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01arf_ D01ARF
#else
#define  D01ARF d01arf_
#endif
extern void NAG_CALL D01ARF(
  CONST double REFPTR a,
  CONST double REFPTR b,
  double (NAG_CALL *fun)(
                         CONST double REFPTR ),
  CONST double REFPTR relacc,
  CONST double REFPTR absacc,
  CONST Integer REFPTR maxrul,
  CONST Integer REFPTR iparm,
  double REFPTR acc,
  double REFPTR ans,
  Integer REFPTR n,
  double alpha[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01asf_(g, a, omega, key, epsabs, result, abserr, limlst, lst, erlst, rslst, ierlst, w, lw, iw, liw, ifail)  \
D01ASF(g, a, omega, key, epsabs, result, abserr, limlst, lst, erlst, rslst, ierlst, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01asf_ D01ASF
#else
#define  D01ASF d01asf_
#endif
extern void NAG_CALL D01ASF(
  double (NAG_CALL *g)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR omega,
  CONST Integer REFPTR key,
  CONST double REFPTR epsabs,
  double REFPTR result,
  double REFPTR abserr,
  CONST Integer REFPTR limlst,
  Integer REFPTR lst,
  double erlst[] /* 1 dimension */,
  double rslst[] /* 1 dimension */,
  Integer ierlst[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01atf_(f, a, b, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01ATF(f, a, b, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01atf_ D01ATF
#else
#define  D01ATF d01atf_
#endif
extern void NAG_CALL D01ATF(
  void (NAG_CALL *f)(
                     CONST double[],
                     double[],
                     CONST Integer REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01auf_(f, a, b, key, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail)  \
D01AUF(f, a, b, key, epsabs, epsrel, result, abserr, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01auf_ D01AUF
#else
#define  D01AUF d01auf_
#endif
extern void NAG_CALL D01AUF(
  void (NAG_CALL *f)(
                     CONST double[],
                     double[],
                     CONST Integer REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST Integer REFPTR key,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01baf_(d01xxx, a, b, n, fun, ifail)  \
D01BAF(d01xxx, a, b, n, fun, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01baf_ D01BAF
#else
#define  D01BAF d01baf_
#endif
extern double NAG_CALL D01BAF(
  void (NAG_CALL *d01xxx)(
                          Integer REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST Integer REFPTR n,
  double (NAG_CALL *fun)(
                         CONST double REFPTR ),
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01baw_(iflag)  \
D01BAW(iflag) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01baw_ D01BAW
#else
#define  D01BAW d01baw_
#endif
extern void NAG_CALL D01BAW(
  Integer REFPTR iflag
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01bax_(iflag)  \
D01BAX(iflag) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01bax_ D01BAX
#else
#define  D01BAX d01bax_
#endif
extern void NAG_CALL D01BAX(
  Integer REFPTR iflag
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01bay_(iflag)  \
D01BAY(iflag) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01bay_ D01BAY
#else
#define  D01BAY d01bay_
#endif
extern void NAG_CALL D01BAY(
  Integer REFPTR iflag
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01baz_(iflag)  \
D01BAZ(iflag) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01baz_ D01BAZ
#else
#define  D01BAZ d01baz_
#endif
extern void NAG_CALL D01BAZ(
  Integer REFPTR iflag
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01bbf_(d01xxx, a, b, itype, n, weight, abscis, ifail)  \
D01BBF(d01xxx, a, b, itype, n, weight, abscis, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01bbf_ D01BBF
#else
#define  D01BBF d01bbf_
#endif
extern void NAG_CALL D01BBF(
  void (NAG_CALL *d01xxx)(
                          Integer REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST Integer REFPTR itype,
  CONST Integer REFPTR n,
  double weight[] /* 1 dimension */,
  double abscis[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01bcf_(itype, a, b, c, d, n, weight, abscis, ifail)  \
D01BCF(itype, a, b, c, d, n, weight, abscis, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01bcf_ D01BCF
#else
#define  D01BCF d01bcf_
#endif
extern void NAG_CALL D01BCF(
  CONST Integer REFPTR itype,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR c,
  CONST double REFPTR d,
  CONST Integer REFPTR n,
  double weight[] /* 1 dimension */,
  double abscis[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01bdf_(f, a, b, epsabs, epsrel, result, abserr)  \
D01BDF(f, a, b, epsabs, epsrel, result, abserr) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01bdf_ D01BDF
#else
#define  D01BDF d01bdf_
#endif
extern void NAG_CALL D01BDF(
  double (NAG_CALL *f)(
                       CONST double REFPTR ),
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR epsabs,
  CONST double REFPTR epsrel,
  double REFPTR result,
  double REFPTR abserr
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01daf_(ya, yb, phi1, phi2, f, absacc, ans, npts, ifail)  \
D01DAF(ya, yb, phi1, phi2, f, absacc, ans, npts, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01daf_ D01DAF
#else
#define  D01DAF d01daf_
#endif
extern void NAG_CALL D01DAF(
  CONST double REFPTR ya,
  CONST double REFPTR yb,
  double (NAG_CALL *phi1)(
                          CONST double REFPTR ),
  double (NAG_CALL *phi2)(
                          CONST double REFPTR ),
  double (NAG_CALL *f)(
                       CONST double REFPTR ,
                       CONST double REFPTR ),
  CONST double REFPTR absacc,
  double REFPTR ans,
  Integer REFPTR npts,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01eaf_(ndim, a, b, mincls, maxcls, nfun, funsub, absreq, relreq, lenwrk, wrkstr, finest, absest, ifail)  \
D01EAF(ndim, a, b, mincls, maxcls, nfun, funsub, absreq, relreq, lenwrk, wrkstr, finest, absest, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01eaf_ D01EAF
#else
#define  D01EAF d01eaf_
#endif
extern void NAG_CALL D01EAF(
  CONST Integer REFPTR ndim,
  CONST double a[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  Integer REFPTR mincls,
  CONST Integer REFPTR maxcls,
  CONST Integer REFPTR nfun,
  void (NAG_CALL *funsub)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[]),
  CONST double REFPTR absreq,
  CONST double REFPTR relreq,
  CONST Integer REFPTR lenwrk,
  double wrkstr[] /* 1 dimension */,
  double finest[] /* 1 dimension */,
  double absest[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01fbf_(ndim, nptvec, lwa, weight, abscis, fun, ifail)  \
D01FBF(ndim, nptvec, lwa, weight, abscis, fun, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01fbf_ D01FBF
#else
#define  D01FBF d01fbf_
#endif
extern double NAG_CALL D01FBF(
  CONST Integer REFPTR ndim,
  CONST Integer nptvec[] /* 1 dimension */,
  CONST Integer REFPTR lwa,
  CONST double weight[] /* 1 dimension */,
  CONST double abscis[] /* 1 dimension */,
  double (NAG_CALL *fun)(
                         CONST Integer REFPTR ,
                         CONST double[]),
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01fcf_(ndim, a, b, minpts, maxpts, functn, eps, acc, lenwrk, wrkstr, finval, ifail)  \
D01FCF(ndim, a, b, minpts, maxpts, functn, eps, acc, lenwrk, wrkstr, finval, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01fcf_ D01FCF
#else
#define  D01FCF d01fcf_
#endif
extern void NAG_CALL D01FCF(
  CONST Integer REFPTR ndim,
  CONST double a[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  Integer REFPTR minpts,
  CONST Integer REFPTR maxpts,
  double (NAG_CALL *functn)(
                            CONST Integer REFPTR ,
                            CONST double[]),
  CONST double REFPTR eps,
  double REFPTR acc,
  CONST Integer REFPTR lenwrk,
  double wrkstr[] /* 1 dimension */,
  double REFPTR finval,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01fdf_(ndim, f, sigma, region, limit, r0, u, result, ncalls, ifail)  \
D01FDF(ndim, f, sigma, region, limit, r0, u, result, ncalls, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01fdf_ D01FDF
#else
#define  D01FDF d01fdf_
#endif
extern void NAG_CALL D01FDF(
  CONST Integer REFPTR ndim,
  double (NAG_CALL *f)(
                       CONST Integer REFPTR ,
                       CONST double[]),
  CONST double REFPTR sigma,
  void (NAG_CALL *region)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ),
  CONST Integer REFPTR limit,
  CONST double REFPTR r0,
  CONST double REFPTR u,
  double REFPTR result,
  Integer REFPTR ncalls,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01fdv_(ndim, x, j, c, d)  \
D01FDV(ndim, x, j, c, d) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01fdv_ D01FDV
#else
#define  D01FDV d01fdv_
#endif
extern void NAG_CALL D01FDV(
  CONST Integer REFPTR ndim,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR j,
  double REFPTR c,
  double REFPTR d
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01gaf_(x, y, n, ans, er, ifail)  \
D01GAF(x, y, n, ans, er, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01gaf_ D01GAF
#else
#define  D01GAF d01gaf_
#endif
extern void NAG_CALL D01GAF(
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double REFPTR ans,
  double REFPTR er,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01gbf_(ndim, a, b, mincls, maxcls, functn, eps, acc, lenwrk, wrkstr, finest, ifail)  \
D01GBF(ndim, a, b, mincls, maxcls, functn, eps, acc, lenwrk, wrkstr, finest, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01gbf_ D01GBF
#else
#define  D01GBF d01gbf_
#endif
extern void NAG_CALL D01GBF(
  CONST Integer REFPTR ndim,
  CONST double a[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  Integer REFPTR mincls,
  CONST Integer REFPTR maxcls,
  double (NAG_CALL *functn)(
                            CONST Integer REFPTR ,
                            CONST double[]),
  CONST double REFPTR eps,
  double REFPTR acc,
  CONST Integer REFPTR lenwrk,
  double wrkstr[] /* 1 dimension */,
  double REFPTR finest,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01gcf_(ndim, f, region, npts, vk, nrand, itrans, res, err, ifail)  \
D01GCF(ndim, f, region, npts, vk, nrand, itrans, res, err, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01gcf_ D01GCF
#else
#define  D01GCF d01gcf_
#endif
extern void NAG_CALL D01GCF(
  CONST Integer REFPTR ndim,
  double (NAG_CALL *f)(
                       CONST Integer REFPTR ,
                       CONST double[]),
  void (NAG_CALL *region)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ),
  CONST Integer REFPTR npts,
  double vk[] /* 1 dimension */,
  CONST Integer REFPTR nrand,
  CONST Integer REFPTR itrans,
  double REFPTR res,
  double REFPTR err,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01gdf_(ndim, vecfun, vecreg, npts, vk, nrand, itrans, res, err, ifail)  \
D01GDF(ndim, vecfun, vecreg, npts, vk, nrand, itrans, res, err, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01gdf_ D01GDF
#else
#define  D01GDF d01gdf_
#endif
extern void NAG_CALL D01GDF(
  CONST Integer REFPTR ndim,
  void (NAG_CALL *vecfun)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *vecreg)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          CONST Integer REFPTR ),
  CONST Integer REFPTR npts,
  double vk[] /* 1 dimension */,
  CONST Integer REFPTR nrand,
  CONST Integer REFPTR itrans,
  double REFPTR res,
  double REFPTR err,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01gyf_(ndim, npts, vk, ifail)  \
D01GYF(ndim, npts, vk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01gyf_ D01GYF
#else
#define  D01GYF d01gyf_
#endif
extern void NAG_CALL D01GYF(
  CONST Integer REFPTR ndim,
  CONST Integer REFPTR npts,
  double vk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01gzf_(ndim, np1, np2, vk, ifail)  \
D01GZF(ndim, np1, np2, vk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01gzf_ D01GZF
#else
#define  D01GZF d01gzf_
#endif
extern void NAG_CALL D01GZF(
  CONST Integer REFPTR ndim,
  CONST Integer REFPTR np1,
  CONST Integer REFPTR np2,
  double vk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01jaf_(f, ndim, radius, epsa, epsr, method, icoord, result, esterr, nevals, ifail)  \
D01JAF(f, ndim, radius, epsa, epsr, method, icoord, result, esterr, nevals, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01jaf_ D01JAF
#else
#define  D01JAF d01jaf_
#endif
extern void NAG_CALL D01JAF(
  double (NAG_CALL *f)(
                       CONST Integer REFPTR ,
                       CONST double[]),
  CONST Integer REFPTR ndim,
  CONST double REFPTR radius,
  CONST double REFPTR epsa,
  CONST double REFPTR epsr,
  CONST Integer REFPTR method,
  CONST Integer REFPTR icoord,
  double REFPTR result,
  double REFPTR esterr,
  Integer REFPTR nevals,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d01paf_(ndim, vert, ldvert, sdvert, functn, minord, maxord, finvls, esterr, ifail)  \
D01PAF(ndim, vert, ldvert, sdvert, functn, minord, maxord, finvls, esterr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d01paf_ D01PAF
#else
#define  D01PAF d01paf_
#endif
extern void NAG_CALL D01PAF(
  CONST Integer REFPTR ndim,
  double vert[] /* 2 dimension */,
  CONST Integer REFPTR ldvert,
  CONST Integer REFPTR sdvert,
  double (NAG_CALL *functn)(
                            CONST Integer REFPTR ,
                            CONST double[]),
  Integer REFPTR minord,
  CONST Integer REFPTR maxord,
  double finvls[] /* 1 dimension */,
  double REFPTR esterr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02agf_(h, e, parerr, param, c, n, n1, m1, aux, bcaux, raaux, prsol, mat, copy, wspace, wspac1, wspac2, ifail)  \
D02AGF(h, e, parerr, param, c, n, n1, m1, aux, bcaux, raaux, prsol, mat, copy, wspace, wspac1, wspac2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02agf_ D02AGF
#else
#define  D02AGF d02agf_
#endif
extern void NAG_CALL D02AGF(
  double REFPTR h,
  CONST double e[] /* 1 dimension */,
  CONST double parerr[] /* 1 dimension */,
  double param[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR m1,
  void (NAG_CALL *aux)(
                       double[],
                       CONST double[],
                       CONST double REFPTR ,
                       CONST double[]),
  void (NAG_CALL *bcaux)(
                         double[],
                         double[],
                         CONST double[]),
  void (NAG_CALL *raaux)(
                         double REFPTR ,
                         double REFPTR ,
                         double REFPTR ,
                         CONST double[]),
  void (NAG_CALL *prsol)(
                         CONST double[],
                         CONST double REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[]),
  double mat[] /* 2 dimension */,
  CONST double copy[] /* 2 dimension */,
  double wspace[] /* 2 dimension */,
  double wspac1[] /* 1 dimension */,
  double wspac2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02bgf_(x, xend, n, y, tol, hmax, m, val, fcn, w, ifail)  \
D02BGF(x, xend, n, y, tol, hmax, m, val, fcn, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02bgf_ D02BGF
#else
#define  D02BGF d02bgf_
#endif
extern void NAG_CALL D02BGF(
  double REFPTR x,
  CONST double REFPTR xend,
  CONST Integer REFPTR n,
  double y[] /* 1 dimension */,
  double REFPTR tol,
  CONST double REFPTR hmax,
  CONST Integer REFPTR m,
  CONST double REFPTR val,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  double w[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02bhf_(x, xend, n, y, tol, irelab, hmax, fcn, g, w, ifail)  \
D02BHF(x, xend, n, y, tol, irelab, hmax, fcn, g, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02bhf_ D02BHF
#else
#define  D02BHF d02bhf_
#endif
extern void NAG_CALL D02BHF(
  double REFPTR x,
  CONST double REFPTR xend,
  CONST Integer REFPTR n,
  double y[] /* 1 dimension */,
  double REFPTR tol,
  CONST Integer REFPTR irelab,
  CONST double REFPTR hmax,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  double (NAG_CALL *g)(
                       CONST double REFPTR ,
                       CONST double[]),
  double w[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02bjf_(x, xend, n, y, fcn, tol, relabs, output, g, w, ifail, length_relabs)  \
D02BJF(x, xend, n, y, fcn, tol, relabs, length_relabs, output, g, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02bjf_ D02BJF
#else
#define  D02BJF d02bjf_
#endif
extern void NAG_CALL D02BJF(
  double REFPTR x,
  CONST double REFPTR xend,
  CONST Integer REFPTR n,
  double y[] /* 1 dimension */,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  CONST double REFPTR tol,
  CONST char * relabs
#ifdef USE_STDCALL
,  CONST Charlen length_relabs
#endif
,
  void (NAG_CALL *output)(
                          double REFPTR ,
                          CONST double[]),
  double (NAG_CALL *g)(
                       CONST double REFPTR ,
                       CONST double[]),
  double w[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_relabs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02bjw_(x, y)  \
D02BJW(x, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02bjw_ D02BJW
#else
#define  D02BJW d02bjw_
#endif
extern double NAG_CALL D02BJW(
  CONST double REFPTR x,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02bjx_(xsol, y)  \
D02BJX(xsol, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02bjx_ D02BJX
#else
#define  D02BJX d02bjx_
#endif
extern void NAG_CALL D02BJX(
  double REFPTR xsol,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02cjf_(x, xend, n, y, fcn, tol, relabs, output, g, w, ifail, length_relabs)  \
D02CJF(x, xend, n, y, fcn, tol, relabs, length_relabs, output, g, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02cjf_ D02CJF
#else
#define  D02CJF d02cjf_
#endif
extern void NAG_CALL D02CJF(
  double REFPTR x,
  CONST double REFPTR xend,
  CONST Integer REFPTR n,
  double y[] /* 1 dimension */,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  CONST double REFPTR tol,
  CONST char * relabs
#ifdef USE_STDCALL
,  CONST Charlen length_relabs
#endif
,
  void (NAG_CALL *output)(
                          double REFPTR ,
                          CONST double[]),
  double (NAG_CALL *g)(
                       CONST double REFPTR ,
                       CONST double[]),
  double w[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_relabs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02cjw_(x, y)  \
D02CJW(x, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02cjw_ D02CJW
#else
#define  D02CJW d02cjw_
#endif
extern double NAG_CALL D02CJW(
  CONST double REFPTR x,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02cjx_(xsol, y)  \
D02CJX(xsol, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02cjx_ D02CJX
#else
#define  D02CJX d02cjx_
#endif
extern void NAG_CALL D02CJX(
  double REFPTR xsol,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ejf_(x, xend, n, y, fcn, pederv, tol, relabs, output, g, w, iw, ifail, length_relabs)  \
D02EJF(x, xend, n, y, fcn, pederv, tol, relabs, length_relabs, output, g, w, iw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ejf_ D02EJF
#else
#define  D02EJF d02ejf_
#endif
extern void NAG_CALL D02EJF(
  double REFPTR x,
  CONST double REFPTR xend,
  CONST Integer REFPTR n,
  double y[] /* 1 dimension */,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  void (NAG_CALL *pederv)(
                          CONST double REFPTR ,
                          CONST double[],
                          double[]),
  double REFPTR tol,
  CONST char * relabs
#ifdef USE_STDCALL
,  CONST Charlen length_relabs
#endif
,
  void (NAG_CALL *output)(
                          double REFPTR ,
                          CONST double[]),
  double (NAG_CALL *g)(
                       CONST double REFPTR ,
                       CONST double[]),
  double w[] /* 1 dimension */,
  CONST Integer REFPTR iw,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_relabs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ejw_(x, y)  \
D02EJW(x, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ejw_ D02EJW
#else
#define  D02EJW d02ejw_
#endif
extern double NAG_CALL D02EJW(
  CONST double REFPTR x,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ejx_(xsol, y)  \
D02EJX(xsol, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ejx_ D02EJX
#else
#define  D02EJX d02ejx_
#endif
extern void NAG_CALL D02EJX(
  double REFPTR xsol,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ejy_(x, y, pw)  \
D02EJY(x, y, pw) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ejy_ D02EJY
#else
#define  D02EJY d02ejy_
#endif
extern void NAG_CALL D02EJY(
  CONST double REFPTR x,
  CONST double y[] /* 1 dimension */,
  double pw[] /* 2 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02gaf_(u, v, n, a, b, tol, fcn, mnp, x, y, np, w, lw, iw, liw, ifail)  \
D02GAF(u, v, n, a, b, tol, fcn, mnp, x, y, np, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02gaf_ D02GAF
#else
#define  D02GAF d02gaf_
#endif
extern void NAG_CALL D02GAF(
  CONST double u[] /* 2 dimension */,
  CONST double v[] /* 2 dimension */,
  CONST Integer REFPTR n,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR tol,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  CONST Integer REFPTR mnp,
  double x[] /* 1 dimension */,
  double y[] /* 2 dimension */,
  Integer REFPTR np,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02gaw_(x, eps, y, f, n)  \
D02GAW(x, eps, y, f, n) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02gaw_ D02GAW
#else
#define  D02GAW d02gaw_
#endif
extern void NAG_CALL D02GAW(
  CONST double REFPTR x,
  CONST double REFPTR eps,
  CONST double y[] /* 1 dimension */,
  double f[] /* 1 dimension */,
  CONST Integer REFPTR n
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02gax_(eps, ya, yb, bcep, n)  \
D02GAX(eps, ya, yb, bcep, n) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02gax_ D02GAX
#else
#define  D02GAX d02gax_
#endif
extern void NAG_CALL D02GAX(
  CONST double REFPTR eps,
  CONST double ya[] /* 1 dimension */,
  CONST double yb[] /* 1 dimension */,
  double bcep[] /* 1 dimension */,
  CONST Integer REFPTR n
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02gay_(eps, ya, yb, aj, bj, n)  \
D02GAY(eps, ya, yb, aj, bj, n) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02gay_ D02GAY
#else
#define  D02GAY d02gay_
#endif
extern void NAG_CALL D02GAY(
  CONST double REFPTR eps,
  CONST double ya[] /* 1 dimension */,
  CONST double yb[] /* 1 dimension */,
  double aj[] /* 2 dimension */,
  double bj[] /* 2 dimension */,
  CONST Integer REFPTR n
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02gaz_(x, eps, y, f, n)  \
D02GAZ(x, eps, y, f, n) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02gaz_ D02GAZ
#else
#define  D02GAZ d02gaz_
#endif
extern void NAG_CALL D02GAZ(
  CONST double REFPTR x,
  CONST double REFPTR eps,
  CONST double y[] /* 1 dimension */,
  double f[] /* 2 dimension */,
  CONST Integer REFPTR n
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02gbf_(a, b, n, tol, fcnf, fcng, c, d, gam, mnp, x, y, np, w, lw, iw, liw, ifail)  \
D02GBF(a, b, n, tol, fcnf, fcng, c, d, gam, mnp, x, y, np, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02gbf_ D02GBF
#else
#define  D02GBF d02gbf_
#endif
extern void NAG_CALL D02GBF(
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST Integer REFPTR n,
  CONST double REFPTR tol,
  void (NAG_CALL *fcnf)(
                        CONST double REFPTR ,
                        double[]),
  void (NAG_CALL *fcng)(
                        CONST double REFPTR ,
                        double[]),
  double c[] /* 2 dimension */,
  double d[] /* 2 dimension */,
  double gam[] /* 1 dimension */,
  CONST Integer REFPTR mnp,
  double x[] /* 1 dimension */,
  double y[] /* 2 dimension */,
  Integer REFPTR np,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02haf_(u, v, n, a, b, tol, fcn, soln, m1, w, sdw, ifail)  \
D02HAF(u, v, n, a, b, tol, fcn, soln, m1, w, sdw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02haf_ D02HAF
#else
#define  D02HAF d02haf_
#endif
extern void NAG_CALL D02HAF(
  double u[] /* 2 dimension */,
  CONST double v[] /* 2 dimension */,
  CONST Integer REFPTR n,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR tol,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  double soln[] /* 2 dimension */,
  CONST Integer REFPTR m1,
  double w[] /* 2 dimension */,
  CONST Integer REFPTR sdw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02hbf_(p, n1, pe, e, n, soln, m1, fcn, bc, range, w, sdw, ifail)  \
D02HBF(p, n1, pe, e, n, soln, m1, fcn, bc, range, w, sdw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02hbf_ D02HBF
#else
#define  D02HBF d02hbf_
#endif
extern void NAG_CALL D02HBF(
  double p[] /* 1 dimension */,
  CONST Integer REFPTR n1,
  CONST double pe[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double soln[] /* 2 dimension */,
  CONST Integer REFPTR m1,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[],
                       CONST double[]),
  void (NAG_CALL *bc)(
                      double[],
                      double[],
                      CONST double[]),
  void (NAG_CALL *range)(
                         double REFPTR ,
                         double REFPTR ,
                         CONST double[]),
  double w[] /* 2 dimension */,
  CONST Integer REFPTR sdw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02hbw_(z, y, n)  \
D02HBW(z, y, n) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02hbw_ D02HBW
#else
#define  D02HBW d02hbw_
#endif
extern void NAG_CALL D02HBW(
  double REFPTR z,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR n
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02hbx_(istate, iflag, ifail1, p, m, f, pnorm, pnorm1, eps, d)  \
D02HBX(istate, iflag, ifail1, p, m, f, pnorm, pnorm1, eps, d) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02hbx_ D02HBX
#else
#define  D02HBX d02hbx_
#endif
extern void NAG_CALL D02HBX(
  CONST Integer REFPTR istate,
  CONST Integer REFPTR iflag,
  CONST Integer REFPTR ifail1,
  CONST double p[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double f[] /* 1 dimension */,
  CONST double REFPTR pnorm,
  CONST double REFPTR pnorm1,
  CONST double REFPTR eps,
  CONST double d[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02hby_(p, m)  \
D02HBY(p, m) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02hby_ D02HBY
#else
#define  D02HBY d02hby_
#endif
extern logical NAG_CALL D02HBY(
  CONST double p[] /* 1 dimension */,
  CONST Integer REFPTR m
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02hbz_(e, q, p, m)  \
D02HBZ(e, q, p, m) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02hbz_ D02HBZ
#else
#define  D02HBZ d02hbz_
#endif
extern void NAG_CALL D02HBZ(
  double e[] /* 1 dimension */,
  CONST Integer REFPTR q,
  CONST double p[] /* 1 dimension */,
  CONST Integer REFPTR m
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02jaf_(n, cf, bc, x0, x1, k1, kp, c, w, lw, iw, ifail)  \
D02JAF(n, cf, bc, x0, x1, k1, kp, c, w, lw, iw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02jaf_ D02JAF
#else
#define  D02JAF d02jaf_
#endif
extern void NAG_CALL D02JAF(
  CONST Integer REFPTR n,
  double (NAG_CALL *cf)(
                        CONST Integer REFPTR ,
                        CONST double REFPTR ),
  void (NAG_CALL *bc)(
                      CONST Integer REFPTR ,
                      Integer REFPTR ,
                      double REFPTR ),
  CONST double REFPTR x0,
  CONST double REFPTR x1,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR kp,
  double c[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02jbf_(n, cf, bc, x0, x1, k1, kp, c, ldc, w, lw, iw, liw, ifail)  \
D02JBF(n, cf, bc, x0, x1, k1, kp, c, ldc, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02jbf_ D02JBF
#else
#define  D02JBF d02jbf_
#endif
extern void NAG_CALL D02JBF(
  CONST Integer REFPTR n,
  double (NAG_CALL *cf)(
                        CONST Integer REFPTR ,
                        CONST Integer REFPTR ,
                        CONST double REFPTR ),
  void (NAG_CALL *bc)(
                      CONST Integer REFPTR ,
                      Integer REFPTR ,
                      double REFPTR ),
  CONST double REFPTR x0,
  CONST double REFPTR x1,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR kp,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02kaf_(xl, xr, coeffn, bcond, k, tol, elam, delam, monit, ifail)  \
D02KAF(xl, xr, coeffn, bcond, k, tol, elam, delam, monit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02kaf_ D02KAF
#else
#define  D02KAF d02kaf_
#endif
extern void NAG_CALL D02KAF(
  CONST double REFPTR xl,
  CONST double REFPTR xr,
  void (NAG_CALL *coeffn)(
                          double REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ),
  double bcond[] /* 2 dimension */,
  CONST Integer REFPTR k,
  CONST double REFPTR tol,
  double REFPTR elam,
  double REFPTR delam,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[]),
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02kay_(nit, iflag, elam, finfo)  \
D02KAY(nit, iflag, elam, finfo) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02kay_ D02KAY
#else
#define  D02KAY d02kay_
#endif
extern void NAG_CALL D02KAY(
  CONST Integer REFPTR nit,
  CONST Integer REFPTR iflag,
  CONST double REFPTR elam,
  CONST double finfo[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02kdf_(xpoint, m, coeffn, bdyval, k, tol, elam, delam, hmax, maxit, maxfun, monit, ifail)  \
D02KDF(xpoint, m, coeffn, bdyval, k, tol, elam, delam, hmax, maxit, maxfun, monit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02kdf_ D02KDF
#else
#define  D02KDF d02kdf_
#endif
extern void NAG_CALL D02KDF(
  CONST double xpoint[] /* 1 dimension */,
  CONST Integer REFPTR m,
  void (NAG_CALL *coeffn)(
                          double REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ),
  void (NAG_CALL *bdyval)(
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double[],
                          double[]),
  CONST Integer REFPTR k,
  CONST double REFPTR tol,
  double REFPTR elam,
  double REFPTR delam,
  double hmax[] /* 2 dimension */,
  Integer REFPTR maxit,
  CONST Integer REFPTR maxfun,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[]),
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02kef_(xpoint, m, match, coeffn, bdyval, k, tol, elam, delam, hmax, maxit, maxfun, monit, report, ifail)  \
D02KEF(xpoint, m, match, coeffn, bdyval, k, tol, elam, delam, hmax, maxit, maxfun, monit, report, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02kef_ D02KEF
#else
#define  D02KEF d02kef_
#endif
extern void NAG_CALL D02KEF(
  CONST double xpoint[] /* 1 dimension */,
  CONST Integer REFPTR m,
  Integer REFPTR match,
  void (NAG_CALL *coeffn)(
                          double REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ),
  void (NAG_CALL *bdyval)(
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double[],
                          double[]),
  CONST Integer REFPTR k,
  CONST double REFPTR tol,
  double REFPTR elam,
  double REFPTR delam,
  double hmax[] /* 2 dimension */,
  Integer REFPTR maxit,
  CONST Integer REFPTR maxfun,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[]),
  void (NAG_CALL *report)(
                          CONST double REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ),
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02laf_(fcn, neq, t, tend, y, yp, ydp, rwork, lrwork, ifail)  \
D02LAF(fcn, neq, t, tend, y, yp, ydp, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02laf_ D02LAF
#else
#define  D02LAF d02laf_
#endif
extern void NAG_CALL D02LAF(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  CONST Integer REFPTR neq,
  double REFPTR t,
  CONST double REFPTR tend,
  double y[] /* 1 dimension */,
  double yp[] /* 1 dimension */,
  double ydp[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02lxf_(neq, h, tol, thres, thresp, maxstp, start, onestp, high, rwork, lrwork, ifail)  \
D02LXF(neq, h, tol, thres, thresp, maxstp, start, onestp, high, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02lxf_ D02LXF
#else
#define  D02LXF d02lxf_
#endif
extern void NAG_CALL D02LXF(
  CONST Integer REFPTR neq,
  CONST double REFPTR h,
  CONST double REFPTR tol,
  CONST double thres[] /* 1 dimension */,
  CONST double thresp[] /* 1 dimension */,
  CONST Integer REFPTR maxstp,
  logical REFPTR start,
  CONST logical REFPTR onestp,
  CONST logical REFPTR high,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02lyf_(neq, hnext, hused, hstart, nsucc, nfail, natt, thres, thresp, rwork, lrwork, ifail)  \
D02LYF(neq, hnext, hused, hstart, nsucc, nfail, natt, thres, thresp, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02lyf_ D02LYF
#else
#define  D02LYF d02lyf_
#endif
extern void NAG_CALL D02LYF(
  CONST Integer REFPTR neq,
  double REFPTR hnext,
  double REFPTR hused,
  double REFPTR hstart,
  Integer REFPTR nsucc,
  Integer REFPTR nfail,
  Integer REFPTR natt,
  double thres[] /* 1 dimension */,
  double thresp[] /* 1 dimension */,
  CONST double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02lzf_(neq, t, y, yp, nwant, twant, ywant, ypwant, rwork, lrwork, ifail)  \
D02LZF(neq, t, y, yp, nwant, twant, ywant, ypwant, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02lzf_ D02LZF
#else
#define  D02LZF d02lzf_
#endif
extern void NAG_CALL D02LZF(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double yp[] /* 1 dimension */,
  CONST Integer REFPTR nwant,
  CONST double REFPTR twant,
  double ywant[] /* 1 dimension */,
  double ypwant[] /* 1 dimension */,
  CONST double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02mcf_(icom)  \
D02MCF(icom) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02mcf_ D02MCF
#else
#define  D02MCF d02mcf_
#endif
extern void NAG_CALL D02MCF(
  Integer icom[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02mvf_(neqmax, sdysav, maxord, con, tcrit, hmin, hmax, h0, maxstp, mxhnil, norm, rwork, ifail, length_norm)  \
D02MVF(neqmax, sdysav, maxord, con, tcrit, hmin, hmax, h0, maxstp, mxhnil, norm, length_norm, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02mvf_ D02MVF
#else
#define  D02MVF d02mvf_
#endif
extern void NAG_CALL D02MVF(
  CONST Integer REFPTR neqmax,
  CONST Integer REFPTR sdysav,
  CONST Integer REFPTR maxord,
  double con[] /* 1 dimension */,
  CONST double REFPTR tcrit,
  CONST double REFPTR hmin,
  CONST double REFPTR hmax,
  CONST double REFPTR h0,
  CONST Integer REFPTR maxstp,
  CONST Integer REFPTR mxhnil,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02mwf_(neq, maxord, jceval, hmax, h0, itol, icom, licom, com, lcom, ifail, length_jceval)  \
D02MWF(neq, maxord, jceval, length_jceval, hmax, h0, itol, icom, licom, com, lcom, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02mwf_ D02MWF
#else
#define  D02MWF d02mwf_
#endif
extern void NAG_CALL D02MWF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR maxord,
  CONST char * jceval
#ifdef USE_STDCALL
,  CONST Charlen length_jceval
#endif
,
  CONST double REFPTR hmax,
  CONST double REFPTR h0,
  CONST Integer REFPTR itol,
  Integer icom[] /* 1 dimension */,
  CONST Integer REFPTR licom,
  double com[] /* 1 dimension */,
  CONST Integer REFPTR lcom,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_jceval
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02mzf_(tsol, sol, m, ldysav, neq, ysav, sdysav, rwork, ifail)  \
D02MZF(tsol, sol, m, ldysav, neq, ysav, sdysav, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02mzf_ D02MZF
#else
#define  D02MZF d02mzf_
#endif
extern void NAG_CALL D02MZF(
  CONST double REFPTR tsol,
  double sol[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ldysav,
  CONST Integer REFPTR neq,
  CONST double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  CONST double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nbf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, fcn, ysav, sdysav, jac, wkjac, nwkjac, monitr, itask, itrace, ifail)  \
D02NBF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, fcn, ysav, sdysav, jac, wkjac, nwkjac, monitr, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nbf_ D02NBF
#else
#define  D02NBF d02nbf_
#endif
extern void NAG_CALL D02NBF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  CONST double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       double[],
                       Integer REFPTR ),
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  void (NAG_CALL *jac)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       double[]),
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double REFPTR ,
                          double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          Integer REFPTR ,
                          Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST Integer REFPTR ),
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nby_(neq, ldysav, t, hlast, hnext, y, ydot, ysav, r, acor, imon, inln, hmin, hmax, nqu)  \
D02NBY(neq, ldysav, t, hlast, hnext, y, ydot, ysav, r, acor, imon, inln, hmin, hmax, nqu) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nby_ D02NBY
#else
#define  D02NBY d02nby_
#endif
extern void NAG_CALL D02NBY(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  CONST double REFPTR t,
  CONST double REFPTR hlast,
  double REFPTR hnext,
  double y[] /* 1 dimension */,
  CONST double ydot[] /* 1 dimension */,
  CONST double ysav[] /* 2 dimension */,
  CONST double r[] /* 1 dimension */,
  CONST double acor[] /* 2 dimension */,
  Integer REFPTR imon,
  Integer REFPTR inln,
  double REFPTR hmin,
  double REFPTR hmax,
  CONST Integer REFPTR nqu
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nbz_(neq, t, y, h, d, p)  \
D02NBZ(neq, t, y, h, d, p) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nbz_ D02NBZ
#else
#define  D02NBZ d02nbz_
#endif
extern void NAG_CALL D02NBZ(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double REFPTR h,
  CONST double REFPTR d,
  double p[] /* 2 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ncf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, fcn, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, itask, itrace, ifail)  \
D02NCF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, fcn, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ncf_ D02NCF
#else
#define  D02NCF d02ncf_
#endif
extern void NAG_CALL D02NCF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  CONST double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       double[],
                       Integer REFPTR ),
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  void (NAG_CALL *jac)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       CONST Integer REFPTR ,
                       CONST Integer REFPTR ,
                       double[]),
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  Integer jacpvt[] /* 1 dimension */,
  CONST Integer REFPTR njcpvt,
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double REFPTR ,
                          double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          Integer REFPTR ,
                          Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST Integer REFPTR ),
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ncz_(neq, t, y, h, d, ml, mu, p)  \
D02NCZ(neq, t, y, h, d, ml, mu, p) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ncz_ D02NCZ
#else
#define  D02NCZ d02ncz_
#endif
extern void NAG_CALL D02NCZ(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double REFPTR h,
  CONST double REFPTR d,
  CONST Integer REFPTR ml,
  CONST Integer REFPTR mu,
  double p[] /* 2 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ndf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, fcn, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, itask, itrace, ifail)  \
D02NDF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, fcn, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ndf_ D02NDF
#else
#define  D02NDF d02ndf_
#endif
extern void NAG_CALL D02NDF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  CONST double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       double[],
                       Integer REFPTR ),
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  void (NAG_CALL *jac)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       CONST Integer REFPTR ,
                       double[]),
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  Integer jacpvt[] /* 1 dimension */,
  CONST Integer REFPTR njcpvt,
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double REFPTR ,
                          double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          Integer REFPTR ,
                          Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST Integer REFPTR ),
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ndz_(neq, t, y, h, d, j, pdj)  \
D02NDZ(neq, t, y, h, d, j, pdj) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ndz_ D02NDZ
#else
#define  D02NDZ d02ndz_
#endif
extern void NAG_CALL D02NDZ(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double REFPTR h,
  CONST double REFPTR d,
  CONST Integer REFPTR j,
  double pdj[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nef_(neq, t, tout, y, ydot, rtol, atol, itask, res, jac, icom, com, lcom, iuser, ruser, ifail)  \
D02NEF(neq, t, tout, y, ydot, rtol, atol, itask, res, jac, icom, com, lcom, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nef_ D02NEF
#else
#define  D02NEF d02nef_
#endif
extern void NAG_CALL D02NEF(
  CONST Integer REFPTR neq,
  double REFPTR t,
  CONST double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rtol[] /* 1 dimension */,
  double atol[] /* 1 dimension */,
  Integer REFPTR itask,
  void (NAG_CALL *res)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double[],
                       double[],
                       Integer REFPTR ,
                       Integer[],
                       double[]),
  void (NAG_CALL *jac)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double[],
                       double[],
                       CONST double REFPTR ,
                       Integer[],
                       double[]),
  Integer icom[] /* 1 dimension */,
  double com[] /* 1 dimension */,
  CONST Integer REFPTR lcom,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nez_(neq, t, y, ydot, pd, cj, iuser, ruser)  \
D02NEZ(neq, t, y, ydot, pd, cj, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nez_ D02NEZ
#else
#define  D02NEZ d02nez_
#endif
extern void NAG_CALL D02NEZ(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double ydot[] /* 1 dimension */,
  double pd[] /* 1 dimension */,
  CONST double REFPTR cj,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ngf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, resid, ysav, sdysav, jac, wkjac, nwkjac, monitr, lderiv, itask, itrace, ifail)  \
D02NGF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, resid, ysav, sdysav, jac, wkjac, nwkjac, monitr, lderiv, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ngf_ D02NGF
#else
#define  D02NGF d02ngf_
#endif
extern void NAG_CALL D02NGF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  void (NAG_CALL *resid)(
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST double[],
                         double[],
                         Integer REFPTR ),
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  void (NAG_CALL *jac)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double[],
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       double[]),
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double REFPTR ,
                          double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          Integer REFPTR ,
                          Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST Integer REFPTR ),
  logical lderiv[] /* 1 dimension */,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ngz_(neq, t, y, ydot, h, d, p)  \
D02NGZ(neq, t, y, ydot, h, d, p) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ngz_ D02NGZ
#else
#define  D02NGZ d02ngz_
#endif
extern void NAG_CALL D02NGZ(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double ydot[] /* 1 dimension */,
  CONST double REFPTR h,
  CONST double REFPTR d,
  double p[] /* 2 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nhf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, resid, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, lderiv, itask, itrace, ifail)  \
D02NHF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, resid, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, lderiv, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nhf_ D02NHF
#else
#define  D02NHF d02nhf_
#endif
extern void NAG_CALL D02NHF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  void (NAG_CALL *resid)(
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST double[],
                         double[],
                         Integer REFPTR ),
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  void (NAG_CALL *jac)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double[],
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       CONST Integer REFPTR ,
                       CONST Integer REFPTR ,
                       double[]),
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  Integer jacpvt[] /* 1 dimension */,
  CONST Integer REFPTR njcpvt,
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double REFPTR ,
                          double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          Integer REFPTR ,
                          Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST Integer REFPTR ),
  logical lderiv[] /* 1 dimension */,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nhz_(neq, t, y, ydot, h, d, ml, mu, p)  \
D02NHZ(neq, t, y, ydot, h, d, ml, mu, p) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nhz_ D02NHZ
#else
#define  D02NHZ d02nhz_
#endif
extern void NAG_CALL D02NHZ(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double ydot[] /* 1 dimension */,
  CONST double REFPTR h,
  CONST double REFPTR d,
  CONST Integer REFPTR ml,
  CONST Integer REFPTR mu,
  double p[] /* 2 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02njf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, resid, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, lderiv, itask, itrace, ifail)  \
D02NJF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, resid, ysav, sdysav, jac, wkjac, nwkjac, jacpvt, njcpvt, monitr, lderiv, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02njf_ D02NJF
#else
#define  D02NJF d02njf_
#endif
extern void NAG_CALL D02NJF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  void (NAG_CALL *resid)(
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST double[],
                         double[],
                         Integer REFPTR ),
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  void (NAG_CALL *jac)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double[],
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       CONST Integer REFPTR ,
                       double[]),
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  Integer jacpvt[] /* 1 dimension */,
  CONST Integer REFPTR njcpvt,
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double REFPTR ,
                          double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          Integer REFPTR ,
                          Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          CONST Integer REFPTR ),
  logical lderiv[] /* 1 dimension */,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02njz_(neq, t, y, ydot, h, d, j, pdj)  \
D02NJZ(neq, t, y, ydot, h, d, j, pdj) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02njz_ D02NJZ
#else
#define  D02NJZ d02njz_
#endif
extern void NAG_CALL D02NJZ(
  CONST Integer REFPTR neq,
  CONST double REFPTR t,
  CONST double y[] /* 1 dimension */,
  CONST double ydot[] /* 1 dimension */,
  CONST double REFPTR h,
  CONST double REFPTR d,
  CONST Integer REFPTR j,
  double pdj[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nmf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, ysav, sdysav, wkjac, nwkjac, jacpvt, njcpvt, imon, inln, ires, irevcm, itask, itrace, ifail)  \
D02NMF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, ysav, sdysav, wkjac, nwkjac, jacpvt, njcpvt, imon, inln, ires, irevcm, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nmf_ D02NMF
#else
#define  D02NMF d02nmf_
#endif
extern void NAG_CALL D02NMF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  CONST double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  Integer jacpvt[] /* 1 dimension */,
  CONST Integer REFPTR njcpvt,
  Integer REFPTR imon,
  Integer REFPTR inln,
  Integer REFPTR ires,
  Integer REFPTR irevcm,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nnf_(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, ysav, sdysav, wkjac, nwkjac, jacpvt, njcpvt, imon, inln, ires, irevcm, lderiv, itask, itrace, ifail)  \
D02NNF(neq, ldysav, t, tout, y, ydot, rwork, rtol, atol, itol, inform, ysav, sdysav, wkjac, nwkjac, jacpvt, njcpvt, imon, inln, ires, irevcm, lderiv, itask, itrace, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nnf_ D02NNF
#else
#define  D02NNF d02nnf_
#endif
extern void NAG_CALL D02NNF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ldysav,
  double REFPTR t,
  double REFPTR tout,
  double y[] /* 1 dimension */,
  double ydot[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  Integer inform[] /* 1 dimension */,
  double ysav[] /* 2 dimension */,
  CONST Integer REFPTR sdysav,
  double wkjac[] /* 1 dimension */,
  CONST Integer REFPTR nwkjac,
  Integer jacpvt[] /* 1 dimension */,
  CONST Integer REFPTR njcpvt,
  Integer REFPTR imon,
  Integer REFPTR inln,
  Integer REFPTR ires,
  Integer REFPTR irevcm,
  logical lderiv[] /* 1 dimension */,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02npf_(neq, ml, mu, icom, licom, ifail)  \
D02NPF(neq, ml, mu, icom, licom, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02npf_ D02NPF
#else
#define  D02NPF d02npf_
#endif
extern void NAG_CALL D02NPF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR ml,
  CONST Integer REFPTR mu,
  Integer icom[] /* 1 dimension */,
  CONST Integer REFPTR licom,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nrf_(j, iplace, inform)  \
D02NRF(j, iplace, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nrf_ D02NRF
#else
#define  D02NRF d02nrf_
#endif
extern void NAG_CALL D02NRF(
  Integer REFPTR j,
  Integer REFPTR iplace,
  CONST Integer inform[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nsf_(neq, neqmax, jceval, nwkjac, rwork, ifail, length_jceval)  \
D02NSF(neq, neqmax, jceval, length_jceval, nwkjac, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nsf_ D02NSF
#else
#define  D02NSF d02nsf_
#endif
extern void NAG_CALL D02NSF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR neqmax,
  CONST char * jceval
#ifdef USE_STDCALL
,  CONST Charlen length_jceval
#endif
,
  CONST Integer REFPTR nwkjac,
  double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_jceval
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02ntf_(neq, neqmax, jceval, ml, mu, nwkjac, njcpvt, rwork, ifail, length_jceval)  \
D02NTF(neq, neqmax, jceval, length_jceval, ml, mu, nwkjac, njcpvt, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02ntf_ D02NTF
#else
#define  D02NTF d02ntf_
#endif
extern void NAG_CALL D02NTF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR neqmax,
  CONST char * jceval
#ifdef USE_STDCALL
,  CONST Charlen length_jceval
#endif
,
  CONST Integer REFPTR ml,
  CONST Integer REFPTR mu,
  CONST Integer REFPTR nwkjac,
  CONST Integer REFPTR njcpvt,
  double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_jceval
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nuf_(neq, neqmax, jceval, nwkjac, ia, nia, ja, nja, jacpvt, njcpvt, sens, u, eta, lblock, isplit, rwork, ifail, length_jceval)  \
D02NUF(neq, neqmax, jceval, length_jceval, nwkjac, ia, nia, ja, nja, jacpvt, njcpvt, sens, u, eta, lblock, isplit, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nuf_ D02NUF
#else
#define  D02NUF d02nuf_
#endif
extern void NAG_CALL D02NUF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR neqmax,
  CONST char * jceval
#ifdef USE_STDCALL
,  CONST Charlen length_jceval
#endif
,
  CONST Integer REFPTR nwkjac,
  CONST Integer ia[] /* 1 dimension */,
  CONST Integer REFPTR nia,
  CONST Integer ja[] /* 1 dimension */,
  CONST Integer REFPTR nja,
  Integer jacpvt[] /* 1 dimension */,
  CONST Integer REFPTR njcpvt,
  CONST double REFPTR sens,
  CONST double REFPTR u,
  CONST double REFPTR eta,
  CONST logical REFPTR lblock,
  CONST Integer REFPTR isplit,
  double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_jceval
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nvf_(neqmax, sdysav, maxord, method, petzld, con, tcrit, hmin, hmax, h0, maxstp, mxhnil, norm, rwork, ifail, length_method, length_norm)  \
D02NVF(neqmax, sdysav, maxord, method, length_method, petzld, con, tcrit, hmin, hmax, h0, maxstp, mxhnil, norm, length_norm, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nvf_ D02NVF
#else
#define  D02NVF d02nvf_
#endif
extern void NAG_CALL D02NVF(
  CONST Integer REFPTR neqmax,
  CONST Integer REFPTR sdysav,
  CONST Integer REFPTR maxord,
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST logical REFPTR petzld,
  double con[] /* 1 dimension */,
  CONST double REFPTR tcrit,
  CONST double REFPTR hmin,
  CONST double REFPTR hmax,
  CONST double REFPTR h0,
  CONST Integer REFPTR maxstp,
  CONST Integer REFPTR mxhnil,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nwf_(neqmax, sdysav, maxord, con, tcrit, hmin, hmax, h0, maxstp, mxhnil, norm, rwork, ifail, length_norm)  \
D02NWF(neqmax, sdysav, maxord, con, tcrit, hmin, hmax, h0, maxstp, mxhnil, norm, length_norm, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nwf_ D02NWF
#else
#define  D02NWF d02nwf_
#endif
extern void NAG_CALL D02NWF(
  CONST Integer REFPTR neqmax,
  CONST Integer REFPTR sdysav,
  CONST Integer REFPTR maxord,
  double con[] /* 1 dimension */,
  CONST double REFPTR tcrit,
  CONST double REFPTR hmin,
  CONST double REFPTR hmax,
  CONST double REFPTR h0,
  CONST Integer REFPTR maxstp,
  CONST Integer REFPTR mxhnil,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nxf_(icall, liwreq, liwusd, lrwreq, lrwusd, nlu, nnz, ngp, isplit, igrow, lblock, nblock, inform)  \
D02NXF(icall, liwreq, liwusd, lrwreq, lrwusd, nlu, nnz, ngp, isplit, igrow, lblock, nblock, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nxf_ D02NXF
#else
#define  D02NXF d02nxf_
#endif
extern void NAG_CALL D02NXF(
  CONST Integer REFPTR icall,
  Integer REFPTR liwreq,
  Integer REFPTR liwusd,
  Integer REFPTR lrwreq,
  Integer REFPTR lrwusd,
  Integer REFPTR nlu,
  Integer REFPTR nnz,
  Integer REFPTR ngp,
  Integer REFPTR isplit,
  Integer REFPTR igrow,
  CONST logical REFPTR lblock,
  Integer REFPTR nblock,
  CONST Integer inform[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nyf_(neq, neqmax, hu, h, tcur, tolsf, rwork, nst, nre, nje, nqu, nq, niter, imxer, algequ, inform, ifail)  \
D02NYF(neq, neqmax, hu, h, tcur, tolsf, rwork, nst, nre, nje, nqu, nq, niter, imxer, algequ, inform, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nyf_ D02NYF
#else
#define  D02NYF d02nyf_
#endif
extern void NAG_CALL D02NYF(
  CONST Integer REFPTR neq,
  CONST Integer REFPTR neqmax,
  double REFPTR hu,
  double REFPTR h,
  double REFPTR tcur,
  double REFPTR tolsf,
  CONST double rwork[] /* 1 dimension */,
  Integer REFPTR nst,
  Integer REFPTR nre,
  Integer REFPTR nje,
  Integer REFPTR nqu,
  Integer REFPTR nq,
  Integer REFPTR niter,
  Integer REFPTR imxer,
  logical algequ[] /* 1 dimension */,
  CONST Integer inform[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02nzf_(neqmax, tcrit, h, hmin, hmax, maxstp, mxhnil, rwork, ifail)  \
D02NZF(neqmax, tcrit, h, hmin, hmax, maxstp, mxhnil, rwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02nzf_ D02NZF
#else
#define  D02NZF d02nzf_
#endif
extern void NAG_CALL D02NZF(
  CONST Integer REFPTR neqmax,
  CONST double REFPTR tcrit,
  CONST double REFPTR h,
  CONST double REFPTR hmin,
  CONST double REFPTR hmax,
  CONST Integer REFPTR maxstp,
  CONST Integer REFPTR mxhnil,
  double rwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02pcf_(f, twant, tgot, ygot, ypgot, ymax, work, ifail)  \
D02PCF(f, twant, tgot, ygot, ypgot, ymax, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02pcf_ D02PCF
#else
#define  D02PCF d02pcf_
#endif
extern void NAG_CALL D02PCF(
  void (NAG_CALL *f)(
                     CONST double REFPTR ,
                     CONST double[],
                     double[]),
  CONST double REFPTR twant,
  double REFPTR tgot,
  double ygot[] /* 1 dimension */,
  double ypgot[] /* 1 dimension */,
  double ymax[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02pdf_(f, tnow, ynow, ypnow, work, ifail)  \
D02PDF(f, tnow, ynow, ypnow, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02pdf_ D02PDF
#else
#define  D02PDF d02pdf_
#endif
extern void NAG_CALL D02PDF(
  void (NAG_CALL *f)(
                     CONST double REFPTR ,
                     CONST double[],
                     double[]),
  double REFPTR tnow,
  double ynow[] /* 1 dimension */,
  double ypnow[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02pvf_(neq, tstart, ystart, tend, tol, thres, method, task, errass, hstart, work, lenwrk, ifail, length_task)  \
D02PVF(neq, tstart, ystart, tend, tol, thres, method, task, length_task, errass, hstart, work, lenwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02pvf_ D02PVF
#else
#define  D02PVF d02pvf_
#endif
extern void NAG_CALL D02PVF(
  CONST Integer REFPTR neq,
  CONST double REFPTR tstart,
  CONST double ystart[] /* 1 dimension */,
  CONST double REFPTR tend,
  CONST double REFPTR tol,
  CONST double thres[] /* 1 dimension */,
  CONST Integer REFPTR method,
  CONST char * task
#ifdef USE_STDCALL
,  CONST Charlen length_task
#endif
,
  CONST logical REFPTR errass,
  CONST double REFPTR hstart,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lenwrk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_task
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02pwf_(tendnu, ifail)  \
D02PWF(tendnu, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02pwf_ D02PWF
#else
#define  D02PWF d02pwf_
#endif
extern void NAG_CALL D02PWF(
  CONST double REFPTR tendnu,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02pxf_(twant, reqest, nwant, ywant, ypwant, f, work, wrkint, lenint, ifail, length_reqest)  \
D02PXF(twant, reqest, length_reqest, nwant, ywant, ypwant, f, work, wrkint, lenint, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02pxf_ D02PXF
#else
#define  D02PXF d02pxf_
#endif
extern void NAG_CALL D02PXF(
  CONST double REFPTR twant,
  CONST char * reqest
#ifdef USE_STDCALL
,  CONST Charlen length_reqest
#endif
,
  CONST Integer REFPTR nwant,
  double ywant[] /* 1 dimension */,
  double ypwant[] /* 1 dimension */,
  void (NAG_CALL *f)(
                     CONST double REFPTR ,
                     CONST double[],
                     double[]),
  double work[] /* 1 dimension */,
  double wrkint[] /* 1 dimension */,
  CONST Integer REFPTR lenint,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_reqest
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02pyf_(totfcn, stpcst, waste, stpsok, hnext, ifail)  \
D02PYF(totfcn, stpcst, waste, stpsok, hnext, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02pyf_ D02PYF
#else
#define  D02PYF d02pyf_
#endif
extern void NAG_CALL D02PYF(
  Integer REFPTR totfcn,
  Integer REFPTR stpcst,
  double REFPTR waste,
  Integer REFPTR stpsok,
  double REFPTR hnext,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02pzf_(rmserr, errmax, terrmx, work, ifail)  \
D02PZF(rmserr, errmax, terrmx, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02pzf_ D02PZF
#else
#define  D02PZF d02pzf_
#endif
extern void NAG_CALL D02PZF(
  double rmserr[] /* 1 dimension */,
  double REFPTR errmax,
  double REFPTR terrmx,
  CONST double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02qff_(fcn, neqf, t, y, tout, g, neqg, root, rwork, lrwork, iwork, liwork, ifail)  \
D02QFF(fcn, neqf, t, y, tout, g, neqg, root, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02qff_ D02QFF
#else
#define  D02QFF d02qff_
#endif
extern void NAG_CALL D02QFF(
  void (NAG_CALL *fcn)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       double[]),
  CONST Integer REFPTR neqf,
  double REFPTR t,
  double y[] /* 1 dimension */,
  CONST double REFPTR tout,
  double (NAG_CALL *g)(
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double[],
                       CONST Integer REFPTR ),
  CONST Integer REFPTR neqg,
  logical REFPTR root,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02qfz_(neqf, x, y, yp, k)  \
D02QFZ(neqf, x, y, yp, k) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02qfz_ D02QFZ
#else
#define  D02QFZ d02qfz_
#endif
extern double NAG_CALL D02QFZ(
  CONST Integer REFPTR neqf,
  CONST double REFPTR x,
  CONST double y[] /* 1 dimension */,
  CONST double yp[] /* 1 dimension */,
  CONST Integer REFPTR k
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02qgf_(neqf, t, y, tout, neqg, root, irevcm, trvcm, yrvcm, yprvcm, grvcm, kgrvcm, rwork, lrwork, iwork, liwork, ifail)  \
D02QGF(neqf, t, y, tout, neqg, root, irevcm, trvcm, yrvcm, yprvcm, grvcm, kgrvcm, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02qgf_ D02QGF
#else
#define  D02QGF d02qgf_
#endif
extern void NAG_CALL D02QGF(
  CONST Integer REFPTR neqf,
  double REFPTR t,
  double y[] /* 1 dimension */,
  CONST double REFPTR tout,
  CONST Integer REFPTR neqg,
  logical REFPTR root,
  Integer REFPTR irevcm,
  double REFPTR trvcm,
  Integer REFPTR yrvcm,
  Integer REFPTR yprvcm,
  CONST double REFPTR grvcm,
  Integer REFPTR kgrvcm,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02qwf_(statef, neqf, vectol, atol, latol, rtol, lrtol, onestp, crit, tcrit, hmax, maxstp, neqg, alterg, sophst, rwork, lrwork, iwork, liwork, ifail, length_statef)  \
D02QWF(statef, length_statef, neqf, vectol, atol, latol, rtol, lrtol, onestp, crit, tcrit, hmax, maxstp, neqg, alterg, sophst, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02qwf_ D02QWF
#else
#define  D02QWF d02qwf_
#endif
extern void NAG_CALL D02QWF(
  char * statef
#ifdef USE_STDCALL
,  CONST Charlen length_statef
#endif
,
  CONST Integer REFPTR neqf,
  CONST logical REFPTR vectol,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR latol,
  CONST double rtol[] /* 1 dimension */,
  CONST Integer REFPTR lrtol,
  CONST logical REFPTR onestp,
  CONST logical REFPTR crit,
  CONST double REFPTR tcrit,
  CONST double REFPTR hmax,
  CONST Integer REFPTR maxstp,
  CONST Integer REFPTR neqg,
  logical REFPTR alterg,
  CONST logical REFPTR sophst,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_statef
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02qxf_(neqf, yp, tcurr, hlast, hnext, odlast, odnext, nsucc, nfail, tolfac, badcmp, rwork, lrwork, iwork, liwork, ifail)  \
D02QXF(neqf, yp, tcurr, hlast, hnext, odlast, odnext, nsucc, nfail, tolfac, badcmp, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02qxf_ D02QXF
#else
#define  D02QXF d02qxf_
#endif
extern void NAG_CALL D02QXF(
  CONST Integer REFPTR neqf,
  double yp[] /* 1 dimension */,
  double REFPTR tcurr,
  double REFPTR hlast,
  double REFPTR hnext,
  Integer REFPTR odlast,
  Integer REFPTR odnext,
  Integer REFPTR nsucc,
  Integer REFPTR nfail,
  double REFPTR tolfac,
  Integer REFPTR badcmp,
  CONST double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  CONST Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02qyf_(neqg, index, itype, events, resids, rwork, lrwork, iwork, liwork, ifail)  \
D02QYF(neqg, index, itype, events, resids, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02qyf_ D02QYF
#else
#define  D02QYF d02qyf_
#endif
extern void NAG_CALL D02QYF(
  CONST Integer REFPTR neqg,
  Integer REFPTR index,
  Integer REFPTR itype,
  Integer events[] /* 1 dimension */,
  double resids[] /* 1 dimension */,
  CONST double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  CONST Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02qzf_(neqf, twant, nwant, ywant, ypwant, rwork, lrwork, iwork, liwork, ifail)  \
D02QZF(neqf, twant, nwant, ywant, ypwant, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02qzf_ D02QZF
#else
#define  D02QZF d02qzf_
#endif
extern void NAG_CALL D02QZF(
  CONST Integer REFPTR neqf,
  CONST double REFPTR twant,
  CONST Integer REFPTR nwant,
  double ywant[] /* 1 dimension */,
  double ypwant[] /* 1 dimension */,
  CONST double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  CONST Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02raf_(n, mnp, np, numbeg, nummix, tol, init, x, y, ldy, abt, fcn, g, ijac, jacobf, jacobg, deleps, jaceps, jacgep, work, lwork, iwork, liwork, ifail)  \
D02RAF(n, mnp, np, numbeg, nummix, tol, init, x, y, ldy, abt, fcn, g, ijac, jacobf, jacobg, deleps, jaceps, jacgep, work, lwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02raf_ D02RAF
#else
#define  D02RAF d02raf_
#endif
extern void NAG_CALL D02RAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR mnp,
  Integer REFPTR np,
  CONST Integer REFPTR numbeg,
  CONST Integer REFPTR nummix,
  CONST double REFPTR tol,
  CONST Integer REFPTR init,
  double x[] /* 1 dimension */,
  double y[] /* 2 dimension */,
  CONST Integer REFPTR ldy,
  double abt[] /* 1 dimension */,
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double REFPTR ,
                       CONST double[],
                       double[],
                       CONST Integer REFPTR ),
  void (NAG_CALL *g)(
                     CONST double REFPTR ,
                     CONST double[],
                     CONST double[],
                     double[],
                     CONST Integer REFPTR ),
  CONST Integer REFPTR ijac,
  void (NAG_CALL *jacobf)(
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *jacobg)(
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ),
  double REFPTR deleps,
  void (NAG_CALL *jaceps)(
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *jacgep)(
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ),
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02saf_(p, m, n, n1, pe, pf, e, dp, npoint, swp, ldswp, icount, range, bc, fcn, eqn, constr, ymax, monit, prsol, w, ldw, sdw, ifail)  \
D02SAF(p, m, n, n1, pe, pf, e, dp, npoint, swp, ldswp, icount, range, bc, fcn, eqn, constr, ymax, monit, prsol, w, ldw, sdw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02saf_ D02SAF
#else
#define  D02SAF d02saf_
#endif
extern void NAG_CALL D02SAF(
  double p[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR n1,
  CONST double pe[] /* 1 dimension */,
  double pf[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  double dp[] /* 1 dimension */,
  CONST Integer REFPTR npoint,
  double swp[] /* 2 dimension */,
  CONST Integer REFPTR ldswp,
  CONST Integer REFPTR icount,
  void (NAG_CALL *range)(
                         double[],
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST Integer REFPTR ),
  void (NAG_CALL *bc)(
                      double[],
                      double[],
                      CONST double[],
                      CONST Integer REFPTR ,
                      CONST Integer REFPTR ),
  void (NAG_CALL *fcn)(
                       CONST double REFPTR ,
                       CONST double[],
                       double[],
                       CONST Integer REFPTR ,
                       CONST double[],
                       CONST Integer REFPTR ,
                       CONST Integer REFPTR ),
  void (NAG_CALL *eqn)(
                       double[],
                       CONST Integer REFPTR ,
                       CONST double[],
                       CONST Integer REFPTR ),
  logical (NAG_CALL *constr)(
                             CONST double[],
                             CONST Integer REFPTR ),
  CONST double REFPTR ymax,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         CONST double[]),
  void (NAG_CALL *prsol)(
                         double REFPTR ,
                         CONST double[],
                         CONST Integer REFPTR ),
  double w[] /* 2 dimension */,
  CONST Integer REFPTR ldw,
  CONST Integer REFPTR sdw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02sas_(istate, iflag, ifail1, p, m, f, pnorm, pnorm1, eps, d)  \
D02SAS(istate, iflag, ifail1, p, m, f, pnorm, pnorm1, eps, d) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02sas_ D02SAS
#else
#define  D02SAS d02sas_
#endif
extern void NAG_CALL D02SAS(
  CONST Integer REFPTR istate,
  CONST Integer REFPTR iflag,
  CONST Integer REFPTR ifail1,
  CONST double p[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double f[] /* 1 dimension */,
  CONST double REFPTR pnorm,
  CONST double REFPTR pnorm1,
  CONST double REFPTR eps,
  CONST double d[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02tgf_(n, m, l, x0, x1, k1, kp, c, ldc, coeff, bdyc, w, lw, iw, liw, ifail)  \
D02TGF(n, m, l, x0, x1, k1, kp, c, ldc, coeff, bdyc, w, lw, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02tgf_ D02TGF
#else
#define  D02TGF d02tgf_
#endif
extern void NAG_CALL D02TGF(
  CONST Integer REFPTR n,
  CONST Integer m[] /* 1 dimension */,
  CONST Integer l[] /* 1 dimension */,
  CONST double REFPTR x0,
  CONST double REFPTR x1,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR kp,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  void (NAG_CALL *coeff)(
                         CONST double REFPTR ,
                         CONST Integer REFPTR ,
                         double[],
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         double REFPTR ),
  void (NAG_CALL *bdyc)(
                        double REFPTR ,
                        CONST Integer REFPTR ,
                        CONST Integer REFPTR ,
                        double[],
                        CONST Integer REFPTR ,
                        CONST Integer REFPTR ,
                        double REFPTR ),
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02tkf_(ffun, fjac, gafun, gbfun, gajac, gbjac, guess, work, iwork, ifail)  \
D02TKF(ffun, fjac, gafun, gbfun, gajac, gbjac, guess, work, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02tkf_ D02TKF
#else
#define  D02TKF d02tkf_
#endif
extern void NAG_CALL D02TKF(
  void (NAG_CALL *ffun)(
                        CONST double REFPTR ,
                        CONST double[],
                        CONST Integer REFPTR ,
                        CONST Integer[],
                        double[]),
  void (NAG_CALL *fjac)(
                        CONST double REFPTR ,
                        CONST double[],
                        CONST Integer REFPTR ,
                        CONST Integer[],
                        double[]),
  void (NAG_CALL *gafun)(
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer[],
                         CONST Integer REFPTR ,
                         double[]),
  void (NAG_CALL *gbfun)(
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer[],
                         CONST Integer REFPTR ,
                         double[]),
  void (NAG_CALL *gajac)(
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer[],
                         CONST Integer REFPTR ,
                         double[]),
  void (NAG_CALL *gbjac)(
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer[],
                         CONST Integer REFPTR ,
                         double[]),
  void (NAG_CALL *guess)(
                         CONST double REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer[],
                         double[],
                         double[]),
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02tvf_(neq, m, nlbc, nrbc, ncol, tols, mxmesh, nmesh, mesh, ipmesh, rwork, lrwork, iwork, liwork, ifail)  \
D02TVF(neq, m, nlbc, nrbc, ncol, tols, mxmesh, nmesh, mesh, ipmesh, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02tvf_ D02TVF
#else
#define  D02TVF d02tvf_
#endif
extern void NAG_CALL D02TVF(
  CONST Integer REFPTR neq,
  CONST Integer m[] /* 1 dimension */,
  CONST Integer REFPTR nlbc,
  CONST Integer REFPTR nrbc,
  CONST Integer REFPTR ncol,
  CONST double tols[] /* 1 dimension */,
  CONST Integer REFPTR mxmesh,
  CONST Integer REFPTR nmesh,
  CONST double mesh[] /* 1 dimension */,
  CONST Integer ipmesh[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02txf_(mxmesh, nmesh, mesh, ipmesh, rwork, iwork, ifail)  \
D02TXF(mxmesh, nmesh, mesh, ipmesh, rwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02txf_ D02TXF
#else
#define  D02TXF d02txf_
#endif
extern void NAG_CALL D02TXF(
  CONST Integer REFPTR mxmesh,
  CONST Integer REFPTR nmesh,
  CONST double mesh[] /* 1 dimension */,
  CONST Integer ipmesh[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02tyf_(x, y, neq, mmax, rwork, iwork, ifail)  \
D02TYF(x, y, neq, mmax, rwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02tyf_ D02TYF
#else
#define  D02TYF d02tyf_
#endif
extern void NAG_CALL D02TYF(
  CONST double REFPTR x,
  double y[] /* 2 dimension */,
  CONST Integer REFPTR neq,
  CONST Integer REFPTR mmax,
  double rwork[] /* 1 dimension */,
  CONST Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02tzf_(mxmesh, nmesh, mesh, ipmesh, ermx, iermx, ijermx, rwork, iwork, ifail)  \
D02TZF(mxmesh, nmesh, mesh, ipmesh, ermx, iermx, ijermx, rwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02tzf_ D02TZF
#else
#define  D02TZF d02tzf_
#endif
extern void NAG_CALL D02TZF(
  CONST Integer REFPTR mxmesh,
  Integer REFPTR nmesh,
  double mesh[] /* 1 dimension */,
  Integer ipmesh[] /* 1 dimension */,
  double REFPTR ermx,
  Integer REFPTR iermx,
  Integer REFPTR ijermx,
  CONST double rwork[] /* 1 dimension */,
  CONST Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02xjf_(xsol, sol, m, ysav, ldysav, sdysav, neq, x, nqu, hu, h, ifail)  \
D02XJF(xsol, sol, m, ysav, ldysav, sdysav, neq, x, nqu, hu, h, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02xjf_ D02XJF
#else
#define  D02XJF d02xjf_
#endif
extern void NAG_CALL D02XJF(
  CONST double REFPTR xsol,
  double sol[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double ysav[] /* 2 dimension */,
  CONST Integer REFPTR ldysav,
  CONST Integer REFPTR sdysav,
  CONST Integer REFPTR neq,
  CONST double REFPTR x,
  CONST Integer REFPTR nqu,
  CONST double REFPTR hu,
  CONST double REFPTR h,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02xkf_(xsol, sol, m, ysav, ldysav, sdysav, acor, neq, x, nqu, hu, h, ifail)  \
D02XKF(xsol, sol, m, ysav, ldysav, sdysav, acor, neq, x, nqu, hu, h, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02xkf_ D02XKF
#else
#define  D02XKF d02xkf_
#endif
extern void NAG_CALL D02XKF(
  CONST double REFPTR xsol,
  double sol[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double ysav[] /* 2 dimension */,
  CONST Integer REFPTR ldysav,
  CONST Integer REFPTR sdysav,
  CONST double acor[] /* 1 dimension */,
  CONST Integer REFPTR neq,
  CONST double REFPTR x,
  CONST Integer REFPTR nqu,
  CONST double REFPTR hu,
  CONST double REFPTR h,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d02zaf_(neq, v, w, ifail)  \
D02ZAF(neq, v, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d02zaf_ D02ZAF
#else
#define  D02ZAF d02zaf_
#endif
extern double NAG_CALL D02ZAF(
  CONST Integer REFPTR neq,
  CONST double v[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03eaf_(stage1, ext, dorm, n, p, q, x, y, n1p1, phi, phid, alpha, c, ldc, np4, icint, np1, ifail)  \
D03EAF(stage1, ext, dorm, n, p, q, x, y, n1p1, phi, phid, alpha, c, ldc, np4, icint, np1, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03eaf_ D03EAF
#else
#define  D03EAF d03eaf_
#endif
extern void NAG_CALL D03EAF(
  CONST logical REFPTR stage1,
  CONST logical REFPTR ext,
  CONST logical REFPTR dorm,
  CONST Integer REFPTR n,
  CONST double REFPTR p,
  CONST double REFPTR q,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR n1p1,
  double phi[] /* 1 dimension */,
  double phid[] /* 1 dimension */,
  double REFPTR alpha,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST Integer REFPTR np4,
  Integer icint[] /* 1 dimension */,
  CONST Integer REFPTR np1,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ebf_(n1, n2, lda, a, b, c, d, e, q, t, aparam, itmax, itcoun, itused, ndir, ixn, iyn, conres, conchn, resids, chngs, wrksp1, wrksp2, wrksp3, ifail)  \
D03EBF(n1, n2, lda, a, b, c, d, e, q, t, aparam, itmax, itcoun, itused, ndir, ixn, iyn, conres, conchn, resids, chngs, wrksp1, wrksp2, wrksp3, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ebf_ D03EBF
#else
#define  D03EBF d03ebf_
#endif
extern void NAG_CALL D03EBF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST Integer REFPTR lda,
  CONST double a[] /* 2 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST double d[] /* 2 dimension */,
  CONST double e[] /* 2 dimension */,
  CONST double q[] /* 2 dimension */,
  double t[] /* 2 dimension */,
  CONST double REFPTR aparam,
  CONST Integer REFPTR itmax,
  Integer REFPTR itcoun,
  Integer REFPTR itused,
  CONST Integer REFPTR ndir,
  CONST Integer REFPTR ixn,
  CONST Integer REFPTR iyn,
  CONST double REFPTR conres,
  CONST double REFPTR conchn,
  double resids[] /* 1 dimension */,
  double chngs[] /* 1 dimension */,
  double wrksp1[] /* 2 dimension */,
  double wrksp2[] /* 2 dimension */,
  double wrksp3[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ecf_(n1, n2, n3, lda, sda, a, b, c, d, e, f, g, q, t, aparam, itmax, itcoun, itused, ndir, ixn, iyn, izn, conres, conchn, resids, chngs, wrksp1, wrksp2, wrksp3, wrksp4, ifail)  \
D03ECF(n1, n2, n3, lda, sda, a, b, c, d, e, f, g, q, t, aparam, itmax, itcoun, itused, ndir, ixn, iyn, izn, conres, conchn, resids, chngs, wrksp1, wrksp2, wrksp3, wrksp4, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ecf_ D03ECF
#else
#define  D03ECF d03ecf_
#endif
extern void NAG_CALL D03ECF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST Integer REFPTR n3,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR sda,
  CONST double a[] /* 3 dimension */,
  CONST double b[] /* 3 dimension */,
  CONST double c[] /* 3 dimension */,
  CONST double d[] /* 3 dimension */,
  CONST double e[] /* 3 dimension */,
  CONST double f[] /* 3 dimension */,
  CONST double g[] /* 3 dimension */,
  CONST double q[] /* 3 dimension */,
  double t[] /* 3 dimension */,
  CONST double REFPTR aparam,
  CONST Integer REFPTR itmax,
  Integer REFPTR itcoun,
  Integer REFPTR itused,
  CONST Integer REFPTR ndir,
  CONST Integer REFPTR ixn,
  CONST Integer REFPTR iyn,
  CONST Integer REFPTR izn,
  CONST double REFPTR conres,
  CONST double REFPTR conchn,
  double resids[] /* 1 dimension */,
  double chngs[] /* 1 dimension */,
  double wrksp1[] /* 3 dimension */,
  double wrksp2[] /* 3 dimension */,
  double wrksp3[] /* 3 dimension */,
  double wrksp4[] /* 3 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03edf_(ngx, ngy, lda, a, rhs, ub, maxit, acc, us, u, iout, numit, ifail)  \
D03EDF(ngx, ngy, lda, a, rhs, ub, maxit, acc, us, u, iout, numit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03edf_ D03EDF
#else
#define  D03EDF d03edf_
#endif
extern void NAG_CALL D03EDF(
  CONST Integer REFPTR ngx,
  CONST Integer REFPTR ngy,
  CONST Integer REFPTR lda,
  double a[] /* 2 dimension */,
  double rhs[] /* 1 dimension */,
  double ub[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  CONST double REFPTR acc,
  double us[] /* 1 dimension */,
  double u[] /* 1 dimension */,
  CONST Integer REFPTR iout,
  Integer REFPTR numit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03eef_(xmin, xmax, ymin, ymax, pdef, bndy, ngx, ngy, lda, a, rhs, scheme, ifail, length_scheme)  \
D03EEF(xmin, xmax, ymin, ymax, pdef, bndy, ngx, ngy, lda, a, rhs, scheme, length_scheme, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03eef_ D03EEF
#else
#define  D03EEF d03eef_
#endif
extern void NAG_CALL D03EEF(
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double REFPTR ymin,
  CONST double REFPTR ymax,
  void (NAG_CALL *pdef)(
                        CONST double REFPTR ,
                        CONST double REFPTR ,
                        double REFPTR ,
                        double REFPTR ,
                        double REFPTR ,
                        double REFPTR ,
                        double REFPTR ,
                        double REFPTR ,
                        double REFPTR ),
  void (NAG_CALL *bndy)(
                        CONST double REFPTR ,
                        CONST double REFPTR ,
                        double REFPTR ,
                        double REFPTR ,
                        double REFPTR ,
                        CONST Integer REFPTR ),
  CONST Integer REFPTR ngx,
  CONST Integer REFPTR ngy,
  CONST Integer REFPTR lda,
  double a[] /* 2 dimension */,
  double rhs[] /* 1 dimension */,
  CONST char * scheme
#ifdef USE_STDCALL
,  CONST Charlen length_scheme
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_scheme
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03faf_(xs, xf, l, lbdcnd, bdxs, bdxf, ys, yf, m, mbdcnd, bdys, bdyf, zs, zf, n, nbdcnd, bdzs, bdzf, lambda, ldf, ldf2, f, pertrb, w, lwrk, ifail)  \
D03FAF(xs, xf, l, lbdcnd, bdxs, bdxf, ys, yf, m, mbdcnd, bdys, bdyf, zs, zf, n, nbdcnd, bdzs, bdzf, lambda, ldf, ldf2, f, pertrb, w, lwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03faf_ D03FAF
#else
#define  D03FAF d03faf_
#endif
extern void NAG_CALL D03FAF(
  CONST double REFPTR xs,
  CONST double REFPTR xf,
  CONST Integer REFPTR l,
  CONST Integer REFPTR lbdcnd,
  CONST double bdxs[] /* 2 dimension */,
  CONST double bdxf[] /* 2 dimension */,
  CONST double REFPTR ys,
  CONST double REFPTR yf,
  CONST Integer REFPTR m,
  CONST Integer REFPTR mbdcnd,
  CONST double bdys[] /* 2 dimension */,
  CONST double bdyf[] /* 2 dimension */,
  CONST double REFPTR zs,
  CONST double REFPTR zf,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nbdcnd,
  CONST double bdzs[] /* 2 dimension */,
  CONST double bdzf[] /* 2 dimension */,
  CONST double REFPTR lambda,
  CONST Integer REFPTR ldf,
  CONST Integer REFPTR ldf2,
  double f[] /* 3 dimension */,
  double REFPTR pertrb,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03maf_(h, m, n, nb, npts, places, indx, sdindx, isin, dist, sddist, ifail)  \
D03MAF(h, m, n, nb, npts, places, indx, sdindx, isin, dist, sddist, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03maf_ D03MAF
#else
#define  D03MAF d03maf_
#endif
extern void NAG_CALL D03MAF(
  CONST double REFPTR h,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nb,
  Integer REFPTR npts,
  double places[] /* 2 dimension */,
  Integer indx[] /* 2 dimension */,
  CONST Integer REFPTR sdindx,
  Integer (NAG_CALL *isin)(
                           CONST double REFPTR ,
                           CONST double REFPTR ),
  double dist[] /* 2 dimension */,
  CONST Integer REFPTR sddist,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ncf_(kopt, x, mesh, ns, s, nt, t, tdpar, r, q, sigma, alpha, ntkeep, f, theta, delta, gamma, lambda, rho, ldf, work, iwork, ifail, length_mesh)  \
D03NCF(kopt, x, mesh, length_mesh, ns, s, nt, t, tdpar, r, q, sigma, alpha, ntkeep, f, theta, delta, gamma, lambda, rho, ldf, work, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ncf_ D03NCF
#else
#define  D03NCF d03ncf_
#endif
extern void NAG_CALL D03NCF(
  CONST Integer REFPTR kopt,
  CONST double REFPTR x,
  CONST char * mesh
#ifdef USE_STDCALL
,  CONST Charlen length_mesh
#endif
,
  CONST Integer REFPTR ns,
  double s[] /* 1 dimension */,
  CONST Integer REFPTR nt,
  double t[] /* 1 dimension */,
  CONST logical tdpar[] /* 1 dimension */,
  CONST double r[] /* 1 dimension */,
  CONST double q[] /* 1 dimension */,
  CONST double sigma[] /* 1 dimension */,
  CONST double REFPTR alpha,
  CONST Integer REFPTR ntkeep,
  double f[] /* 2 dimension */,
  double theta[] /* 2 dimension */,
  double delta[] /* 2 dimension */,
  double gamma[] /* 2 dimension */,
  double lambda[] /* 2 dimension */,
  double rho[] /* 2 dimension */,
  CONST Integer REFPTR ldf,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mesh
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ndf_(kopt, x, s, t, tmat, tdpar, r, q, sigma, f, theta, delta, gamma, lambda, rho, ifail)  \
D03NDF(kopt, x, s, t, tmat, tdpar, r, q, sigma, f, theta, delta, gamma, lambda, rho, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ndf_ D03NDF
#else
#define  D03NDF d03ndf_
#endif
extern void NAG_CALL D03NDF(
  CONST Integer REFPTR kopt,
  CONST double REFPTR x,
  CONST double REFPTR s,
  CONST double REFPTR t,
  CONST double REFPTR tmat,
  CONST logical tdpar[] /* 1 dimension */,
  CONST double r[] /* 1 dimension */,
  CONST double q[] /* 1 dimension */,
  CONST double sigma[] /* 1 dimension */,
  double REFPTR f,
  double REFPTR theta,
  double REFPTR delta,
  double REFPTR gamma,
  double REFPTR lambda,
  double REFPTR rho,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03nef_(t0, tmat, ntd, td, phid, phiav, work, lwork, ifail)  \
D03NEF(t0, tmat, ntd, td, phid, phiav, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03nef_ D03NEF
#else
#define  D03NEF d03nef_
#endif
extern void NAG_CALL D03NEF(
  CONST double REFPTR t0,
  CONST double REFPTR tmat,
  CONST Integer REFPTR ntd,
  CONST double td[] /* 1 dimension */,
  CONST double phid[] /* 1 dimension */,
  double phiav[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pca_(npde, m, ts, tout, pdedef, bndary, u, npts, x, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, lwsav, iwsav, rwsav, ifail, length_cwsav)  \
D03PCA(npde, m, ts, tout, pdedef, bndary, u, npts, x, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, length_cwsav, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pca_ D03PCA
#else
#define  D03PCA d03pca_
#endif
extern void NAG_CALL D03PCA(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  double u[] /* 2 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR acc,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  char cwsav[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cwsav
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cwsav
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pcf_(npde, m, ts, tout, pdedef, bndary, u, npts, x, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail)  \
D03PCF(npde, m, ts, tout, pdedef, bndary, u, npts, x, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pcf_ D03PCF
#else
#define  D03PCF d03pcf_
#endif
extern void NAG_CALL D03PCF(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ),
  double u[] /* 2 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR acc,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d53pck_(npde, t, ncode, v, vdot, nxi, xi, ucp, ucpx, rcp, ucpt, ucptx, f, ires, iuser, ruser)  \
D53PCK(npde, t, ncode, v, vdot, nxi, xi, ucp, ucpx, rcp, ucpt, ucptx, f, ires, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d53pck_ D53PCK
#else
#define  D53PCK d53pck_
#endif
extern void NAG_CALL D53PCK(
  CONST Integer REFPTR npde,
  CONST double REFPTR t,
  CONST Integer REFPTR ncode,
  CONST double v[] /* 1 dimension */,
  CONST double vdot[] /* 1 dimension */,
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST double ucp[] /* 2 dimension */,
  CONST double ucpx[] /* 2 dimension */,
  CONST double rcp[] /* 2 dimension */,
  CONST double ucpt[] /* 2 dimension */,
  CONST double ucptx[] /* 2 dimension */,
  double f[] /* 1 dimension */,
  Integer REFPTR ires,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pck_(npde, t, ncode, v, vdot, nxi, xi, ucp, ucpx, rcp, ucpt, ucptx, f, ires)  \
D03PCK(npde, t, ncode, v, vdot, nxi, xi, ucp, ucpx, rcp, ucpt, ucptx, f, ires) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pck_ D03PCK
#else
#define  D03PCK d03pck_
#endif
extern void NAG_CALL D03PCK(
  CONST Integer REFPTR npde,
  CONST double REFPTR t,
  CONST Integer REFPTR ncode,
  CONST double v[] /* 1 dimension */,
  CONST double vdot[] /* 1 dimension */,
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST double ucp[] /* 2 dimension */,
  CONST double ucpx[] /* 2 dimension */,
  CONST double rcp[] /* 2 dimension */,
  CONST double ucpt[] /* 2 dimension */,
  CONST double ucptx[] /* 2 dimension */,
  double f[] /* 1 dimension */,
  Integer REFPTR ires
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d53pcl_(t, npts, npde, x, u, r, fmon, iuser, ruser)  \
D53PCL(t, npts, npde, x, u, r, fmon, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d53pcl_ D53PCL
#else
#define  D53PCL d53pcl_
#endif
extern void NAG_CALL D53PCL(
  CONST double REFPTR t,
  CONST Integer REFPTR npts,
  CONST Integer REFPTR npde,
  CONST double x[] /* 1 dimension */,
  CONST double u[] /* 2 dimension */,
  CONST double r[] /* 2 dimension */,
  double fmon[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pcl_(t, npts, npde, x, u, r, fmon)  \
D03PCL(t, npts, npde, x, u, r, fmon) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pcl_ D03PCL
#else
#define  D03PCL d03pcl_
#endif
extern void NAG_CALL D03PCL(
  CONST double REFPTR t,
  CONST Integer REFPTR npts,
  CONST Integer REFPTR npde,
  CONST double x[] /* 1 dimension */,
  CONST double u[] /* 2 dimension */,
  CONST double r[] /* 2 dimension */,
  double fmon[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pda_(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, uinit, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, lwsav, iwsav, rwsav, ifail, length_cwsav)  \
D03PDA(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, uinit, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, length_cwsav, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pda_ D03PDA
#else
#define  D03PDA d03pda_
#endif
extern void NAG_CALL D03PDA(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  double u[] /* 2 dimension */,
  CONST Integer REFPTR nbkpts,
  CONST double xbkpts[] /* 1 dimension */,
  CONST Integer REFPTR npoly,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  void (NAG_CALL *uinit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         double[],
                         Integer[],
                         double[]),
  CONST double REFPTR acc,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  char cwsav[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cwsav
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cwsav
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pdf_(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, uinit, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail)  \
D03PDF(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, uinit, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pdf_ D03PDF
#else
#define  D03PDF d03pdf_
#endif
extern void NAG_CALL D03PDF(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ),
  double u[] /* 2 dimension */,
  CONST Integer REFPTR nbkpts,
  CONST double xbkpts[] /* 1 dimension */,
  CONST Integer REFPTR npoly,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  void (NAG_CALL *uinit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         double[]),
  CONST double REFPTR acc,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pef_(npde, ts, tout, pdedef, bndary, u, npts, x, nleft, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail)  \
D03PEF(npde, ts, tout, pdedef, bndary, u, npts, x, nleft, acc, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pef_ D03PEF
#else
#define  D03PEF d03pef_
#endif
extern void NAG_CALL D03PEF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  double u[] /* 2 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nleft,
  CONST double REFPTR acc,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pek_(npde, t, ncode, v, vdot, nxi, xi, ucp, ucpx, ucpt, f, ires)  \
D03PEK(npde, t, ncode, v, vdot, nxi, xi, ucp, ucpx, ucpt, f, ires) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pek_ D03PEK
#else
#define  D03PEK d03pek_
#endif
extern void NAG_CALL D03PEK(
  CONST Integer REFPTR npde,
  CONST double REFPTR t,
  CONST Integer REFPTR ncode,
  CONST double v[] /* 1 dimension */,
  CONST double vdot[] /* 1 dimension */,
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST double ucp[] /* 2 dimension */,
  CONST double ucpx[] /* 2 dimension */,
  CONST double ucpt[] /* 2 dimension */,
  double f[] /* 1 dimension */,
  Integer REFPTR ires
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pel_(t, npts, npde, x, u, fmon)  \
D03PEL(t, npts, npde, x, u, fmon) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pel_ D03PEL
#else
#define  D03PEL d03pel_
#endif
extern void NAG_CALL D03PEL(
  CONST double REFPTR t,
  CONST Integer REFPTR npts,
  CONST Integer REFPTR npde,
  CONST double x[] /* 1 dimension */,
  CONST double u[] /* 2 dimension */,
  double fmon[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pff_(npde, ts, tout, pdedef, numflx, bndary, u, npts, x, acc, tsmax, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail)  \
D03PFF(npde, ts, tout, pdedef, numflx, bndary, u, npts, x, acc, tsmax, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pff_ D03PFF
#else
#define  D03PFF d03pff_
#endif
extern void NAG_CALL D03PFF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *numflx)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          Integer REFPTR ),
  double u[] /* 2 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST double acc[] /* 1 dimension */,
  CONST double REFPTR tsmax,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pfp_(npde, t, x, u, ux, p, c, d, s, ires)  \
D03PFP(npde, t, x, u, ux, p, c, d, s, ires) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pfp_ D03PFP
#else
#define  D03PFP d03pfp_
#endif
extern void NAG_CALL D03PFP(
  CONST Integer REFPTR npde,
  CONST double REFPTR t,
  CONST double REFPTR x,
  CONST double u[] /* 1 dimension */,
  CONST double ux[] /* 1 dimension */,
  double p[] /* 2 dimension */,
  double c[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  Integer REFPTR ires
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pha_(npde, m, ts, tout, pdedef, bndary, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, lwsav, iwsav, rwsav, ifail, length_norm, length_laopt, length_cwsav)  \
D03PHA(npde, m, ts, tout, pdedef, bndary, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, length_cwsav, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pha_ D03PHA
#else
#define  D03PHA d03pha_
#endif
extern void NAG_CALL D03PHA(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  char cwsav[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cwsav
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt,
 CONST Charlen length_cwsav
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03phf_(npde, m, ts, tout, pdedef, bndary, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail, length_norm, length_laopt)  \
D03PHF(npde, m, ts, tout, pdedef, bndary, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03phf_ D03PHF
#else
#define  D03PHF d03phf_
#endif
extern void NAG_CALL D03PHF(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pja_(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, ncode, odedef, nxi, xi, neqn, uvinit, rtol, atol, itol, norm, laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, lwsav, iwsav, rwsav, ifail, length_norm, length_laopt, length_cwsav)  \
D03PJA(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, ncode, odedef, nxi, xi, neqn, uvinit, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, length_cwsav, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pja_ D03PJA
#else
#define  D03PJA d03pja_
#endif
extern void NAG_CALL D03PJA(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR nbkpts,
  CONST double xbkpts[] /* 1 dimension */,
  CONST Integer REFPTR npoly,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  void (NAG_CALL *uvinit)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          double[],
                          Integer[],
                          double[]),
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  char cwsav[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cwsav
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt,
 CONST Charlen length_cwsav
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pjf_(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, ncode, odedef, nxi, xi, neqn, uvinit, rtol, atol, itol, norm, laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail, length_norm, length_laopt)  \
D03PJF(npde, m, ts, tout, pdedef, bndary, u, nbkpts, xbkpts, npoly, npts, x, ncode, odedef, nxi, xi, neqn, uvinit, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pjf_ D03PJF
#else
#define  D03PJF d03pjf_
#endif
extern void NAG_CALL D03PJF(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR nbkpts,
  CONST double xbkpts[] /* 1 dimension */,
  CONST Integer REFPTR npoly,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  void (NAG_CALL *uvinit)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          double[]),
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pkf_(npde, ts, tout, pdedef, bndary, u, npts, x, nleft, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail, length_norm, length_laopt)  \
D03PKF(npde, ts, tout, pdedef, bndary, u, npts, x, nleft, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pkf_ D03PKF
#else
#define  D03PKF d03pkf_
#endif
extern void NAG_CALL D03PKF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nleft,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03plf_(npde, ts, tout, pdedef, numflx, bndary, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail, length_norm, length_laopt)  \
D03PLF(npde, ts, tout, pdedef, numflx, bndary, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03plf_ D03PLF
#else
#define  D03PLF d03plf_
#endif
extern void NAG_CALL D03PLF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *numflx)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          Integer REFPTR ),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03plp_(npde, t, x, u, ux, ncode, v, vdot, p, c, d, s, ires)  \
D03PLP(npde, t, x, u, ux, ncode, v, vdot, p, c, d, s, ires) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03plp_ D03PLP
#else
#define  D03PLP d03plp_
#endif
extern void NAG_CALL D03PLP(
  CONST Integer REFPTR npde,
  CONST double REFPTR t,
  CONST double REFPTR x,
  CONST double u[] /* 1 dimension */,
  CONST double ux[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  CONST double v[] /* 1 dimension */,
  CONST double vdot[] /* 1 dimension */,
  double p[] /* 2 dimension */,
  double c[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  Integer REFPTR ires
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ppa_(npde, m, ts, tout, pdedef, bndary, uvinit, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, lwsav, iwsav, rwsav, ifail, length_norm, length_laopt, length_cwsav)  \
D03PPA(npde, m, ts, tout, pdedef, bndary, uvinit, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, iuser, ruser, cwsav, length_cwsav, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ppa_ D03PPA
#else
#define  D03PPA d03ppa_
#endif
extern void NAG_CALL D03PPA(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *uvinit)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          double[],
                          Integer[],
                          double[]),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ,
                          Integer[],
                          double[]),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  CONST logical REFPTR remesh,
  CONST Integer REFPTR nxfix,
  CONST double xfix[] /* 1 dimension */,
  CONST Integer REFPTR nrmesh,
  CONST double REFPTR dxmesh,
  CONST double REFPTR trmesh,
  CONST Integer REFPTR ipminf,
  CONST double REFPTR xratio,
  CONST double REFPTR con,
  void (NAG_CALL *monitf)(
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer[],
                          double[]),
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  char cwsav[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cwsav
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt,
 CONST Charlen length_cwsav
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ppf_(npde, m, ts, tout, pdedef, bndary, uvinit, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail, length_norm, length_laopt)  \
D03PPF(npde, m, ts, tout, pdedef, bndary, uvinit, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ppf_ D03PPF
#else
#define  D03PPF d03ppf_
#endif
extern void NAG_CALL D03PPF(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *uvinit)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          double[]),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  CONST logical REFPTR remesh,
  CONST Integer REFPTR nxfix,
  CONST double xfix[] /* 1 dimension */,
  CONST Integer REFPTR nrmesh,
  CONST double REFPTR dxmesh,
  CONST double REFPTR trmesh,
  CONST Integer REFPTR ipminf,
  CONST double REFPTR xratio,
  CONST double REFPTR con,
  void (NAG_CALL *monitf)(
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[]),
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03prf_(npde, ts, tout, pdedef, bndary, uvinit, u, npts, x, nleft, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail, length_norm, length_laopt)  \
D03PRF(npde, ts, tout, pdedef, bndary, uvinit, u, npts, x, nleft, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03prf_ D03PRF
#else
#define  D03PRF d03prf_
#endif
extern void NAG_CALL D03PRF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *uvinit)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          double[]),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR nleft,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  CONST logical REFPTR remesh,
  CONST Integer REFPTR nxfix,
  CONST double xfix[] /* 1 dimension */,
  CONST Integer REFPTR nrmesh,
  CONST double REFPTR dxmesh,
  CONST double REFPTR trmesh,
  CONST Integer REFPTR ipminf,
  CONST double REFPTR xratio,
  CONST double REFPTR con,
  void (NAG_CALL *monitf)(
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[]),
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03psf_(npde, ts, tout, pdedef, numflx, bndary, uvinit, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail, length_norm, length_laopt)  \
D03PSF(npde, ts, tout, pdedef, numflx, bndary, uvinit, u, npts, x, ncode, odedef, nxi, xi, neqn, rtol, atol, itol, norm, length_norm, laopt, length_laopt, algopt, remesh, nxfix, xfix, nrmesh, dxmesh, trmesh, ipminf, xratio, con, monitf, rsave, lrsave, isave, lisave, itask, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03psf_ D03PSF
#else
#define  D03PSF d03psf_
#endif
extern void NAG_CALL D03PSF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          double[],
                          double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *numflx)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          double[],
                          Integer REFPTR ),
  void (NAG_CALL *uvinit)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          double[]),
  double u[] /* 1 dimension */,
  CONST Integer REFPTR npts,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR ncode,
  void (NAG_CALL *odedef)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR nxi,
  CONST double xi[] /* 1 dimension */,
  CONST Integer REFPTR neqn,
  CONST double rtol[] /* 1 dimension */,
  CONST double atol[] /* 1 dimension */,
  CONST Integer REFPTR itol,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * laopt
#ifdef USE_STDCALL
,  CONST Charlen length_laopt
#endif
,
  CONST double algopt[] /* 1 dimension */,
  CONST logical REFPTR remesh,
  CONST Integer REFPTR nxfix,
  CONST double xfix[] /* 1 dimension */,
  CONST Integer REFPTR nrmesh,
  CONST double REFPTR dxmesh,
  CONST double REFPTR trmesh,
  CONST Integer REFPTR ipminf,
  CONST double REFPTR xratio,
  CONST double REFPTR con,
  void (NAG_CALL *monitf)(
                          CONST double REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[]),
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer isave[] /* 1 dimension */,
  CONST Integer REFPTR lisave,
  CONST Integer REFPTR itask,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_laopt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03puf_(uleft, uright, gamma, flux, ifail)  \
D03PUF(uleft, uright, gamma, flux, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03puf_ D03PUF
#else
#define  D03PUF d03puf_
#endif
extern void NAG_CALL D03PUF(
  CONST double uleft[] /* 1 dimension */,
  CONST double uright[] /* 1 dimension */,
  CONST double REFPTR gamma,
  double flux[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pvf_(uleft, uright, gamma, path, flux, ifail, length_path)  \
D03PVF(uleft, uright, gamma, path, length_path, flux, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pvf_ D03PVF
#else
#define  D03PVF d03pvf_
#endif
extern void NAG_CALL D03PVF(
  CONST double uleft[] /* 1 dimension */,
  CONST double uright[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST char * path
#ifdef USE_STDCALL
,  CONST Charlen length_path
#endif
,
  double flux[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_path
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pwf_(uleft, uright, gamma, flux, ifail)  \
D03PWF(uleft, uright, gamma, flux, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pwf_ D03PWF
#else
#define  D03PWF d03pwf_
#endif
extern void NAG_CALL D03PWF(
  CONST double uleft[] /* 1 dimension */,
  CONST double uright[] /* 1 dimension */,
  CONST double REFPTR gamma,
  double flux[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pxf_(uleft, uright, gamma, tol, niter, flux, ifail)  \
D03PXF(uleft, uright, gamma, tol, niter, flux, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pxf_ D03PXF
#else
#define  D03PXF d03pxf_
#endif
extern void NAG_CALL D03PXF(
  CONST double uleft[] /* 1 dimension */,
  CONST double uright[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST double REFPTR tol,
  CONST Integer REFPTR niter,
  double flux[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pyf_(npde, u, nbkpts, xbkpts, npoly, npts, xp, intpts, itype, up, rsave, lrsave, ifail)  \
D03PYF(npde, u, nbkpts, xbkpts, npoly, npts, xp, intpts, itype, up, rsave, lrsave, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pyf_ D03PYF
#else
#define  D03PYF d03pyf_
#endif
extern void NAG_CALL D03PYF(
  CONST Integer REFPTR npde,
  CONST double u[] /* 2 dimension */,
  CONST Integer REFPTR nbkpts,
  CONST double xbkpts[] /* 1 dimension */,
  CONST Integer REFPTR npoly,
  CONST Integer REFPTR npts,
  CONST double xp[] /* 1 dimension */,
  CONST Integer REFPTR intpts,
  CONST Integer REFPTR itype,
  double up[] /* 3 dimension */,
  double rsave[] /* 1 dimension */,
  CONST Integer REFPTR lrsave,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03pzf_(npde, m, u, npts, x, xp, intpts, itype, up, ifail)  \
D03PZF(npde, m, u, npts, x, xp, intpts, itype, up, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03pzf_ D03PZF
#else
#define  D03PZF d03pzf_
#endif
extern void NAG_CALL D03PZF(
  CONST Integer REFPTR npde,
  CONST Integer REFPTR m,
  CONST double u[] /* 2 dimension */,
  CONST Integer REFPTR npts,
  CONST double x[] /* 1 dimension */,
  CONST double xp[] /* 1 dimension */,
  CONST Integer REFPTR intpts,
  CONST Integer REFPTR itype,
  double up[] /* 3 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03raf_(npde, ts, tout, dt, xmin, xmax, ymin, ymax, nx, ny, tols, tolt, pdedef, bndary, pdeiv, monitr, opti, optr, rwk, lenrwk, iwk, leniwk, lwk, lenlwk, itrace, ind, ifail)  \
D03RAF(npde, ts, tout, dt, xmin, xmax, ymin, ymax, nx, ny, tols, tolt, pdedef, bndary, pdeiv, monitr, opti, optr, rwk, lenrwk, iwk, leniwk, lwk, lenlwk, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03raf_ D03RAF
#else
#define  D03RAF d03raf_
#endif
extern void NAG_CALL D03RAF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  double dt[] /* 1 dimension */,
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double REFPTR ymin,
  CONST double REFPTR ymax,
  CONST Integer REFPTR nx,
  CONST Integer REFPTR ny,
  CONST double REFPTR tols,
  CONST double REFPTR tolt,
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[]),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          double[]),
  void (NAG_CALL *pdeiv)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST double[],
                         double[]),
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST logical REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          CONST double[],
                          CONST double[],
                          CONST Integer[],
                          CONST double[],
                          Integer REFPTR ),
  CONST Integer opti[] /* 1 dimension */,
  CONST double optr[] /* 2 dimension */,
  double rwk[] /* 1 dimension */,
  CONST Integer REFPTR lenrwk,
  Integer iwk[] /* 1 dimension */,
  CONST Integer REFPTR leniwk,
  logical lwk[] /* 1 dimension */,
  CONST Integer REFPTR lenlwk,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03rbf_(npde, ts, tout, dt, tols, tolt, inidom, pdedef, bndary, pdeiv, monitr, opti, optr, rwk, lenrwk, iwk, leniwk, lwk, lenlwk, itrace, ind, ifail)  \
D03RBF(npde, ts, tout, dt, tols, tolt, inidom, pdedef, bndary, pdeiv, monitr, opti, optr, rwk, lenrwk, iwk, leniwk, lwk, lenlwk, itrace, ind, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03rbf_ D03RBF
#else
#define  D03RBF d03rbf_
#endif
extern void NAG_CALL D03RBF(
  CONST Integer REFPTR npde,
  double REFPTR ts,
  CONST double REFPTR tout,
  double dt[] /* 1 dimension */,
  CONST double REFPTR tols,
  CONST double REFPTR tolt,
  void (NAG_CALL *inidom)(
                          CONST Integer REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          double REFPTR ,
                          Integer REFPTR ,
                          Integer REFPTR ,
                          Integer REFPTR ,
                          Integer REFPTR ,
                          Integer REFPTR ,
                          Integer REFPTR ,
                          Integer[],
                          Integer[],
                          Integer[],
                          Integer[],
                          Integer[],
                          Integer[],
                          Integer REFPTR ),
  void (NAG_CALL *pdedef)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          double[]),
  void (NAG_CALL *bndary)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          CONST Integer[],
                          CONST Integer[],
                          double[]),
  void (NAG_CALL *pdeiv)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST double[],
                         double[]),
  void (NAG_CALL *monitr)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST logical REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          CONST Integer[],
                          CONST Integer[],
                          CONST Integer[],
                          CONST double[],
                          Integer REFPTR ),
  CONST Integer opti[] /* 1 dimension */,
  CONST double optr[] /* 2 dimension */,
  double rwk[] /* 1 dimension */,
  CONST Integer REFPTR lenrwk,
  Integer iwk[] /* 1 dimension */,
  CONST Integer REFPTR leniwk,
  logical lwk[] /* 1 dimension */,
  CONST Integer REFPTR lenlwk,
  CONST Integer REFPTR itrace,
  Integer REFPTR ind,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ryf_(nx, ny, npts, nrows, nbnds, nbpts, lrow, irow, icol, llbnd, ilbnd, lbnd, iwk, leniwk, pgrid, ifail, length_pgrid)  \
D03RYF(nx, ny, npts, nrows, nbnds, nbpts, lrow, irow, icol, llbnd, ilbnd, lbnd, iwk, leniwk, pgrid, length_pgrid, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ryf_ D03RYF
#else
#define  D03RYF d03ryf_
#endif
extern void NAG_CALL D03RYF(
  CONST Integer REFPTR nx,
  CONST Integer REFPTR ny,
  CONST Integer REFPTR npts,
  CONST Integer REFPTR nrows,
  CONST Integer REFPTR nbnds,
  CONST Integer REFPTR nbpts,
  CONST Integer lrow[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST Integer llbnd[] /* 1 dimension */,
  CONST Integer ilbnd[] /* 1 dimension */,
  CONST Integer lbnd[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  CONST Integer REFPTR leniwk,
  char pgrid[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_pgrid
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_pgrid
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03rzf_(level, nlev, xmin, ymin, dxb, dyb, lgrid, istruc, npts, x, y, lenxy, ifail)  \
D03RZF(level, nlev, xmin, ymin, dxb, dyb, lgrid, istruc, npts, x, y, lenxy, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03rzf_ D03RZF
#else
#define  D03RZF d03rzf_
#endif
extern void NAG_CALL D03RZF(
  CONST Integer REFPTR level,
  CONST Integer REFPTR nlev,
  CONST double REFPTR xmin,
  CONST double REFPTR ymin,
  CONST double REFPTR dxb,
  CONST double REFPTR dyb,
  CONST Integer lgrid[] /* 1 dimension */,
  CONST Integer istruc[] /* 1 dimension */,
  Integer REFPTR npts,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR lenxy,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03uaf_(n1, n2, lda, a, b, c, d, e, aparam, it, r, wrksp1, wrksp2, ifail)  \
D03UAF(n1, n2, lda, a, b, c, d, e, aparam, it, r, wrksp1, wrksp2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03uaf_ D03UAF
#else
#define  D03UAF d03uaf_
#endif
extern void NAG_CALL D03UAF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST Integer REFPTR lda,
  CONST double a[] /* 2 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST double d[] /* 2 dimension */,
  CONST double e[] /* 2 dimension */,
  CONST double REFPTR aparam,
  CONST Integer REFPTR it,
  double r[] /* 2 dimension */,
  double wrksp1[] /* 2 dimension */,
  double wrksp2[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d03ubf_(n1, n2, n3, lda, sda, a, b, c, d, e, f, g, aparam, it, r, wrksp1, wrksp2, wrksp3, ifail)  \
D03UBF(n1, n2, n3, lda, sda, a, b, c, d, e, f, g, aparam, it, r, wrksp1, wrksp2, wrksp3, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d03ubf_ D03UBF
#else
#define  D03UBF d03ubf_
#endif
extern void NAG_CALL D03UBF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST Integer REFPTR n3,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR sda,
  CONST double a[] /* 3 dimension */,
  CONST double b[] /* 3 dimension */,
  CONST double c[] /* 3 dimension */,
  CONST double d[] /* 3 dimension */,
  CONST double e[] /* 3 dimension */,
  CONST double f[] /* 3 dimension */,
  CONST double g[] /* 3 dimension */,
  CONST double REFPTR aparam,
  CONST Integer REFPTR it,
  double r[] /* 3 dimension */,
  double wrksp1[] /* 3 dimension */,
  double wrksp2[] /* 3 dimension */,
  double wrksp3[] /* 3 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d04aaf_(xval, nder, hbase, der, erest, fun, ifail)  \
D04AAF(xval, nder, hbase, der, erest, fun, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d04aaf_ D04AAF
#else
#define  D04AAF d04aaf_
#endif
extern void NAG_CALL D04AAF(
  CONST double REFPTR xval,
  CONST Integer REFPTR nder,
  CONST double REFPTR hbase,
  double der[] /* 1 dimension */,
  double erest[] /* 1 dimension */,
  double (NAG_CALL *fun)(
                         CONST double REFPTR ),
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d05aaf_(lambda, a, b, k1, k2, g, f, c, n, ind, w1, w2, wd, ldw1, ldw2, ifail)  \
D05AAF(lambda, a, b, k1, k2, g, f, c, n, ind, w1, w2, wd, ldw1, ldw2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d05aaf_ D05AAF
#else
#define  D05AAF d05aaf_
#endif
extern void NAG_CALL D05AAF(
  CONST double REFPTR lambda,
  CONST double REFPTR a,
  CONST double REFPTR b,
  double (NAG_CALL *k1)(
                        CONST double REFPTR ,
                        CONST double REFPTR ),
  double (NAG_CALL *k2)(
                        CONST double REFPTR ,
                        CONST double REFPTR ),
  double (NAG_CALL *g)(
                       CONST double REFPTR ),
  double f[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ind,
  double w1[] /* 2 dimension */,
  double w2[] /* 2 dimension */,
  double wd[] /* 1 dimension */,
  CONST Integer REFPTR ldw1,
  CONST Integer REFPTR ldw2,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d05abf_(k, g, lambda, a, b, odorev, ev, n, cm, f1, wk, ldcm, nt2p1, f, c, ifail)  \
D05ABF(k, g, lambda, a, b, odorev, ev, n, cm, f1, wk, ldcm, nt2p1, f, c, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d05abf_ D05ABF
#else
#define  D05ABF d05abf_
#endif
extern void NAG_CALL D05ABF(
  double (NAG_CALL *k)(
                       CONST double REFPTR ,
                       CONST double REFPTR ),
  double (NAG_CALL *g)(
                       CONST double REFPTR ),
  CONST double REFPTR lambda,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST logical REFPTR odorev,
  CONST logical REFPTR ev,
  CONST Integer REFPTR n,
  double cm[] /* 2 dimension */,
  double f1[] /* 2 dimension */,
  double wk[] /* 2 dimension */,
  CONST Integer REFPTR ldcm,
  CONST Integer REFPTR nt2p1,
  double f[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d05baf_(ck, cg, cf, method, iorder, alim, tlim, yn, errest, nmesh, tol, thresh, work, lwk, ifail, length_method)  \
D05BAF(ck, cg, cf, method, length_method, iorder, alim, tlim, yn, errest, nmesh, tol, thresh, work, lwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d05baf_ D05BAF
#else
#define  D05BAF d05baf_
#endif
extern void NAG_CALL D05BAF(
  double (NAG_CALL *ck)(
                        CONST double REFPTR ),
  double (NAG_CALL *cg)(
                        CONST double REFPTR ,
                        CONST double REFPTR ),
  double (NAG_CALL *cf)(
                        CONST double REFPTR ),
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR iorder,
  CONST double REFPTR alim,
  CONST double REFPTR tlim,
  double yn[] /* 1 dimension */,
  double errest[] /* 1 dimension */,
  CONST Integer REFPTR nmesh,
  CONST double REFPTR tol,
  CONST double REFPTR thresh,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d05bdf_(ck, cf, cg, initwt, iorder, tlim, tolnl, nmesh, yn, work, lwk, nct, ifail, length_initwt)  \
D05BDF(ck, cf, cg, initwt, length_initwt, iorder, tlim, tolnl, nmesh, yn, work, lwk, nct, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d05bdf_ D05BDF
#else
#define  D05BDF d05bdf_
#endif
extern void NAG_CALL D05BDF(
  double (NAG_CALL *ck)(
                        CONST double REFPTR ),
  double (NAG_CALL *cf)(
                        CONST double REFPTR ),
  double (NAG_CALL *cg)(
                        CONST double REFPTR ,
                        CONST double REFPTR ),
  CONST char * initwt
#ifdef USE_STDCALL
,  CONST Charlen length_initwt
#endif
,
  CONST Integer REFPTR iorder,
  CONST double REFPTR tlim,
  CONST double REFPTR tolnl,
  CONST Integer REFPTR nmesh,
  double yn[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwk,
  Integer nct[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_initwt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d05bef_(ck, cf, cg, initwt, iorder, tlim, tolnl, nmesh, yn, work, lwk, nct, ifail, length_initwt)  \
D05BEF(ck, cf, cg, initwt, length_initwt, iorder, tlim, tolnl, nmesh, yn, work, lwk, nct, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d05bef_ D05BEF
#else
#define  D05BEF d05bef_
#endif
extern void NAG_CALL D05BEF(
  double (NAG_CALL *ck)(
                        CONST double REFPTR ),
  double (NAG_CALL *cf)(
                        CONST double REFPTR ),
  double (NAG_CALL *cg)(
                        CONST double REFPTR ,
                        CONST double REFPTR ),
  CONST char * initwt
#ifdef USE_STDCALL
,  CONST Charlen length_initwt
#endif
,
  CONST Integer REFPTR iorder,
  CONST double REFPTR tlim,
  CONST double REFPTR tolnl,
  CONST Integer REFPTR nmesh,
  double yn[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwk,
  Integer nct[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_initwt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d05bwf_(method, iorder, omega, nomg, lensw, sw, ldsw, nwt, ifail, length_method)  \
D05BWF(method, length_method, iorder, omega, nomg, lensw, sw, ldsw, nwt, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d05bwf_ D05BWF
#else
#define  D05BWF d05bwf_
#endif
extern void NAG_CALL D05BWF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR iorder,
  double omega[] /* 1 dimension */,
  CONST Integer REFPTR nomg,
  Integer REFPTR lensw,
  double sw[] /* 2 dimension */,
  CONST Integer REFPTR ldsw,
  CONST Integer REFPTR nwt,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d05byf_(iorder, iq, lenfw, wt, sw, ldsw, work, lwk, ifail)  \
D05BYF(iorder, iq, lenfw, wt, sw, ldsw, work, lwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d05byf_ D05BYF
#else
#define  D05BYF d05byf_
#endif
extern void NAG_CALL D05BYF(
  CONST Integer REFPTR iorder,
  CONST Integer REFPTR iq,
  CONST Integer REFPTR lenfw,
  double wt[] /* 1 dimension */,
  double sw[] /* 2 dimension */,
  CONST Integer REFPTR ldsw,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06aaf_(nvb, nvmax, nedge, edge, nv, nelt, coor, conn, bspace, smooth, coef, power, itrace, rwork, lrwork, iwork, liwork, ifail)  \
D06AAF(nvb, nvmax, nedge, edge, nv, nelt, coor, conn, bspace, smooth, coef, power, itrace, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06aaf_ D06AAF
#else
#define  D06AAF d06aaf_
#endif
extern void NAG_CALL D06AAF(
  CONST Integer REFPTR nvb,
  CONST Integer REFPTR nvmax,
  CONST Integer REFPTR nedge,
  CONST Integer edge[] /* 2 dimension */,
  Integer REFPTR nv,
  Integer REFPTR nelt,
  double coor[] /* 2 dimension */,
  Integer conn[] /* 2 dimension */,
  CONST double bspace[] /* 1 dimension */,
  CONST logical REFPTR smooth,
  CONST double REFPTR coef,
  CONST double REFPTR power,
  CONST Integer REFPTR itrace,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06abf_(nvb, nvint, nvmax, nedge, edge, nv, nelt, coor, conn, weight, npropa, itrace, rwork, lrwork, iwork, liwork, ifail)  \
D06ABF(nvb, nvint, nvmax, nedge, edge, nv, nelt, coor, conn, weight, npropa, itrace, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06abf_ D06ABF
#else
#define  D06ABF d06abf_
#endif
extern void NAG_CALL D06ABF(
  CONST Integer REFPTR nvb,
  CONST Integer REFPTR nvint,
  CONST Integer REFPTR nvmax,
  CONST Integer REFPTR nedge,
  CONST Integer edge[] /* 2 dimension */,
  Integer REFPTR nv,
  Integer REFPTR nelt,
  double coor[] /* 2 dimension */,
  Integer conn[] /* 2 dimension */,
  CONST double weight[] /* 1 dimension */,
  CONST Integer REFPTR npropa,
  CONST Integer REFPTR itrace,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06acf_(nvb, nvint, nvmax, nedge, edge, nv, nelt, coor, conn, weight, itrace, rwork, lrwork, iwork, liwork, ifail)  \
D06ACF(nvb, nvint, nvmax, nedge, edge, nv, nelt, coor, conn, weight, itrace, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06acf_ D06ACF
#else
#define  D06ACF d06acf_
#endif
extern void NAG_CALL D06ACF(
  CONST Integer REFPTR nvb,
  CONST Integer REFPTR nvint,
  CONST Integer REFPTR nvmax,
  CONST Integer REFPTR nedge,
  CONST Integer edge[] /* 2 dimension */,
  Integer REFPTR nv,
  Integer REFPTR nelt,
  double coor[] /* 2 dimension */,
  Integer conn[] /* 2 dimension */,
  CONST double weight[] /* 1 dimension */,
  CONST Integer REFPTR itrace,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06bad_(i, x, y, ruser, iuser)  \
D06BAD(i, x, y, ruser, iuser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06bad_ D06BAD
#else
#define  D06BAD d06bad_
#endif
extern double NAG_CALL D06BAD(
  CONST Integer REFPTR i,
  CONST double REFPTR x,
  CONST double REFPTR y,
  double ruser[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06baf_(nlines, coorch, lined, fbnd, crus, sdcrus, rate, ncomp, nlcomp, lcomp, nvmax, nedmx, nvb, coor, nedge, edge, itrace, ruser, iuser, rwork, lrwork, iwork, liwork, ifail)  \
D06BAF(nlines, coorch, lined, fbnd, crus, sdcrus, rate, ncomp, nlcomp, lcomp, nvmax, nedmx, nvb, coor, nedge, edge, itrace, ruser, iuser, rwork, lrwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06baf_ D06BAF
#else
#define  D06BAF d06baf_
#endif
extern void NAG_CALL D06BAF(
  CONST Integer REFPTR nlines,
  CONST double coorch[] /* 2 dimension */,
  CONST Integer lined[] /* 2 dimension */,
  double (NAG_CALL *fbnd)(
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          CONST double REFPTR ,
                          double[],
                          Integer[]),
  CONST double crus[] /* 2 dimension */,
  CONST Integer REFPTR sdcrus,
  CONST double rate[] /* 1 dimension */,
  CONST Integer REFPTR ncomp,
  CONST Integer nlcomp[] /* 1 dimension */,
  CONST Integer lcomp[] /* 1 dimension */,
  CONST Integer REFPTR nvmax,
  CONST Integer REFPTR nedmx,
  Integer REFPTR nvb,
  double coor[] /* 2 dimension */,
  Integer REFPTR nedge,
  Integer edge[] /* 2 dimension */,
  CONST Integer REFPTR itrace,
  double ruser[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06caf_(nv, nelt, nedge, coor, edge, conn, nvfix, numfix, itrace, nqint, iwork, liwork, rwork, lrwork, ifail)  \
D06CAF(nv, nelt, nedge, coor, edge, conn, nvfix, numfix, itrace, nqint, iwork, liwork, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06caf_ D06CAF
#else
#define  D06CAF d06caf_
#endif
extern void NAG_CALL D06CAF(
  CONST Integer REFPTR nv,
  CONST Integer REFPTR nelt,
  CONST Integer REFPTR nedge,
  double coor[] /* 2 dimension */,
  CONST Integer edge[] /* 2 dimension */,
  CONST Integer conn[] /* 2 dimension */,
  CONST Integer REFPTR nvfix,
  CONST Integer numfix[] /* 1 dimension */,
  CONST Integer REFPTR itrace,
  CONST Integer REFPTR nqint,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06cbf_(nv, nelt, nnzmax, conn, nnz, irow, icol, ifail)  \
D06CBF(nv, nelt, nnzmax, conn, nnz, irow, icol, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06cbf_ D06CBF
#else
#define  D06CBF d06cbf_
#endif
extern void NAG_CALL D06CBF(
  CONST Integer REFPTR nv,
  CONST Integer REFPTR nelt,
  CONST Integer REFPTR nnzmax,
  CONST Integer conn[] /* 2 dimension */,
  Integer REFPTR nnz,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06ccf_(nv, nelt, nedge, nnzmax, nnz, coor, edge, conn, irow, icol, itrace, iwork, liwork, rwork, lrwork, ifail)  \
D06CCF(nv, nelt, nedge, nnzmax, nnz, coor, edge, conn, irow, icol, itrace, iwork, liwork, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06ccf_ D06CCF
#else
#define  D06CCF d06ccf_
#endif
extern void NAG_CALL D06CCF(
  CONST Integer REFPTR nv,
  CONST Integer REFPTR nelt,
  CONST Integer REFPTR nedge,
  CONST Integer REFPTR nnzmax,
  Integer REFPTR nnz,
  double coor[] /* 2 dimension */,
  Integer edge[] /* 2 dimension */,
  Integer conn[] /* 2 dimension */,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST Integer REFPTR itrace,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06daf_(nv, nedge, nelt, ntrans, itype, trans, coori, edgei, conni, cooro, edgeo, conno, itrace, rwork, lrwork, ifail)  \
D06DAF(nv, nedge, nelt, ntrans, itype, trans, coori, edgei, conni, cooro, edgeo, conno, itrace, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06daf_ D06DAF
#else
#define  D06DAF d06daf_
#endif
extern void NAG_CALL D06DAF(
  CONST Integer REFPTR nv,
  CONST Integer REFPTR nedge,
  CONST Integer REFPTR nelt,
  CONST Integer REFPTR ntrans,
  CONST Integer itype[] /* 1 dimension */,
  CONST double trans[] /* 2 dimension */,
  double coori[] /* 2 dimension */,
  Integer edgei[] /* 2 dimension */,
  Integer conni[] /* 2 dimension */,
  double cooro[] /* 2 dimension */,
  Integer edgeo[] /* 2 dimension */,
  Integer conno[] /* 2 dimension */,
  CONST Integer REFPTR itrace,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
d06dbf_(eps, nv1, nelt1, nedge1, coor1, edge1, conn1, reft1, nv2, nelt2, nedge2, coor2, edge2, conn2, reft2, nv3, nelt3, nedge3, coor3, edge3, conn3, reft3, itrace, iwork, liwork, ifail)  \
D06DBF(eps, nv1, nelt1, nedge1, coor1, edge1, conn1, reft1, nv2, nelt2, nedge2, coor2, edge2, conn2, reft2, nv3, nelt3, nedge3, coor3, edge3, conn3, reft3, itrace, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  d06dbf_ D06DBF
#else
#define  D06DBF d06dbf_
#endif
extern void NAG_CALL D06DBF(
  CONST double REFPTR eps,
  CONST Integer REFPTR nv1,
  CONST Integer REFPTR nelt1,
  CONST Integer REFPTR nedge1,
  CONST double coor1[] /* 2 dimension */,
  CONST Integer edge1[] /* 2 dimension */,
  CONST Integer conn1[] /* 2 dimension */,
  CONST Integer reft1[] /* 1 dimension */,
  CONST Integer REFPTR nv2,
  CONST Integer REFPTR nelt2,
  CONST Integer REFPTR nedge2,
  CONST double coor2[] /* 2 dimension */,
  CONST Integer edge2[] /* 2 dimension */,
  CONST Integer conn2[] /* 2 dimension */,
  CONST Integer reft2[] /* 1 dimension */,
  Integer REFPTR nv3,
  Integer REFPTR nelt3,
  Integer REFPTR nedge3,
  double coor3[] /* 2 dimension */,
  Integer edge3[] /* 2 dimension */,
  Integer conn3[] /* 2 dimension */,
  Integer reft3[] /* 1 dimension */,
  CONST Integer REFPTR itrace,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01aaf_(a, b, c, n1, n2, n, x)  \
E01AAF(a, b, c, n1, n2, n, x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01aaf_ E01AAF
#else
#define  E01AAF e01aaf_
#endif
extern void NAG_CALL E01AAF(
  double a[] /* 1 dimension */,
  double b[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST Integer REFPTR n,
  CONST double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01abf_(n, p, a, g, n1, n2, ifail)  \
E01ABF(n, p, a, g, n1, n2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01abf_ E01ABF
#else
#define  E01ABF e01abf_
#endif
extern void NAG_CALL E01ABF(
  CONST Integer REFPTR n,
  CONST double REFPTR p,
  double a[] /* 1 dimension */,
  double g[] /* 1 dimension */,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01aef_(m, xmin, xmax, x, y, ip, n, itmin, itmax, a, wrk, lwrk, iwrk, liwrk, ifail)  \
E01AEF(m, xmin, xmax, x, y, ip, n, itmin, itmax, a, wrk, lwrk, iwrk, liwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01aef_ E01AEF
#else
#define  E01AEF e01aef_
#endif
extern void NAG_CALL E01AEF(
  CONST Integer REFPTR m,
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST Integer ip[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR itmin,
  CONST Integer REFPTR itmax,
  double a[] /* 1 dimension */,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer iwrk[] /* 1 dimension */,
  CONST Integer REFPTR liwrk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01baf_(m, x, y, lamda, c, lck, wrk, lwrk, ifail)  \
E01BAF(m, x, y, lamda, c, lck, wrk, lwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01baf_ E01BAF
#else
#define  E01BAF e01baf_
#endif
extern void NAG_CALL E01BAF(
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  double lamda[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  CONST Integer REFPTR lck,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01bef_(n, x, f, d, ifail)  \
E01BEF(n, x, f, d, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01bef_ E01BEF
#else
#define  E01BEF e01bef_
#endif
extern void NAG_CALL E01BEF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01bff_(n, x, f, d, m, px, pf, ifail)  \
E01BFF(n, x, f, d, m, px, pf, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01bff_ E01BFF
#else
#define  E01BFF e01bff_
#endif
extern void NAG_CALL E01BFF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double px[] /* 1 dimension */,
  double pf[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01bgf_(n, x, f, d, m, px, pf, pd, ifail)  \
E01BGF(n, x, f, d, m, px, pf, pd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01bgf_ E01BGF
#else
#define  E01BGF e01bgf_
#endif
extern void NAG_CALL E01BGF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double px[] /* 1 dimension */,
  double pf[] /* 1 dimension */,
  double pd[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01bhf_(n, x, f, d, a, b, pint, ifail)  \
E01BHF(n, x, f, d, a, b, pint, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01bhf_ E01BHF
#else
#define  E01BHF e01bhf_
#endif
extern void NAG_CALL E01BHF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double REFPTR a,
  CONST double REFPTR b,
  double REFPTR pint,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01daf_(mx, my, x, y, f, px, py, lamda, mu, c, wrk, ifail)  \
E01DAF(mx, my, x, y, f, px, py, lamda, mu, c, wrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01daf_ E01DAF
#else
#define  E01DAF e01daf_
#endif
extern void NAG_CALL E01DAF(
  CONST Integer REFPTR mx,
  CONST Integer REFPTR my,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  Integer REFPTR px,
  Integer REFPTR py,
  double lamda[] /* 1 dimension */,
  double mu[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double wrk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01raf_(n, x, f, m, a, u, iw, ifail)  \
E01RAF(n, x, f, m, a, u, iw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01raf_ E01RAF
#else
#define  E01RAF e01raf_
#endif
extern void NAG_CALL E01RAF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  Integer REFPTR m,
  double a[] /* 1 dimension */,
  double u[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01rbf_(m, a, u, x, f, ifail)  \
E01RBF(m, a, u, x, f, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01rbf_ E01RBF
#else
#define  E01RBF e01rbf_
#endif
extern void NAG_CALL E01RBF(
  CONST Integer REFPTR m,
  CONST double a[] /* 1 dimension */,
  CONST double u[] /* 1 dimension */,
  CONST double REFPTR x,
  double REFPTR f,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01saf_(m, x, y, f, triang, grads, ifail)  \
E01SAF(m, x, y, f, triang, grads, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01saf_ E01SAF
#else
#define  E01SAF e01saf_
#endif
extern void NAG_CALL E01SAF(
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  Integer triang[] /* 1 dimension */,
  double grads[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01sbf_(m, x, y, f, triang, grads, px, py, pf, ifail)  \
E01SBF(m, x, y, f, triang, grads, px, py, pf, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01sbf_ E01SBF
#else
#define  E01SBF e01sbf_
#endif
extern void NAG_CALL E01SBF(
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST Integer triang[] /* 1 dimension */,
  CONST double grads[] /* 2 dimension */,
  CONST double REFPTR px,
  CONST double REFPTR py,
  double REFPTR pf,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01sgf_(m, x, y, f, nw, nq, iq, liq, rq, lrq, ifail)  \
E01SGF(m, x, y, f, nw, nq, iq, liq, rq, lrq, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01sgf_ E01SGF
#else
#define  E01SGF e01sgf_
#endif
extern void NAG_CALL E01SGF(
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST Integer REFPTR nw,
  CONST Integer REFPTR nq,
  Integer iq[] /* 1 dimension */,
  CONST Integer REFPTR liq,
  double rq[] /* 1 dimension */,
  CONST Integer REFPTR lrq,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01shf_(m, x, y, f, iq, liq, rq, lrq, n, u, v, q, qx, qy, ifail)  \
E01SHF(m, x, y, f, iq, liq, rq, lrq, n, u, v, q, qx, qy, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01shf_ E01SHF
#else
#define  E01SHF e01shf_
#endif
extern void NAG_CALL E01SHF(
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST Integer iq[] /* 1 dimension */,
  CONST Integer REFPTR liq,
  CONST double rq[] /* 1 dimension */,
  CONST Integer REFPTR lrq,
  CONST Integer REFPTR n,
  CONST double u[] /* 1 dimension */,
  CONST double v[] /* 1 dimension */,
  double q[] /* 1 dimension */,
  double qx[] /* 1 dimension */,
  double qy[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01tgf_(m, x, y, z, f, nw, nq, iq, liq, rq, lrq, ifail)  \
E01TGF(m, x, y, z, f, nw, nq, iq, liq, rq, lrq, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01tgf_ E01TGF
#else
#define  E01TGF e01tgf_
#endif
extern void NAG_CALL E01TGF(
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double z[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST Integer REFPTR nw,
  CONST Integer REFPTR nq,
  Integer iq[] /* 1 dimension */,
  CONST Integer REFPTR liq,
  double rq[] /* 1 dimension */,
  CONST Integer REFPTR lrq,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e01thf_(m, x, y, z, f, iq, liq, rq, lrq, n, u, v, w, q, qx, qy, qz, ifail)  \
E01THF(m, x, y, z, f, iq, liq, rq, lrq, n, u, v, w, q, qx, qy, qz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e01thf_ E01THF
#else
#define  E01THF e01thf_
#endif
extern void NAG_CALL E01THF(
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double z[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST Integer iq[] /* 1 dimension */,
  CONST Integer REFPTR liq,
  CONST double rq[] /* 1 dimension */,
  CONST Integer REFPTR lrq,
  CONST Integer REFPTR n,
  CONST double u[] /* 1 dimension */,
  CONST double v[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  double q[] /* 1 dimension */,
  double qx[] /* 1 dimension */,
  double qy[] /* 1 dimension */,
  double qz[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02acf_(x, y, n, a, m1, ref)  \
E02ACF(x, y, n, a, m1, ref) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02acf_ E02ACF
#else
#define  E02ACF e02acf_
#endif
extern void NAG_CALL E02ACF(
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  double REFPTR ref
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02adf_(m, kplus1, lda, x, y, w, work1, work2, a, s, ifail)  \
E02ADF(m, kplus1, lda, x, y, w, work1, work2, a, s, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02adf_ E02ADF
#else
#define  E02ADF e02adf_
#endif
extern void NAG_CALL E02ADF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR kplus1,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  double work1[] /* 1 dimension */,
  double work2[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  double s[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02aef_(nplus1, a, xcap, p, ifail)  \
E02AEF(nplus1, a, xcap, p, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02aef_ E02AEF
#else
#define  E02AEF e02aef_
#endif
extern void NAG_CALL E02AEF(
  CONST Integer REFPTR nplus1,
  CONST double a[] /* 1 dimension */,
  CONST double REFPTR xcap,
  double REFPTR p,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02aff_(nplus1, f, a, ifail)  \
E02AFF(nplus1, f, a, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02aff_ E02AFF
#else
#define  E02AFF e02aff_
#endif
extern void NAG_CALL E02AFF(
  CONST Integer REFPTR nplus1,
  CONST double f[] /* 1 dimension */,
  double a[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02agf_(m, kplus1, lda, xmin, xmax, x, y, w, mf, xf, yf, lyf, ip, a, s, np1, wrk, lwrk, iwrk, liwrk, ifail)  \
E02AGF(m, kplus1, lda, xmin, xmax, x, y, w, mf, xf, yf, lyf, ip, a, s, np1, wrk, lwrk, iwrk, liwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02agf_ E02AGF
#else
#define  E02AGF e02agf_
#endif
extern void NAG_CALL E02AGF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR kplus1,
  CONST Integer REFPTR lda,
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  CONST Integer REFPTR mf,
  CONST double xf[] /* 1 dimension */,
  CONST double yf[] /* 1 dimension */,
  CONST Integer REFPTR lyf,
  CONST Integer ip[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  double s[] /* 1 dimension */,
  Integer REFPTR np1,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer iwrk[] /* 1 dimension */,
  CONST Integer REFPTR liwrk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02ahf_(np1, xmin, xmax, a, ia1, la, patm1, adif, iadif1, ladif, ifail)  \
E02AHF(np1, xmin, xmax, a, ia1, la, patm1, adif, iadif1, ladif, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02ahf_ E02AHF
#else
#define  E02AHF e02ahf_
#endif
extern void NAG_CALL E02AHF(
  CONST Integer REFPTR np1,
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR ia1,
  CONST Integer REFPTR la,
  double REFPTR patm1,
  double adif[] /* 1 dimension */,
  CONST Integer REFPTR iadif1,
  CONST Integer REFPTR ladif,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02ajf_(np1, xmin, xmax, a, ia1, la, qatm1, aint, iaint1, laint, ifail)  \
E02AJF(np1, xmin, xmax, a, ia1, la, qatm1, aint, iaint1, laint, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02ajf_ E02AJF
#else
#define  E02AJF e02ajf_
#endif
extern void NAG_CALL E02AJF(
  CONST Integer REFPTR np1,
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR ia1,
  CONST Integer REFPTR la,
  CONST double REFPTR qatm1,
  double aint[] /* 1 dimension */,
  CONST Integer REFPTR iaint1,
  CONST Integer REFPTR laint,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02akf_(np1, xmin, xmax, a, ia1, la, x, result, ifail)  \
E02AKF(np1, xmin, xmax, a, ia1, la, x, result, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02akf_ E02AKF
#else
#define  E02AKF e02akf_
#endif
extern void NAG_CALL E02AKF(
  CONST Integer REFPTR np1,
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR ia1,
  CONST Integer REFPTR la,
  CONST double REFPTR x,
  double REFPTR result,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02baf_(m, ncap7, x, y, w, lamda, work1, work2, c, ss, ifail)  \
E02BAF(m, ncap7, x, y, w, lamda, work1, work2, c, ss, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02baf_ E02BAF
#else
#define  E02BAF e02baf_
#endif
extern void NAG_CALL E02BAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR ncap7,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  double lamda[] /* 1 dimension */,
  double work1[] /* 1 dimension */,
  double work2[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR ss,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02bbf_(ncap7, lamda, c, x, s, ifail)  \
E02BBF(ncap7, lamda, c, x, s, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02bbf_ E02BBF
#else
#define  E02BBF e02bbf_
#endif
extern void NAG_CALL E02BBF(
  CONST Integer REFPTR ncap7,
  CONST double lamda[] /* 1 dimension */,
  CONST double c[] /* 1 dimension */,
  CONST double REFPTR x,
  double REFPTR s,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02bcf_(ncap7, lamda, c, x, left, s, ifail)  \
E02BCF(ncap7, lamda, c, x, left, s, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02bcf_ E02BCF
#else
#define  E02BCF e02bcf_
#endif
extern void NAG_CALL E02BCF(
  CONST Integer REFPTR ncap7,
  CONST double lamda[] /* 1 dimension */,
  CONST double c[] /* 1 dimension */,
  CONST double REFPTR x,
  CONST Integer REFPTR left,
  double s[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02bdf_(ncap7, lamda, c, dint, ifail)  \
E02BDF(ncap7, lamda, c, dint, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02bdf_ E02BDF
#else
#define  E02BDF e02bdf_
#endif
extern void NAG_CALL E02BDF(
  CONST Integer REFPTR ncap7,
  CONST double lamda[] /* 1 dimension */,
  CONST double c[] /* 1 dimension */,
  double REFPTR dint,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02bef_(start, m, x, y, w, s, nest, n, lamda, c, fp, wrk, lwrk, iwrk, ifail, length_start)  \
E02BEF(start, length_start, m, x, y, w, s, nest, n, lamda, c, fp, wrk, lwrk, iwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02bef_ E02BEF
#else
#define  E02BEF e02bef_
#endif
extern void NAG_CALL E02BEF(
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST Integer REFPTR nest,
  Integer REFPTR n,
  double lamda[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR fp,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer iwrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02caf_(m, n, k, l, x, y, f, w, mtot, a, na, xmin, xmax, nux, inuxp1, nuy, inuyp1, work, nwork, ifail)  \
E02CAF(m, n, k, l, x, y, f, w, mtot, a, na, xmin, xmax, nux, inuxp1, nuy, inuyp1, work, nwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02caf_ E02CAF
#else
#define  E02CAF e02caf_
#endif
extern void NAG_CALL E02CAF(
  CONST Integer m[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  CONST Integer REFPTR mtot,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR na,
  CONST double xmin[] /* 1 dimension */,
  CONST double xmax[] /* 1 dimension */,
  CONST double nux[] /* 1 dimension */,
  CONST Integer REFPTR inuxp1,
  CONST double nuy[] /* 1 dimension */,
  CONST Integer REFPTR inuyp1,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR nwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02cbf_(mfirst, mlast, k, l, x, xmin, xmax, y, ymin, ymax, ff, a, na, work, nwork, ifail)  \
E02CBF(mfirst, mlast, k, l, x, xmin, xmax, y, ymin, ymax, ff, a, na, work, nwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02cbf_ E02CBF
#else
#define  E02CBF e02cbf_
#endif
extern void NAG_CALL E02CBF(
  CONST Integer REFPTR mfirst,
  CONST Integer REFPTR mlast,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double REFPTR y,
  CONST double REFPTR ymin,
  CONST double REFPTR ymax,
  double ff[] /* 1 dimension */,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR na,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR nwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02daf_(m, px, py, x, y, f, w, lamda, mu, point, npoint, dl, c, nc, ws, nws, eps, sigma, rank, ifail)  \
E02DAF(m, px, py, x, y, f, w, lamda, mu, point, npoint, dl, c, nc, ws, nws, eps, sigma, rank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02daf_ E02DAF
#else
#define  E02DAF e02daf_
#endif
extern void NAG_CALL E02DAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR px,
  CONST Integer REFPTR py,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  double lamda[] /* 1 dimension */,
  double mu[] /* 1 dimension */,
  CONST Integer point[] /* 1 dimension */,
  CONST Integer REFPTR npoint,
  double dl[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  CONST Integer REFPTR nc,
  double ws[] /* 1 dimension */,
  CONST Integer REFPTR nws,
  CONST double REFPTR eps,
  double REFPTR sigma,
  Integer REFPTR rank,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02dcf_(start, mx, x, my, y, f, s, nxest, nyest, nx, lamda, ny, mu, c, fp, wrk, lwrk, iwrk, liwrk, ifail, length_start)  \
E02DCF(start, length_start, mx, x, my, y, f, s, nxest, nyest, nx, lamda, ny, mu, c, fp, wrk, lwrk, iwrk, liwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02dcf_ E02DCF
#else
#define  E02DCF e02dcf_
#endif
extern void NAG_CALL E02DCF(
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  CONST Integer REFPTR mx,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR my,
  CONST double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST Integer REFPTR nxest,
  CONST Integer REFPTR nyest,
  Integer REFPTR nx,
  double lamda[] /* 1 dimension */,
  Integer REFPTR ny,
  double mu[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR fp,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer iwrk[] /* 1 dimension */,
  CONST Integer REFPTR liwrk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02ddf_(start, m, x, y, f, w, s, nxest, nyest, nx, lamda, ny, mu, c, fp, rank, wrk, lwrk, iwrk, liwrk, ifail, length_start)  \
E02DDF(start, length_start, m, x, y, f, w, s, nxest, nyest, nx, lamda, ny, mu, c, fp, rank, wrk, lwrk, iwrk, liwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02ddf_ E02DDF
#else
#define  E02DDF e02ddf_
#endif
extern void NAG_CALL E02DDF(
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  CONST Integer REFPTR m,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  CONST double w[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST Integer REFPTR nxest,
  CONST Integer REFPTR nyest,
  Integer REFPTR nx,
  double lamda[] /* 1 dimension */,
  Integer REFPTR ny,
  double mu[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR fp,
  Integer REFPTR rank,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer iwrk[] /* 1 dimension */,
  CONST Integer REFPTR liwrk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02def_(m, px, py, x, y, lamda, mu, c, ff, wrk, iwrk, ifail)  \
E02DEF(m, px, py, x, y, lamda, mu, c, ff, wrk, iwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02def_ E02DEF
#else
#define  E02DEF e02def_
#endif
extern void NAG_CALL E02DEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR px,
  CONST Integer REFPTR py,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double lamda[] /* 1 dimension */,
  CONST double mu[] /* 1 dimension */,
  CONST double c[] /* 1 dimension */,
  double ff[] /* 1 dimension */,
  double wrk[] /* 1 dimension */,
  Integer iwrk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02dff_(mx, my, px, py, x, y, lamda, mu, c, ff, wrk, lwrk, iwrk, liwrk, ifail)  \
E02DFF(mx, my, px, py, x, y, lamda, mu, c, ff, wrk, lwrk, iwrk, liwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02dff_ E02DFF
#else
#define  E02DFF e02dff_
#endif
extern void NAG_CALL E02DFF(
  CONST Integer REFPTR mx,
  CONST Integer REFPTR my,
  CONST Integer REFPTR px,
  CONST Integer REFPTR py,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double lamda[] /* 1 dimension */,
  CONST double mu[] /* 1 dimension */,
  CONST double c[] /* 1 dimension */,
  double ff[] /* 1 dimension */,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer iwrk[] /* 1 dimension */,
  CONST Integer REFPTR liwrk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02gaf_(m, a, lda, b, nplus2, toler, x, resid, irank, iter, iwork, ifail)  \
E02GAF(m, a, lda, b, nplus2, toler, x, resid, irank, iter, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02gaf_ E02GAF
#else
#define  E02GAF e02gaf_
#endif
extern void NAG_CALL E02GAF(
  CONST Integer REFPTR m,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 1 dimension */,
  CONST Integer REFPTR nplus2,
  CONST double REFPTR toler,
  double x[] /* 1 dimension */,
  double REFPTR resid,
  Integer REFPTR irank,
  Integer REFPTR iter,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02gbf_(m, n, mpl, e, lde, f, x, mxs, monit, iprint, k, el1n, indx, w, iw, ifail)  \
E02GBF(m, n, mpl, e, lde, f, x, mxs, monit, iprint, k, el1n, indx, w, iw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02gbf_ E02GBF
#else
#define  E02GBF e02gbf_
#endif
extern void NAG_CALL E02GBF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR mpl,
  double e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  CONST double f[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR mxs,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ),
  CONST Integer REFPTR iprint,
  Integer REFPTR k,
  double REFPTR el1n,
  Integer indx[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR iw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02gcf_(m, n, sda, lda, a, b, tol, relerr, x, resmax, irank, iter, ifail)  \
E02GCF(m, n, sda, lda, a, b, tol, relerr, x, resmax, irank, iter, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02gcf_ E02GCF
#else
#define  E02GCF e02gcf_
#endif
extern void NAG_CALL E02GCF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR sda,
  CONST Integer REFPTR lda,
  double a[] /* 2 dimension */,
  double b[] /* 1 dimension */,
  CONST double REFPTR tol,
  double REFPTR relerr,
  double x[] /* 1 dimension */,
  double REFPTR resmax,
  Integer REFPTR irank,
  Integer REFPTR iter,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02raf_(ia, ib, c, ic, a, b, w, jw, ifail)  \
E02RAF(ia, ib, c, ic, a, b, w, jw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02raf_ E02RAF
#else
#define  E02RAF e02raf_
#endif
extern void NAG_CALL E02RAF(
  CONST Integer REFPTR ia,
  CONST Integer REFPTR ib,
  CONST double c[] /* 1 dimension */,
  CONST Integer REFPTR ic,
  double a[] /* 1 dimension */,
  double b[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR jw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02rbf_(a, ia, b, ib, x, ans, ifail)  \
E02RBF(a, ia, b, ib, x, ans, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02rbf_ E02RBF
#else
#define  E02RBF e02rbf_
#endif
extern void NAG_CALL E02RBF(
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR ia,
  CONST double b[] /* 1 dimension */,
  CONST Integer REFPTR ib,
  CONST double REFPTR x,
  double REFPTR ans,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e02zaf_(px, py, lamda, mu, m, x, y, point, npoint, adres, nadres, ifail)  \
E02ZAF(px, py, lamda, mu, m, x, y, point, npoint, adres, nadres, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e02zaf_ E02ZAF
#else
#define  E02ZAF e02zaf_
#endif
extern void NAG_CALL E02ZAF(
  CONST Integer REFPTR px,
  CONST Integer REFPTR py,
  CONST double lamda[] /* 1 dimension */,
  CONST double mu[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  Integer point[] /* 1 dimension */,
  CONST Integer REFPTR npoint,
  Integer adres[] /* 1 dimension */,
  CONST Integer REFPTR nadres,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04aba_(funct, e1, e2, a, b, maxcal, x, f, iuser, ruser, ifail)  \
E04ABA(funct, e1, e2, a, b, maxcal, x, f, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04aba_ E04ABA
#else
#define  E04ABA e04aba_
#endif
extern void NAG_CALL E04ABA(
  void (NAG_CALL *funct)(
                         CONST double REFPTR ,
                         double REFPTR ,
                         Integer[],
                         double[]),
  double REFPTR e1,
  double REFPTR e2,
  double REFPTR a,
  double REFPTR b,
  Integer REFPTR maxcal,
  double REFPTR x,
  double REFPTR f,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04abf_(funct, e1, e2, a, b, maxcal, x, f, ifail)  \
E04ABF(funct, e1, e2, a, b, maxcal, x, f, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04abf_ E04ABF
#else
#define  E04ABF e04abf_
#endif
extern void NAG_CALL E04ABF(
  void (NAG_CALL *funct)(
                         CONST double REFPTR ,
                         double REFPTR ),
  double REFPTR e1,
  double REFPTR e2,
  double REFPTR a,
  double REFPTR b,
  Integer REFPTR maxcal,
  double REFPTR x,
  double REFPTR f,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04bba_(funct, e1, e2, a, b, maxcal, x, f, g, iuser, ruser, ifail)  \
E04BBA(funct, e1, e2, a, b, maxcal, x, f, g, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04bba_ E04BBA
#else
#define  E04BBA e04bba_
#endif
extern void NAG_CALL E04BBA(
  void (NAG_CALL *funct)(
                         CONST double REFPTR ,
                         double REFPTR ,
                         double REFPTR ,
                         Integer[],
                         double[]),
  double REFPTR e1,
  double REFPTR e2,
  double REFPTR a,
  double REFPTR b,
  Integer REFPTR maxcal,
  double REFPTR x,
  double REFPTR f,
  double REFPTR g,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04bbf_(funct, e1, e2, a, b, maxcal, x, f, g, ifail)  \
E04BBF(funct, e1, e2, a, b, maxcal, x, f, g, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04bbf_ E04BBF
#else
#define  E04BBF e04bbf_
#endif
extern void NAG_CALL E04BBF(
  void (NAG_CALL *funct)(
                         CONST double REFPTR ,
                         double REFPTR ,
                         double REFPTR ),
  double REFPTR e1,
  double REFPTR e2,
  double REFPTR a,
  double REFPTR b,
  Integer REFPTR maxcal,
  double REFPTR x,
  double REFPTR f,
  double REFPTR g,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04cbf_(n, x, f, tolf, tolx, funct, monit, maxcal, iuser, ruser, ifail)  \
E04CBF(n, x, f, tolf, tolx, funct, monit, maxcal, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04cbf_ E04CBF
#else
#define  E04CBF e04cbf_
#endif
extern void NAG_CALL E04CBF(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double REFPTR f,
  CONST double REFPTR tolf,
  CONST double REFPTR tolx,
  void (NAG_CALL *funct)(
                         CONST Integer REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         Integer[],
                         double[]),
  void (NAG_CALL *monit)(
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         Integer[],
                         double[]),
  CONST Integer REFPTR maxcal,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04cca_(n, x, f, tol, iw, w1, w2, w3, w4, w5, w6, funct, monit, maxcal, iuser, ruser, ifail)  \
E04CCA(n, x, f, tol, iw, w1, w2, w3, w4, w5, w6, funct, monit, maxcal, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04cca_ E04CCA
#else
#define  E04CCA e04cca_
#endif
extern void NAG_CALL E04CCA(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double REFPTR f,
  CONST double REFPTR tol,
  CONST Integer REFPTR iw,
  double w1[] /* 1 dimension */,
  double w2[] /* 1 dimension */,
  double w3[] /* 1 dimension */,
  double w4[] /* 1 dimension */,
  double w5[] /* 1 dimension */,
  double w6[] /* 2 dimension */,
  void (NAG_CALL *funct)(
                         CONST Integer REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         Integer[],
                         double[]),
  void (NAG_CALL *monit)(
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         Integer[],
                         double[]),
  CONST Integer REFPTR maxcal,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ccf_(n, x, f, tol, iw, w1, w2, w3, w4, w5, w6, funct, monit, maxcal, ifail)  \
E04CCF(n, x, f, tol, iw, w1, w2, w3, w4, w5, w6, funct, monit, maxcal, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ccf_ E04CCF
#else
#define  E04CCF e04ccf_
#endif
extern void NAG_CALL E04CCF(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double REFPTR f,
  CONST double REFPTR tol,
  CONST Integer REFPTR iw,
  double w1[] /* 1 dimension */,
  double w2[] /* 1 dimension */,
  double w3[] /* 1 dimension */,
  double w4[] /* 1 dimension */,
  double w5[] /* 1 dimension */,
  double w6[] /* 2 dimension */,
  void (NAG_CALL *funct)(
                         CONST Integer REFPTR ,
                         CONST double[],
                         double REFPTR ),
  void (NAG_CALL *monit)(
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ),
  CONST Integer REFPTR maxcal,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04dga_(n, objfun, iter, objf, objgrd, x, iwork, work, iuser, ruser, lwsav, iwsav, rwsav, ifail)  \
E04DGA(n, objfun, iter, objf, objgrd, x, iwork, work, iuser, ruser, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04dga_ E04DGA
#else
#define  E04DGA e04dga_
#endif
extern void NAG_CALL E04DGA(
  CONST Integer REFPTR n,
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  Integer REFPTR iter,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04dgf_(n, objfun, iter, objf, objgrd, x, iwork, work, iuser, ruser, ifail)  \
E04DGF(n, objfun, iter, objf, objgrd, x, iwork, work, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04dgf_ E04DGF
#else
#define  E04DGF e04dgf_
#endif
extern void NAG_CALL E04DGF(
  CONST Integer REFPTR n,
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  Integer REFPTR iter,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04dja_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04DJA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04dja_ E04DJA
#else
#define  E04DJA e04dja_
#endif
extern void NAG_CALL E04DJA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04djf_(ioptns, inform)  \
E04DJF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04djf_ E04DJF
#else
#define  E04DJF e04djf_
#endif
extern void NAG_CALL E04DJF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04dka_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04DKA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04dka_ E04DKA
#else
#define  E04DKA e04dka_
#endif
extern void NAG_CALL E04DKA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04dkf_(str, length_str)  \
E04DKF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04dkf_ E04DKF
#else
#define  E04DKF e04dkf_
#endif
extern void NAG_CALL E04DKF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04fcf_(m, n, lsqfun, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail)  \
E04FCF(m, n, lsqfun, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04fcf_ E04FCF
#else
#define  E04FCF e04fcf_
#endif
extern void NAG_CALL E04FCF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsqfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *lsqmon)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  CONST Integer REFPTR iprint,
  CONST Integer REFPTR maxcal,
  CONST double REFPTR eta,
  CONST double REFPTR xtol,
  CONST double REFPTR stepmx,
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double s[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR niter,
  Integer REFPTR nf,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04fcv_(iflag)  \
E04FCV(iflag) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04fcv_ E04FCV
#else
#define  E04FCV e04fcv_
#endif
extern void NAG_CALL E04FCV(
  Integer REFPTR iflag
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04fdz_(m, n, xc, fvec, fjac, ldfjac, s, igrade, niter, nf, iw, liw, w, lw)  \
E04FDZ(m, n, xc, fvec, fjac, ldfjac, s, igrade, niter, nf, iw, liw, w, lw) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04fdz_ E04FDZ
#else
#define  E04FDZ e04fdz_
#endif
extern void NAG_CALL E04FDZ(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double xc[] /* 1 dimension */,
  CONST double fvec[] /* 1 dimension */,
  CONST double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  CONST double s[] /* 1 dimension */,
  CONST Integer REFPTR igrade,
  CONST Integer REFPTR niter,
  CONST Integer REFPTR nf,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04fyf_(m, n, lsfun1, x, fsumsq, w, lw, iuser, ruser, ifail)  \
E04FYF(m, n, lsfun1, x, fsumsq, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04fyf_ E04FYF
#else
#define  E04FYF e04fyf_
#endif
extern void NAG_CALL E04FYF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsfun1)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          Integer[],
                          double[]),
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04gbf_(m, n, lsqlin, lsqfun, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail)  \
E04GBF(m, n, lsqlin, lsqfun, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04gbf_ E04GBF
#else
#define  E04GBF e04gbf_
#endif
extern void NAG_CALL E04GBF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsqlin)(
                          Integer REFPTR ),
  void (NAG_CALL *lsqfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *lsqmon)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  CONST Integer REFPTR iprint,
  CONST Integer REFPTR maxcal,
  CONST double REFPTR eta,
  CONST double REFPTR xtol,
  CONST double REFPTR stepmx,
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double s[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR niter,
  Integer REFPTR nf,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04gdf_(m, n, lsqfun, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail)  \
E04GDF(m, n, lsqfun, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04gdf_ E04GDF
#else
#define  E04GDF e04gdf_
#endif
extern void NAG_CALL E04GDF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsqfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *lsqmon)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  CONST Integer REFPTR iprint,
  CONST Integer REFPTR maxcal,
  CONST double REFPTR eta,
  CONST double REFPTR xtol,
  CONST double REFPTR stepmx,
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double s[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR niter,
  Integer REFPTR nf,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04gyf_(m, n, lsfun2, x, fsumsq, w, lw, iuser, ruser, ifail)  \
E04GYF(m, n, lsfun2, x, fsumsq, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04gyf_ E04GYF
#else
#define  E04GYF e04gyf_
#endif
extern void NAG_CALL E04GYF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsfun2)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04gzf_(m, n, lsfun2, x, fsumsq, w, lw, iuser, ruser, ifail)  \
E04GZF(m, n, lsfun2, x, fsumsq, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04gzf_ E04GZF
#else
#define  E04GZF e04gzf_
#endif
extern void NAG_CALL E04GZF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsfun2)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04hcf_(n, funct, x, f, g, iw, liw, w, lw, ifail)  \
E04HCF(n, funct, x, f, g, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04hcf_ E04HCF
#else
#define  E04HCF e04hcf_
#endif
extern void NAG_CALL E04HCF(
  CONST Integer REFPTR n,
  void (NAG_CALL *funct)(
                         Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         double[],
                         Integer[],
                         CONST Integer REFPTR ,
                         double[],
                         CONST Integer REFPTR ),
  CONST double x[] /* 1 dimension */,
  double REFPTR f,
  double g[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04hdf_(n, funct, h, x, g, hesl, lh, hesd, iw, liw, w, lw, ifail)  \
E04HDF(n, funct, h, x, g, hesl, lh, hesd, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04hdf_ E04HDF
#else
#define  E04HDF e04hdf_
#endif
extern void NAG_CALL E04HDF(
  CONST Integer REFPTR n,
  void (NAG_CALL *funct)(
                         Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         double[],
                         Integer[],
                         CONST Integer REFPTR ,
                         double[],
                         CONST Integer REFPTR ),
  void (NAG_CALL *h)(
                     Integer REFPTR ,
                     CONST Integer REFPTR ,
                     CONST double[],
                     double[],
                     CONST Integer REFPTR ,
                     double[],
                     Integer[],
                     CONST Integer REFPTR ,
                     double[],
                     CONST Integer REFPTR ),
  CONST double x[] /* 1 dimension */,
  double g[] /* 1 dimension */,
  double hesl[] /* 1 dimension */,
  CONST Integer REFPTR lh,
  double hesd[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04hef_(m, n, lsqfun, lsqhes, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail)  \
E04HEF(m, n, lsqfun, lsqhes, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumsq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04hef_ E04HEF
#else
#define  E04HEF e04hef_
#endif
extern void NAG_CALL E04HEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsqfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *lsqhes)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *lsqmon)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  CONST Integer REFPTR iprint,
  CONST Integer REFPTR maxcal,
  CONST double REFPTR eta,
  CONST double REFPTR xtol,
  CONST double REFPTR stepmx,
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double s[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR niter,
  Integer REFPTR nf,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04hev_(iflag)  \
E04HEV(iflag) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04hev_ E04HEV
#else
#define  E04HEV e04hev_
#endif
extern void NAG_CALL E04HEV(
  Integer REFPTR iflag
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04hyf_(m, n, lsfun2, lshes2, x, fsumsq, w, lw, iuser, ruser, ifail)  \
E04HYF(m, n, lsfun2, lshes2, x, fsumsq, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04hyf_ E04HYF
#else
#define  E04HYF e04hyf_
#endif
extern void NAG_CALL E04HYF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsfun2)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *lshes2)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  double x[] /* 1 dimension */,
  double REFPTR fsumsq,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04jyf_(n, ibound, funct1, bl, bu, x, f, iw, liw, w, lw, iuser, ruser, ifail)  \
E04JYF(n, ibound, funct1, bl, bu, x, f, iw, liw, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04jyf_ E04JYF
#else
#define  E04JYF e04jyf_
#endif
extern void NAG_CALL E04JYF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ibound,
  void (NAG_CALL *funct1)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          Integer[],
                          double[]),
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double REFPTR f,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04kdf_(n, funct, monit, iprint, maxcal, eta, xtol, delta, stepmx, ibound, bl, bu, x, hesl, lh, hesd, istate, f, g, iw, liw, w, lw, ifail)  \
E04KDF(n, funct, monit, iprint, maxcal, eta, xtol, delta, stepmx, ibound, bl, bu, x, hesl, lh, hesd, istate, f, g, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04kdf_ E04KDF
#else
#define  E04KDF e04kdf_
#endif
extern void NAG_CALL E04KDF(
  CONST Integer REFPTR n,
  void (NAG_CALL *funct)(
                         Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         double[],
                         Integer[],
                         CONST Integer REFPTR ,
                         double[],
                         CONST Integer REFPTR ),
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST double REFPTR ,
                         CONST double[],
                         CONST Integer[],
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         CONST logical REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         Integer[],
                         CONST Integer REFPTR ,
                         double[],
                         CONST Integer REFPTR ),
  CONST Integer REFPTR iprint,
  CONST Integer REFPTR maxcal,
  CONST double REFPTR eta,
  CONST double REFPTR xtol,
  CONST double REFPTR delta,
  CONST double REFPTR stepmx,
  CONST Integer REFPTR ibound,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double hesl[] /* 1 dimension */,
  CONST Integer REFPTR lh,
  double hesd[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  double REFPTR f,
  double g[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04kyf_(n, ibound, funct2, bl, bu, x, f, g, iw, liw, w, lw, iuser, ruser, ifail)  \
E04KYF(n, ibound, funct2, bl, bu, x, f, g, iw, liw, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04kyf_ E04KYF
#else
#define  E04KYF e04kyf_
#endif
extern void NAG_CALL E04KYF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ibound,
  void (NAG_CALL *funct2)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          Integer[],
                          double[]),
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double REFPTR f,
  double g[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04kzf_(n, ibound, funct2, bl, bu, x, f, g, iw, liw, w, lw, iuser, ruser, ifail)  \
E04KZF(n, ibound, funct2, bl, bu, x, f, g, iw, liw, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04kzf_ E04KZF
#else
#define  E04KZF e04kzf_
#endif
extern void NAG_CALL E04KZF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ibound,
  void (NAG_CALL *funct2)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          Integer[],
                          double[]),
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double REFPTR f,
  double g[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04lbf_(n, funct, h, monit, iprint, maxcal, eta, xtol, stepmx, ibound, bl, bu, x, hesl, lh, hesd, istate, f, g, iw, liw, w, lw, ifail)  \
E04LBF(n, funct, h, monit, iprint, maxcal, eta, xtol, stepmx, ibound, bl, bu, x, hesl, lh, hesd, istate, f, g, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04lbf_ E04LBF
#else
#define  E04LBF e04lbf_
#endif
extern void NAG_CALL E04LBF(
  CONST Integer REFPTR n,
  void (NAG_CALL *funct)(
                         Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         double[],
                         Integer[],
                         CONST Integer REFPTR ,
                         double[],
                         CONST Integer REFPTR ),
  void (NAG_CALL *h)(
                     Integer REFPTR ,
                     CONST Integer REFPTR ,
                     CONST double[],
                     double[],
                     CONST Integer REFPTR ,
                     double[],
                     Integer[],
                     CONST Integer REFPTR ,
                     double[],
                     CONST Integer REFPTR ),
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST double REFPTR ,
                         CONST double[],
                         CONST Integer[],
                         CONST double REFPTR ,
                         CONST double REFPTR ,
                         CONST logical REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         Integer[],
                         CONST Integer REFPTR ,
                         double[],
                         CONST Integer REFPTR ),
  CONST Integer REFPTR iprint,
  CONST Integer REFPTR maxcal,
  CONST double REFPTR eta,
  CONST double REFPTR xtol,
  CONST double REFPTR stepmx,
  CONST Integer REFPTR ibound,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double hesl[] /* 1 dimension */,
  CONST Integer REFPTR lh,
  double hesd[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  double REFPTR f,
  double g[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04lyf_(n, ibound, funct2, hess2, bl, bu, x, f, g, iw, liw, w, lw, iuser, ruser, ifail)  \
E04LYF(n, ibound, funct2, hess2, bl, bu, x, f, g, iw, liw, w, lw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04lyf_ E04LYF
#else
#define  E04LYF e04lyf_
#endif
extern void NAG_CALL E04LYF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ibound,
  void (NAG_CALL *funct2)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          Integer[],
                          double[]),
  void (NAG_CALL *hess2)(
                         CONST Integer REFPTR ,
                         CONST double[],
                         double[],
                         CONST Integer REFPTR ,
                         double[],
                         Integer[],
                         double[]),
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double REFPTR f,
  double g[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04mfa_(n, nclin, a, lda, bl, bu, cvec, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, lwsav, iwsav, rwsav, ifail)  \
E04MFA(n, nclin, a, lda, bl, bu, cvec, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04mfa_ E04MFA
#else
#define  E04MFA e04mfa_
#endif
extern void NAG_CALL E04MFA(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double cvec[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer REFPTR iter,
  double REFPTR obj,
  double ax[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04mff_(n, nclin, a, lda, bl, bu, cvec, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, ifail)  \
E04MFF(n, nclin, a, lda, bl, bu, cvec, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04mff_ E04MFF
#else
#define  E04MFF e04mff_
#endif
extern void NAG_CALL E04MFF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double cvec[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer REFPTR iter,
  double REFPTR obj,
  double ax[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04mga_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04MGA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04mga_ E04MGA
#else
#define  E04MGA e04mga_
#endif
extern void NAG_CALL E04MGA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04mgf_(ioptns, inform)  \
E04MGF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04mgf_ E04MGF
#else
#define  E04MGF e04mgf_
#endif
extern void NAG_CALL E04MGF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04mha_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04MHA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04mha_ E04MHA
#else
#define  E04MHA e04mha_
#endif
extern void NAG_CALL E04MHA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04mhf_(str, length_str)  \
E04MHF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04mhf_ E04MHF
#else
#define  E04MHF e04mhf_
#endif
extern void NAG_CALL E04MHF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04mzf_(infile, maxn, maxm, maxnnz, xbldef, xbudef, mpslst, n, m, nnz, iobj, ncolh, a, ha, ka, bl, bu, start, names, nname, crname, xs, istate, ifail, length_start, length_names, length_crname)  \
E04MZF(infile, maxn, maxm, maxnnz, xbldef, xbudef, mpslst, n, m, nnz, iobj, ncolh, a, ha, ka, bl, bu, start, length_start, names, length_names, nname, crname, length_crname, xs, istate, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04mzf_ E04MZF
#else
#define  E04MZF e04mzf_
#endif
extern void NAG_CALL E04MZF(
  CONST Integer REFPTR infile,
  CONST Integer REFPTR maxn,
  CONST Integer REFPTR maxm,
  CONST Integer REFPTR maxnnz,
  CONST double REFPTR xbldef,
  CONST double REFPTR xbudef,
  CONST logical REFPTR mpslst,
  Integer REFPTR n,
  Integer REFPTR m,
  Integer REFPTR nnz,
  Integer REFPTR iobj,
  Integer REFPTR ncolh,
  double a[] /* 1 dimension */,
  Integer ha[] /* 1 dimension */,
  Integer ka[] /* 1 dimension */,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  char names[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_names
#endif
,
  Integer REFPTR nname,
  char crname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_crname
#endif
,
  double xs[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start,
 CONST Charlen length_names,
 CONST Charlen length_crname
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nca_(m, n, nclin, ldc, lda, c, bl, bu, cvec, istate, kx, x, a, b, iter, obj, clamda, iwork, liwork, work, lwork, lwsav, iwsav, rwsav, ifail)  \
E04NCA(m, n, nclin, ldc, lda, c, bl, bu, cvec, istate, kx, x, a, b, iter, obj, clamda, iwork, liwork, work, lwork, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nca_ E04NCA
#else
#define  E04NCA e04nca_
#endif
extern void NAG_CALL E04NCA(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ldc,
  CONST Integer REFPTR lda,
  CONST double c[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double cvec[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  Integer kx[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  double b[] /* 1 dimension */,
  Integer REFPTR iter,
  double REFPTR obj,
  double clamda[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ncf_(m, n, nclin, ldc, lda, c, bl, bu, cvec, istate, kx, x, a, b, iter, obj, clamda, iwork, liwork, work, lwork, ifail)  \
E04NCF(m, n, nclin, ldc, lda, c, bl, bu, cvec, istate, kx, x, a, b, iter, obj, clamda, iwork, liwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ncf_ E04NCF
#else
#define  E04NCF e04ncf_
#endif
extern void NAG_CALL E04NCF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ldc,
  CONST Integer REFPTR lda,
  CONST double c[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double cvec[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  Integer kx[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  double b[] /* 1 dimension */,
  Integer REFPTR iter,
  double REFPTR obj,
  double clamda[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nda_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04NDA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nda_ E04NDA
#else
#define  E04NDA e04nda_
#endif
extern void NAG_CALL E04NDA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ndf_(ioptns, inform)  \
E04NDF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ndf_ E04NDF
#else
#define  E04NDF e04ndf_
#endif
extern void NAG_CALL E04NDF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nea_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04NEA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nea_ E04NEA
#else
#define  E04NEA e04nea_
#endif
extern void NAG_CALL E04NEA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nef_(str, length_str)  \
E04NEF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nef_ E04NEF
#else
#define  E04NEF e04nef_
#endif
extern void NAG_CALL E04NEF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nfa_(n, nclin, a, lda, bl, bu, cvec, h, ldh, qphess, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, iuser, ruser, lwsav, iwsav, rwsav, ifail)  \
E04NFA(n, nclin, a, lda, bl, bu, cvec, h, ldh, qphess, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, iuser, ruser, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nfa_ E04NFA
#else
#define  E04NFA e04nfa_
#endif
extern void NAG_CALL E04NFA(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double cvec[] /* 1 dimension */,
  CONST double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  void (NAG_CALL *qphess)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          Integer[],
                          double[],
                          Integer[]),
  Integer istate[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer REFPTR iter,
  double REFPTR obj,
  double ax[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nff_(n, nclin, a, lda, bl, bu, cvec, h, ldh, qphess, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, ifail)  \
E04NFF(n, nclin, a, lda, bl, bu, cvec, h, ldh, qphess, istate, x, iter, obj, ax, clamda, iwork, liwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nff_ E04NFF
#else
#define  E04NFF e04nff_
#endif
extern void NAG_CALL E04NFF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double cvec[] /* 1 dimension */,
  CONST double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  void (NAG_CALL *qphess)(
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[]),
  Integer istate[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer REFPTR iter,
  double REFPTR obj,
  double ax[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e54nfu_(n, jthcol, h, ldh, x, hx, iuser, ruser, iwsav)  \
E54NFU(n, jthcol, h, ldh, x, hx, iuser, ruser, iwsav) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e54nfu_ E54NFU
#else
#define  E54NFU e54nfu_
#endif
extern void NAG_CALL E54NFU(
  CONST Integer REFPTR n,
  CONST Integer REFPTR jthcol,
  CONST double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  CONST double x[] /* 1 dimension */,
  double hx[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nfu_(n, jthcol, h, ldh, x, hx)  \
E04NFU(n, jthcol, h, ldh, x, hx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nfu_ E04NFU
#else
#define  E04NFU e04nfu_
#endif
extern void NAG_CALL E04NFU(
  CONST Integer REFPTR n,
  CONST Integer REFPTR jthcol,
  CONST double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  CONST double x[] /* 1 dimension */,
  double hx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nga_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04NGA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nga_ E04NGA
#else
#define  E04NGA e04nga_
#endif
extern void NAG_CALL E04NGA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ngf_(ioptns, inform)  \
E04NGF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ngf_ E04NGF
#else
#define  E04NGF e04ngf_
#endif
extern void NAG_CALL E04NGF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nha_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04NHA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nha_ E04NHA
#else
#define  E04NHA e04nha_
#endif
extern void NAG_CALL E04NHA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nhf_(str, length_str)  \
E04NHF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nhf_ E04NHF
#else
#define  E04NHF e04nhf_
#endif
extern void NAG_CALL E04NHF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nka_(n, m, nnz, iobj, ncolh, qphx, a, ha, ka, bl, bu, start, names, nname, crname, ns, xs, istate, miniz, minz, ninf, sinf, obj, clamda, iz, leniz, z, lenz, iuser, ruser, lwsav, iwsav, rwsav, ifail, length_start, length_names, length_crname)  \
E04NKA(n, m, nnz, iobj, ncolh, qphx, a, ha, ka, bl, bu, start, length_start, names, length_names, nname, crname, length_crname, ns, xs, istate, miniz, minz, ninf, sinf, obj, clamda, iz, leniz, z, lenz, iuser, ruser, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nka_ E04NKA
#else
#define  E04NKA e04nka_
#endif
extern void NAG_CALL E04NKA(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR nnz,
  CONST Integer REFPTR iobj,
  CONST Integer REFPTR ncolh,
  void (NAG_CALL *qphx)(
                        CONST Integer REFPTR ,
                        CONST Integer REFPTR ,
                        CONST double[],
                        double[],
                        Integer[],
                        double[]),
  double a[] /* 1 dimension */,
  CONST Integer ha[] /* 1 dimension */,
  CONST Integer ka[] /* 1 dimension */,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  CONST char names[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_names
#endif
,
  CONST Integer REFPTR nname,
  CONST char crname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_crname
#endif
,
  Integer REFPTR ns,
  double xs[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  Integer REFPTR miniz,
  Integer REFPTR minz,
  Integer REFPTR ninf,
  double REFPTR sinf,
  double REFPTR obj,
  double clamda[] /* 1 dimension */,
  Integer iz[] /* 1 dimension */,
  CONST Integer REFPTR leniz,
  double z[] /* 1 dimension */,
  CONST Integer REFPTR lenz,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start,
 CONST Charlen length_names,
 CONST Charlen length_crname
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nkf_(n, m, nnz, iobj, ncolh, qphx, a, ha, ka, bl, bu, start, names, nname, crname, ns, xs, istate, miniz, minz, ninf, sinf, obj, clamda, iz, leniz, z, lenz, ifail, length_start, length_names, length_crname)  \
E04NKF(n, m, nnz, iobj, ncolh, qphx, a, ha, ka, bl, bu, start, length_start, names, length_names, nname, crname, length_crname, ns, xs, istate, miniz, minz, ninf, sinf, obj, clamda, iz, leniz, z, lenz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nkf_ E04NKF
#else
#define  E04NKF e04nkf_
#endif
extern void NAG_CALL E04NKF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR nnz,
  CONST Integer REFPTR iobj,
  CONST Integer REFPTR ncolh,
  void (NAG_CALL *qphx)(
                        CONST Integer REFPTR ,
                        CONST Integer REFPTR ,
                        CONST double[],
                        double[]),
  double a[] /* 1 dimension */,
  CONST Integer ha[] /* 1 dimension */,
  CONST Integer ka[] /* 1 dimension */,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  CONST char names[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_names
#endif
,
  CONST Integer REFPTR nname,
  CONST char crname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_crname
#endif
,
  Integer REFPTR ns,
  double xs[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  Integer REFPTR miniz,
  Integer REFPTR minz,
  Integer REFPTR ninf,
  double REFPTR sinf,
  double REFPTR obj,
  double clamda[] /* 1 dimension */,
  Integer iz[] /* 1 dimension */,
  CONST Integer REFPTR leniz,
  double z[] /* 1 dimension */,
  CONST Integer REFPTR lenz,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start,
 CONST Charlen length_names,
 CONST Charlen length_crname
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e54nku_(nstate, ncolh, x, hx, iuser, ruser)  \
E54NKU(nstate, ncolh, x, hx, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e54nku_ E54NKU
#else
#define  E54NKU e54nku_
#endif
extern void NAG_CALL E54NKU(
  CONST Integer REFPTR nstate,
  CONST Integer REFPTR ncolh,
  CONST double x[] /* 1 dimension */,
  double hx[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nku_(nstate, ncolh, x, hx)  \
E04NKU(nstate, ncolh, x, hx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nku_ E04NKU
#else
#define  E04NKU e04nku_
#endif
extern void NAG_CALL E04NKU(
  CONST Integer REFPTR nstate,
  CONST Integer REFPTR ncolh,
  CONST double x[] /* 1 dimension */,
  double hx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nla_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04NLA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nla_ E04NLA
#else
#define  E04NLA e04nla_
#endif
extern void NAG_CALL E04NLA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nlf_(ioptns, inform)  \
E04NLF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nlf_ E04NLF
#else
#define  E04NLF e04nlf_
#endif
extern void NAG_CALL E04NLF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nma_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04NMA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nma_ E04NMA
#else
#define  E04NMA e04nma_
#endif
extern void NAG_CALL E04NMA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nmf_(str, length_str)  \
E04NMF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nmf_ E04NMF
#else
#define  E04NMF e04nmf_
#endif
extern void NAG_CALL E04NMF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04npf_(cw, lencw, iw, leniw, rw, lenrw, ifail, length_cw)  \
E04NPF(cw, length_cw, lencw, iw, leniw, rw, lenrw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04npf_ E04NPF
#else
#define  E04NPF e04npf_
#endif
extern void NAG_CALL E04NPF(
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  CONST Integer REFPTR lencw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR leniw,
  double rw[] /* 1 dimension */,
  CONST Integer REFPTR lenrw,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nqf_(start, qphx, m, n, ne, nname, lenc, ncolh, iobj, objadd, prob, acol, inda, loca, bl, bu, c, names, helast, hs, x, pi, rc, ns, ninf, sinf, obj, cw, lencw, iw, leniw, rw, lenrw, cuser, iuser, ruser, ifail, length_start, length_prob, length_names, length_cw, length_cuser)  \
E04NQF(start, length_start, qphx, m, n, ne, nname, lenc, ncolh, iobj, objadd, prob, length_prob, acol, inda, loca, bl, bu, c, names, length_names, helast, hs, x, pi, rc, ns, ninf, sinf, obj, cw, length_cw, lencw, iw, leniw, rw, lenrw, cuser, length_cuser, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nqf_ E04NQF
#else
#define  E04NQF e04nqf_
#endif
extern void NAG_CALL E04NQF(
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  void (NAG_CALL *qphx)(
                        CONST Integer REFPTR ,
                        CONST double[],
                        double[],
                        CONST Integer REFPTR ,
                        char[]
#ifdef USE_STDCALL
,CONST Charlen 
#endif
,
                        Integer[],
                        double[]
#ifndef USE_STDCALL 
                        ,CONST Charlen
#endif
 ),
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ne,
  CONST Integer REFPTR nname,
  CONST Integer REFPTR lenc,
  CONST Integer REFPTR ncolh,
  CONST Integer REFPTR iobj,
  CONST double REFPTR objadd,
  CONST char * prob
#ifdef USE_STDCALL
,  CONST Charlen length_prob
#endif
,
  double acol[] /* 1 dimension */,
  CONST Integer inda[] /* 1 dimension */,
  CONST Integer loca[] /* 1 dimension */,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  CONST char names[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_names
#endif
,
  CONST Integer helast[] /* 1 dimension */,
  Integer hs[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double pi[] /* 1 dimension */,
  double rc[] /* 1 dimension */,
  Integer REFPTR ns,
  Integer REFPTR ninf,
  double REFPTR sinf,
  double REFPTR obj,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  CONST Integer REFPTR lencw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR leniw,
  double rw[] /* 1 dimension */,
  CONST Integer REFPTR lenrw,
  char cuser[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cuser
#endif
,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start,
 CONST Charlen length_prob,
 CONST Charlen length_names,
 CONST Charlen length_cw,
 CONST Charlen length_cuser
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nrf_(ispecs, cw, iw, rw, ifail, length_cw)  \
E04NRF(ispecs, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nrf_ E04NRF
#else
#define  E04NRF e04nrf_
#endif
extern void NAG_CALL E04NRF(
  CONST Integer REFPTR ispecs,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nsf_(st, cw, iw, rw, ifail, length_st, length_cw)  \
E04NSF(st, length_st, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nsf_ E04NSF
#else
#define  E04NSF e04nsf_
#endif
extern void NAG_CALL E04NSF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nsh_(ncolh, x, hx, nstate, cuser, iuser, ruser, length_cuser)  \
E04NSH(ncolh, x, hx, nstate, cuser, length_cuser, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nsh_ E04NSH
#else
#define  E04NSH e04nsh_
#endif
extern void NAG_CALL E04NSH(
  CONST Integer REFPTR ncolh,
  CONST double x[] /* 1 dimension */,
  double hx[] /* 1 dimension */,
  CONST Integer REFPTR nstate,
  char cuser[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cuser
#endif
,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_cuser
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ntf_(st, ivalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04NTF(st, length_st, ivalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ntf_ E04NTF
#else
#define  E04NTF e04ntf_
#endif
extern void NAG_CALL E04NTF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  CONST Integer REFPTR ivalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nuf_(st, rvalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04NUF(st, length_st, rvalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nuf_ E04NUF
#else
#define  E04NUF e04nuf_
#endif
extern void NAG_CALL E04NUF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  CONST double REFPTR rvalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nxf_(st, ivalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04NXF(st, length_st, ivalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nxf_ E04NXF
#else
#define  E04NXF e04nxf_
#endif
extern void NAG_CALL E04NXF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  Integer REFPTR ivalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04nyf_(st, rvalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04NYF(st, length_st, rvalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04nyf_ E04NYF
#else
#define  E04NYF e04nyf_
#endif
extern void NAG_CALL E04NYF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  double REFPTR rvalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uca_(n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, confun, objfun, iter, istate, c, cjac, clamda, objf, objgrd, r, x, iwork, liwork, work, lwork, iuser, ruser, lwsav, iwsav, rwsav, ifail)  \
E04UCA(n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, confun, objfun, iter, istate, c, cjac, clamda, objf, objgrd, r, x, iwork, liwork, work, lwork, iuser, ruser, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uca_ E04UCA
#else
#define  E04UCA e04uca_
#endif
extern void NAG_CALL E04UCA(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ldcj,
  CONST Integer REFPTR ldr,
  CONST double a[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  Integer REFPTR iter,
  Integer istate[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double clamda[] /* 1 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double r[] /* 2 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ucf_(n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, confun, objfun, iter, istate, c, cjac, clamda, objf, objgrd, r, x, iwork, liwork, work, lwork, iuser, ruser, ifail)  \
E04UCF(n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, confun, objfun, iter, istate, c, cjac, clamda, objf, objgrd, r, x, iwork, liwork, work, lwork, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ucf_ E04UCF
#else
#define  E04UCF e04ucf_
#endif
extern void NAG_CALL E04UCF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ldcj,
  CONST Integer REFPTR ldr,
  CONST double a[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  Integer REFPTR iter,
  Integer istate[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double clamda[] /* 1 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double r[] /* 2 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uda_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04UDA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uda_ E04UDA
#else
#define  E04UDA e04uda_
#endif
extern void NAG_CALL E04UDA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04udf_(ioptns, inform)  \
E04UDF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04udf_ E04UDF
#else
#define  E04UDF e04udf_
#endif
extern void NAG_CALL E04UDF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04udm_(mode, ncnln, n, ldcj, needc, x, c, cjac, nstate, iuser, ruser)  \
E04UDM(mode, ncnln, n, ldcj, needc, x, c, cjac, nstate, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04udm_ E04UDM
#else
#define  E04UDM e04udm_
#endif
extern void NAG_CALL E04UDM(
  Integer REFPTR mode,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ldcj,
  CONST Integer needc[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  CONST Integer REFPTR nstate,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uea_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04UEA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uea_ E04UEA
#else
#define  E04UEA e04uea_
#endif
extern void NAG_CALL E04UEA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uef_(str, length_str)  \
E04UEF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uef_ E04UEF
#else
#define  E04UEF e04uef_
#endif
extern void NAG_CALL E04UEF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ufa_(irevcm, n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, iter, istate, c, cjac, clamda, objf, objgrd, r, x, needc, iwork, liwork, work, lwork, cwsav, lwsav, iwsav, rwsav, ifail, length_cwsav)  \
E04UFA(irevcm, n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, iter, istate, c, cjac, clamda, objf, objgrd, r, x, needc, iwork, liwork, work, lwork, cwsav, length_cwsav, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ufa_ E04UFA
#else
#define  E04UFA e04ufa_
#endif
extern void NAG_CALL E04UFA(
  Integer REFPTR irevcm,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ldcj,
  CONST Integer REFPTR ldr,
  CONST double a[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  Integer REFPTR iter,
  Integer istate[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double clamda[] /* 1 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double r[] /* 2 dimension */,
  double x[] /* 1 dimension */,
  Integer needc[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  char cwsav[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cwsav
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cwsav
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uff_(irevcm, n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, iter, istate, c, cjac, clamda, objf, objgrd, r, x, needc, iwork, liwork, work, lwork, ifail)  \
E04UFF(irevcm, n, nclin, ncnln, lda, ldcj, ldr, a, bl, bu, iter, istate, c, cjac, clamda, objf, objgrd, r, x, needc, iwork, liwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uff_ E04UFF
#else
#define  E04UFF e04uff_
#endif
extern void NAG_CALL E04UFF(
  Integer REFPTR irevcm,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ldcj,
  CONST Integer REFPTR ldr,
  CONST double a[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  Integer REFPTR iter,
  Integer istate[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double clamda[] /* 1 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double r[] /* 2 dimension */,
  double x[] /* 1 dimension */,
  Integer needc[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uga_(confun, objfun, n, m, ncnln, nonln, njnln, iobj, nnz, a, ha, ka, bl, bu, start, nname, names, ns, xs, istate, clamda, miniz, minz, ninf, sinf, obj, iz, leniz, z, lenz, iuser, ruser, lwsav, iwsav, rwsav, ifail, length_start, length_names)  \
E04UGA(confun, objfun, n, m, ncnln, nonln, njnln, iobj, nnz, a, ha, ka, bl, bu, start, length_start, nname, names, length_names, ns, xs, istate, clamda, miniz, minz, ninf, sinf, obj, iz, leniz, z, lenz, iuser, ruser, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uga_ E04UGA
#else
#define  E04UGA e04uga_
#endif
extern void NAG_CALL E04UGA(
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR nonln,
  CONST Integer REFPTR njnln,
  CONST Integer REFPTR iobj,
  CONST Integer REFPTR nnz,
  double a[] /* 1 dimension */,
  CONST Integer ha[] /* 1 dimension */,
  CONST Integer ka[] /* 1 dimension */,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  CONST Integer REFPTR nname,
  CONST char names[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_names
#endif
,
  Integer REFPTR ns,
  double xs[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  Integer REFPTR miniz,
  Integer REFPTR minz,
  Integer REFPTR ninf,
  double REFPTR sinf,
  double REFPTR obj,
  Integer iz[] /* 1 dimension */,
  CONST Integer REFPTR leniz,
  double z[] /* 1 dimension */,
  CONST Integer REFPTR lenz,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start,
 CONST Charlen length_names
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ugf_(confun, objfun, n, m, ncnln, nonln, njnln, iobj, nnz, a, ha, ka, bl, bu, start, nname, names, ns, xs, istate, clamda, miniz, minz, ninf, sinf, obj, iz, leniz, z, lenz, iuser, ruser, ifail, length_start, length_names)  \
E04UGF(confun, objfun, n, m, ncnln, nonln, njnln, iobj, nnz, a, ha, ka, bl, bu, start, length_start, nname, names, length_names, ns, xs, istate, clamda, miniz, minz, ninf, sinf, obj, iz, leniz, z, lenz, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ugf_ E04UGF
#else
#define  E04UGF e04ugf_
#endif
extern void NAG_CALL E04UGF(
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR nonln,
  CONST Integer REFPTR njnln,
  CONST Integer REFPTR iobj,
  CONST Integer REFPTR nnz,
  double a[] /* 1 dimension */,
  CONST Integer ha[] /* 1 dimension */,
  CONST Integer ka[] /* 1 dimension */,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  CONST char * start
#ifdef USE_STDCALL
,  CONST Charlen length_start
#endif
,
  CONST Integer REFPTR nname,
  CONST char names[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_names
#endif
,
  Integer REFPTR ns,
  double xs[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  Integer REFPTR miniz,
  Integer REFPTR minz,
  Integer REFPTR ninf,
  double REFPTR sinf,
  double REFPTR obj,
  Integer iz[] /* 1 dimension */,
  CONST Integer REFPTR leniz,
  double z[] /* 1 dimension */,
  CONST Integer REFPTR lenz,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_start,
 CONST Charlen length_names
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ugm_(mode, ncnln, njnln, nnzjac, x, f, fjac, nstate, iuser, ruser)  \
E04UGM(mode, ncnln, njnln, nnzjac, x, f, fjac, nstate, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ugm_ E04UGM
#else
#define  E04UGM e04ugm_
#endif
extern void NAG_CALL E04UGM(
  Integer REFPTR mode,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR njnln,
  CONST Integer REFPTR nnzjac,
  CONST double x[] /* 1 dimension */,
  double f[] /* 1 dimension */,
  double fjac[] /* 1 dimension */,
  CONST Integer REFPTR nstate,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ugn_(mode, nonln, x, objf, objgrd, nstate, iuser, ruser)  \
E04UGN(mode, nonln, x, objf, objgrd, nstate, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ugn_ E04UGN
#else
#define  E04UGN e04ugn_
#endif
extern void NAG_CALL E04UGN(
  Integer REFPTR mode,
  CONST Integer REFPTR nonln,
  CONST double x[] /* 1 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  CONST Integer REFPTR nstate,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ugvn_(job, tolz, ne, lenka, a, ha, ka, alpha, x, lenx, beta, y, leny, length_job)  \
E04UGVN(job, length_job, tolz, ne, lenka, a, ha, ka, alpha, x, lenx, beta, y, leny) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ugvn_ E04UGVN
#else
#define  E04UGVN e04ugvn_
#endif
extern void NAG_CALL E04UGVN(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST double REFPTR tolz,
  CONST Integer REFPTR ne,
  CONST Integer REFPTR lenka,
  CONST double a[] /* 1 dimension */,
  CONST Integer ha[] /* 1 dimension */,
  CONST Integer ka[] /* 1 dimension */,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR lenx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR leny
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uha_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04UHA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uha_ E04UHA
#else
#define  E04UHA e04uha_
#endif
extern void NAG_CALL E04UHA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uhf_(ioptns, inform)  \
E04UHF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uhf_ E04UHF
#else
#define  E04UHF e04uhf_
#endif
extern void NAG_CALL E04UHF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uja_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04UJA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uja_ E04UJA
#else
#define  E04UJA e04uja_
#endif
extern void NAG_CALL E04UJA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ujf_(str, length_str)  \
E04UJF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ujf_ E04UJF
#else
#define  E04UJF e04ujf_
#endif
extern void NAG_CALL E04UJF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uqa_(ioptns, lwsav, iwsav, rwsav, inform)  \
E04UQA(ioptns, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uqa_ E04UQA
#else
#define  E04UQA e04uqa_
#endif
extern void NAG_CALL E04UQA(
  CONST Integer REFPTR ioptns,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04uqf_(ioptns, inform)  \
E04UQF(ioptns, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04uqf_ E04UQF
#else
#define  E04UQF e04uqf_
#endif
extern void NAG_CALL E04UQF(
  CONST Integer REFPTR ioptns,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ura_(str, lwsav, iwsav, rwsav, inform, length_str)  \
E04URA(str, length_str, lwsav, iwsav, rwsav, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ura_ E04URA
#else
#define  E04URA e04ura_
#endif
extern void NAG_CALL E04URA(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR inform
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04urf_(str, length_str)  \
E04URF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04urf_ E04URF
#else
#define  E04URF e04urf_
#endif
extern void NAG_CALL E04URF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif

#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04usa_(m, n, nclin, ncnln, lda, ldcj, ldfj, ldr, a, bl, bu, y, confun, objfun, iter, istate, c, cjac, f, fjac, clamda, objf, r, x, iwork, liwork, work, lwork, iuser, ruser, lwsav, iwsav, rwsav, ifail)  \
E04USA(m, n, nclin, ncnln, lda, ldcj, ldfj, ldr, a, bl, bu, y, confun, objfun, iter, istate, c, cjac, f, fjac, clamda, objf, r, x, iwork, liwork, work, lwork, iuser, ruser, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04usa_ E04USA
#else
#define  E04USA e04usa_
#endif
extern void NAG_CALL E04USA(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ldcj,
  CONST Integer REFPTR ldfj,
  CONST Integer REFPTR ldr,
  CONST double a[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  Integer REFPTR iter,
  Integer istate[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double f[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  double clamda[] /* 1 dimension */,
  double REFPTR objf,
  double r[] /* 2 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  logical lwsav[] /* 1 dimension */,
  Integer iwsav[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04usf_(m, n, nclin, ncnln, lda, ldcj, ldfj, ldr, a, bl, bu, y, confun, objfun, iter, istate, c, cjac, f, fjac, clamda, objf, r, x, iwork, liwork, work, lwork, iuser, ruser, ifail)  \
E04USF(m, n, nclin, ncnln, lda, ldcj, ldfj, ldr, a, bl, bu, y, confun, objfun, iter, istate, c, cjac, f, fjac, clamda, objf, r, x, iwork, liwork, work, lwork, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04usf_ E04USF
#else
#define  E04USF e04usf_
#endif
extern void NAG_CALL E04USF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ldcj,
  CONST Integer REFPTR ldfj,
  CONST Integer REFPTR ldr,
  CONST double a[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  Integer REFPTR iter,
  Integer istate[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double f[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  double clamda[] /* 1 dimension */,
  double REFPTR objf,
  double r[] /* 2 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e54vdm_(mode, ncnln, n, ldcjac, x, c, cjac, nstate, iuser, ruser)  \
E54VDM(mode, ncnln, n, ldcjac, x, c, cjac, nstate, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e54vdm_ E54VDM
#else
#define  E54VDM e54vdm_
#endif
extern void NAG_CALL E54VDM(
  Integer REFPTR mode,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ldcjac,
  CONST double x[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  CONST Integer REFPTR nstate,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vdm_(mode, ncnln, n, ldcjac, x, c, cjac, nstate)  \
E04VDM(mode, ncnln, n, ldcjac, x, c, cjac, nstate) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vdm_ E04VDM
#else
#define  E04VDM e04vdm_
#endif
extern void NAG_CALL E04VDM(
  Integer REFPTR mode,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ldcjac,
  CONST double x[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  CONST Integer REFPTR nstate
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vgf_(cw, lencw, iw, leniw, rw, lenrw, ifail, length_cw)  \
E04VGF(cw, length_cw, lencw, iw, leniw, rw, lenrw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vgf_ E04VGF
#else
#define  E04VGF e04vgf_
#endif
extern void NAG_CALL E04VGF(
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  CONST Integer REFPTR lencw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR leniw,
  double rw[] /* 1 dimension */,
  CONST Integer REFPTR lenrw,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vhf_(start, nf, n, nxname, nfname, objadd, objrow, prob, usrfun, iafun, javar, a, lena, nea, igfun, jgvar, leng, neg, xlow, xupp, xnames, flow, fupp, fnames, x, xstate, xmul, f, fstate, fmul, ns, ninf, sinf, cw, lencw, iw, leniw, rw, lenrw, cuser, iuser, ruser, ifail, length_prob, length_xnames, length_fnames, length_cw, length_cuser)  \
E04VHF(start, nf, n, nxname, nfname, objadd, objrow, prob, length_prob, usrfun, iafun, javar, a, lena, nea, igfun, jgvar, leng, neg, xlow, xupp, xnames, length_xnames, flow, fupp, fnames, length_fnames, x, xstate, xmul, f, fstate, fmul, ns, ninf, sinf, cw, length_cw, lencw, iw, leniw, rw, lenrw, cuser, length_cuser, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vhf_ E04VHF
#else
#define  E04VHF e04vhf_
#endif
extern void NAG_CALL E04VHF(
  CONST Integer REFPTR start,
  CONST Integer REFPTR nf,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nxname,
  CONST Integer REFPTR nfname,
  CONST double REFPTR objadd,
  Integer REFPTR objrow,
  CONST char * prob
#ifdef USE_STDCALL
,  CONST Charlen length_prob
#endif
,
  void (NAG_CALL *usrfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          double[],
                          char[]
#ifdef USE_STDCALL
,CONST Charlen 
#endif
,
                          Integer[],
                          double[]
#ifndef USE_STDCALL 
                          ,CONST Charlen
#endif
 ),
  CONST Integer iafun[] /* 1 dimension */,
  CONST Integer javar[] /* 1 dimension */,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR lena,
  CONST Integer REFPTR nea,
  CONST Integer igfun[] /* 1 dimension */,
  CONST Integer jgvar[] /* 1 dimension */,
  CONST Integer REFPTR leng,
  CONST Integer REFPTR neg,
  CONST double xlow[] /* 1 dimension */,
  CONST double xupp[] /* 1 dimension */,
  CONST char xnames[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_xnames
#endif
,
  CONST double flow[] /* 1 dimension */,
  CONST double fupp[] /* 1 dimension */,
  CONST char fnames[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_fnames
#endif
,
  double x[] /* 1 dimension */,
  Integer xstate[] /* 1 dimension */,
  double xmul[] /* 1 dimension */,
  double f[] /* 1 dimension */,
  Integer fstate[] /* 1 dimension */,
  double fmul[] /* 1 dimension */,
  Integer REFPTR ns,
  Integer REFPTR ninf,
  double REFPTR sinf,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  CONST Integer REFPTR lencw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR leniw,
  double rw[] /* 1 dimension */,
  CONST Integer REFPTR lenrw,
  char cuser[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cuser
#endif
,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_prob,
 CONST Charlen length_xnames,
 CONST Charlen length_fnames,
 CONST Charlen length_cw,
 CONST Charlen length_cuser
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vjf_(nf, n, usrfun, iafun, javar, a, lena, nea, igfun, jgvar, leng, neg, x, xlow, xupp, cw, lencw, iw, leniw, rw, lenrw, cuser, iuser, ruser, ifail, length_cw, length_cuser)  \
E04VJF(nf, n, usrfun, iafun, javar, a, lena, nea, igfun, jgvar, leng, neg, x, xlow, xupp, cw, length_cw, lencw, iw, leniw, rw, lenrw, cuser, length_cuser, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vjf_ E04VJF
#else
#define  E04VJF e04vjf_
#endif
extern void NAG_CALL E04VJF(
  CONST Integer REFPTR nf,
  CONST Integer REFPTR n,
  void (NAG_CALL *usrfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          double[],
                          char[]
#ifdef USE_STDCALL
,CONST Charlen 
#endif
,
                          Integer[],
                          double[]
#ifndef USE_STDCALL 
                          ,CONST Charlen
#endif
 ),
  Integer iafun[] /* 1 dimension */,
  Integer javar[] /* 1 dimension */,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR lena,
  Integer REFPTR nea,
  Integer igfun[] /* 1 dimension */,
  Integer jgvar[] /* 1 dimension */,
  CONST Integer REFPTR leng,
  Integer REFPTR neg,
  CONST double x[] /* 1 dimension */,
  CONST double xlow[] /* 1 dimension */,
  CONST double xupp[] /* 1 dimension */,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  CONST Integer REFPTR lencw,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR leniw,
  double rw[] /* 1 dimension */,
  CONST Integer REFPTR lenrw,
  char cuser[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cuser
#endif
,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cw,
 CONST Charlen length_cuser
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vkf_(ispecs, cw, iw, rw, ifail, length_cw)  \
E04VKF(ispecs, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vkf_ E04VKF
#else
#define  E04VKF e04vkf_
#endif
extern void NAG_CALL E04VKF(
  CONST Integer REFPTR ispecs,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vlf_(st, cw, iw, rw, ifail, length_st, length_cw)  \
E04VLF(st, length_st, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vlf_ E04VLF
#else
#define  E04VLF e04vlf_
#endif
extern void NAG_CALL E04VLF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vmf_(st, ivalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04VMF(st, length_st, ivalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vmf_ E04VMF
#else
#define  E04VMF e04vmf_
#endif
extern void NAG_CALL E04VMF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  CONST Integer REFPTR ivalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vnf_(st, rvalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04VNF(st, length_st, rvalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vnf_ E04VNF
#else
#define  E04VNF e04vnf_
#endif
extern void NAG_CALL E04VNF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  CONST double REFPTR rvalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vrf_(st, ivalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04VRF(st, length_st, ivalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vrf_ E04VRF
#else
#define  E04VRF e04vrf_
#endif
extern void NAG_CALL E04VRF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  Integer REFPTR ivalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04vsf_(st, rvalue, cw, iw, rw, ifail, length_st, length_cw)  \
E04VSF(st, length_st, rvalue, cw, length_cw, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04vsf_ E04VSF
#else
#define  E04VSF e04vsf_
#endif
extern void NAG_CALL E04VSF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  double REFPTR rvalue,
  char cw[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cw
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st,
 CONST Charlen length_cw
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wbf_(rname, cwsav, lcwsav, lwsav, llwsav, iwsav, liwsav, rwsav, lrwsav, ifail, length_rname, length_cwsav)  \
E04WBF(rname, length_rname, cwsav, length_cwsav, lcwsav, lwsav, llwsav, iwsav, liwsav, rwsav, lrwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wbf_ E04WBF
#else
#define  E04WBF e04wbf_
#endif
extern void NAG_CALL E04WBF(
  CONST char * rname
#ifdef USE_STDCALL
,  CONST Charlen length_rname
#endif
,
  char cwsav[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_cwsav
#endif
,
  CONST Integer REFPTR lcwsav,
  logical lwsav[] /* 1 dimension */,
  CONST Integer REFPTR llwsav,
  Integer iwsav[] /* 1 dimension */,
  CONST Integer REFPTR liwsav,
  double rwsav[] /* 1 dimension */,
  CONST Integer REFPTR lrwsav,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_rname,
 CONST Charlen length_cwsav
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wcf_(iw, leniw, rw, lenrw, ifail)  \
E04WCF(iw, leniw, rw, lenrw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wcf_ E04WCF
#else
#define  E04WCF e04wcf_
#endif
extern void NAG_CALL E04WCF(
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR leniw,
  double rw[] /* 1 dimension */,
  CONST Integer REFPTR lenrw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wdf_(n, nclin, ncnln, lda, ldcj, ldh, a, bl, bu, confun, objfun, majits, istate, ccon, cjac, clamda, objf, grad, h, x, iw, leniw, rw, lenrw, iuser, ruser, ifail)  \
E04WDF(n, nclin, ncnln, lda, ldcj, ldh, a, bl, bu, confun, objfun, majits, istate, ccon, cjac, clamda, objf, grad, h, x, iw, leniw, rw, lenrw, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wdf_ E04WDF
#else
#define  E04WDF e04wdf_
#endif
extern void NAG_CALL E04WDF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ldcj,
  CONST Integer REFPTR ldh,
  CONST double a[] /* 2 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer[],
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  Integer REFPTR majits,
  Integer istate[] /* 1 dimension */,
  double ccon[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double clamda[] /* 1 dimension */,
  double REFPTR objf,
  double grad[] /* 1 dimension */,
  double h[] /* 2 dimension */,
  double x[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR leniw,
  double rw[] /* 1 dimension */,
  CONST Integer REFPTR lenrw,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wdp_(mode, ncnln, n, ldcj, needc, x, ccon, cjac, nstate, iuser, ruser)  \
E04WDP(mode, ncnln, n, ldcj, needc, x, ccon, cjac, nstate, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wdp_ E04WDP
#else
#define  E04WDP e04wdp_
#endif
extern void NAG_CALL E04WDP(
  Integer REFPTR mode,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ldcj,
  CONST Integer needc[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  double ccon[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  CONST Integer REFPTR nstate,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wef_(ispecs, iw, rw, ifail)  \
E04WEF(ispecs, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wef_ E04WEF
#else
#define  E04WEF e04wef_
#endif
extern void NAG_CALL E04WEF(
  CONST Integer REFPTR ispecs,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wff_(st, iw, rw, ifail, length_st)  \
E04WFF(st, length_st, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wff_ E04WFF
#else
#define  E04WFF e04wff_
#endif
extern void NAG_CALL E04WFF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wgf_(st, ivalue, iw, rw, ifail, length_st)  \
E04WGF(st, length_st, ivalue, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wgf_ E04WGF
#else
#define  E04WGF e04wgf_
#endif
extern void NAG_CALL E04WGF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  CONST Integer REFPTR ivalue,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04whf_(st, rvalue, iw, rw, ifail, length_st)  \
E04WHF(st, length_st, rvalue, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04whf_ E04WHF
#else
#define  E04WHF e04whf_
#endif
extern void NAG_CALL E04WHF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  CONST double REFPTR rvalue,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wkf_(st, ivalue, iw, rw, ifail, length_st)  \
E04WKF(st, length_st, ivalue, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wkf_ E04WKF
#else
#define  E04WKF e04wkf_
#endif
extern void NAG_CALL E04WKF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  Integer REFPTR ivalue,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04wlf_(st, rvalue, iw, rw, ifail, length_st)  \
E04WLF(st, length_st, rvalue, iw, rw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04wlf_ E04WLF
#else
#define  E04WLF e04wlf_
#endif
extern void NAG_CALL E04WLF(
  CONST char * st
#ifdef USE_STDCALL
,  CONST Charlen length_st
#endif
,
  double REFPTR rvalue,
  Integer iw[] /* 1 dimension */,
  double rw[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_st
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04xaa_(msglvl, n, epsrf, x, mode, objfun, ldh, hforw, objf, objgrd, hcntrl, h, iwarn, work, iuser, ruser, info, lwsav, iwsav, rwsav, ifail)  \
E04XAA(msglvl, n, epsrf, x, mode, objfun, ldh, hforw, objf, objgrd, hcntrl, h, iwarn, work, iuser, ruser, info, lwsav, iwsav, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04xaa_ E04XAA
#else
#define  E04XAA e04xaa_
#endif
extern void NAG_CALL E04XAA(
  CONST Integer REFPTR msglvl,
  CONST Integer REFPTR n,
  CONST double REFPTR epsrf,
  double x[] /* 1 dimension */,
  Integer REFPTR mode,
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  CONST Integer REFPTR ldh,
  double hforw[] /* 1 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double hcntrl[] /* 1 dimension */,
  double h[] /* 2 dimension */,
  Integer REFPTR iwarn,
  double work[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer info[] /* 1 dimension */,
  CONST logical lwsav[] /* 1 dimension */,
  CONST Integer iwsav[] /* 1 dimension */,
  CONST double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04xaf_(msglvl, n, epsrf, x, mode, objfun, ldh, hforw, objf, objgrd, hcntrl, h, iwarn, work, iuser, ruser, info, ifail)  \
E04XAF(msglvl, n, epsrf, x, mode, objfun, ldh, hforw, objf, objgrd, hcntrl, h, iwarn, work, iuser, ruser, info, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04xaf_ E04XAF
#else
#define  E04XAF e04xaf_
#endif
extern void NAG_CALL E04XAF(
  CONST Integer REFPTR msglvl,
  CONST Integer REFPTR n,
  CONST double REFPTR epsrf,
  double x[] /* 1 dimension */,
  Integer REFPTR mode,
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  CONST Integer REFPTR ldh,
  double hforw[] /* 1 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  double hcntrl[] /* 1 dimension */,
  double h[] /* 2 dimension */,
  Integer REFPTR iwarn,
  double work[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer info[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04yaf_(m, n, lsqfun, x, fvec, fjac, ldfjac, iw, liw, w, lw, ifail)  \
E04YAF(m, n, lsqfun, x, fvec, fjac, ldfjac, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04yaf_ E04YAF
#else
#define  E04YAF e04yaf_
#endif
extern void NAG_CALL E04YAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsqfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  CONST double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ybf_(m, n, lsqfun, lsqhes, x, fvec, fjac, ldfjac, b, lb, iw, liw, w, lw, ifail)  \
E04YBF(m, n, lsqfun, lsqhes, x, fvec, fjac, ldfjac, b, lb, iw, liw, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ybf_ E04YBF
#else
#define  E04YBF e04ybf_
#endif
extern void NAG_CALL E04YBF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  void (NAG_CALL *lsqfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *lsqhes)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          CONST double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          CONST Integer REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  CONST double x[] /* 1 dimension */,
  double fvec[] /* 1 dimension */,
  double fjac[] /* 2 dimension */,
  CONST Integer REFPTR ldfjac,
  double b[] /* 1 dimension */,
  CONST Integer REFPTR lb,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04ycf_(job, m, n, fsumsq, s, v, ldv, cj, work, ifail)  \
E04YCF(job, m, n, fsumsq, s, v, ldv, cj, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04ycf_ E04YCF
#else
#define  E04YCF e04ycf_
#endif
extern void NAG_CALL E04YCF(
  CONST Integer REFPTR job,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR fsumsq,
  CONST double s[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double cj[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04zca_(n, ncnln, ldcjac, confun, objfun, c, cjac, objf, objgrd, x, work, lwork, iuser, ruser, ifail)  \
E04ZCA(n, ncnln, ldcjac, confun, objfun, c, cjac, objf, objgrd, x, work, lwork, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04zca_ E04ZCA
#else
#define  E04ZCA e04zca_
#endif
extern void NAG_CALL E04ZCA(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR ldcjac,
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ,
                          Integer[],
                          double[]),
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e04zcf_(n, ncnln, ldcjac, confun, objfun, c, cjac, objf, objgrd, x, work, lwork, ifail)  \
E04ZCF(n, ncnln, ldcjac, confun, objfun, c, cjac, objf, objgrd, x, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e04zcf_ E04ZCF
#else
#define  E04ZCF e04zcf_
#endif
extern void NAG_CALL E04ZCF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncnln,
  CONST Integer REFPTR ldcjac,
  void (NAG_CALL *confun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double[],
                          double[],
                          CONST Integer REFPTR ),
  void (NAG_CALL *objfun)(
                          Integer REFPTR ,
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          double[],
                          CONST Integer REFPTR ),
  double c[] /* 1 dimension */,
  double cjac[] /* 2 dimension */,
  double REFPTR objf,
  double objgrd[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jaf_(n, comm, lcomm, ifail)  \
E05JAF(n, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jaf_ E05JAF
#else
#define  E05JAF e05jaf_
#endif
extern void NAG_CALL E05JAF(
  CONST Integer REFPTR n,
  double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jbf_(n, objfun, ibound, iinit, bl, bu, sdlist, list, numpts, initpt, monit, x, obj, comm, lcomm, iuser, ruser, ifail)  \
E05JBF(n, objfun, ibound, iinit, bl, bu, sdlist, list, numpts, initpt, monit, x, obj, comm, lcomm, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jbf_ E05JBF
#else
#define  E05JBF e05jbf_
#endif
extern void NAG_CALL E05JBF(
  CONST Integer REFPTR n,
  void (NAG_CALL *objfun)(
                          CONST Integer REFPTR ,
                          CONST double[],
                          double REFPTR ,
                          CONST Integer REFPTR ,
                          Integer[],
                          double[],
                          Integer REFPTR ),
  CONST Integer REFPTR ibound,
  CONST Integer REFPTR iinit,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  CONST Integer REFPTR sdlist,
  double list[] /* 2 dimension */,
  Integer numpts[] /* 1 dimension */,
  Integer initpt[] /* 1 dimension */,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST Integer[],
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST Integer[],
                         CONST Integer[],
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST double[],
                         CONST double[],
                         CONST Integer REFPTR ,
                         Integer[],
                         double[],
                         Integer REFPTR ),
  double x[] /* 1 dimension */,
  double REFPTR obj,
  double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jbk_(n, ncall, xbest, icount, ninit, list, numpts, initpt, nbaskt, xbaskt, boxl, boxu, nstate, iuser, ruser, inform)  \
E05JBK(n, ncall, xbest, icount, ninit, list, numpts, initpt, nbaskt, xbaskt, boxl, boxu, nstate, iuser, ruser, inform) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jbk_ E05JBK
#else
#define  E05JBK e05jbk_
#endif
extern void NAG_CALL E05JBK(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncall,
  CONST double xbest[] /* 1 dimension */,
  CONST Integer icount[] /* 1 dimension */,
  CONST Integer REFPTR ninit,
  CONST double list[] /* 2 dimension */,
  CONST Integer numpts[] /* 1 dimension */,
  CONST Integer initpt[] /* 1 dimension */,
  CONST Integer REFPTR nbaskt,
  CONST double xbaskt[] /* 2 dimension */,
  CONST double boxl[] /* 1 dimension */,
  CONST double boxu[] /* 1 dimension */,
  CONST Integer REFPTR nstate,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR inform
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jcf_(iopts, comm, lcomm, ifail)  \
E05JCF(iopts, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jcf_ E05JCF
#else
#define  E05JCF e05jcf_
#endif
extern void NAG_CALL E05JCF(
  CONST Integer REFPTR iopts,
  double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jdf_(optstr, comm, lcomm, ifail, length_optstr)  \
E05JDF(optstr, length_optstr, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jdf_ E05JDF
#else
#define  E05JDF e05jdf_
#endif
extern void NAG_CALL E05JDF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jef_(optstr, cvalue, comm, lcomm, ifail, length_optstr, length_cvalue)  \
E05JEF(optstr, length_optstr, cvalue, length_cvalue, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jef_ E05JEF
#else
#define  E05JEF e05jef_
#endif
extern void NAG_CALL E05JEF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  CONST char * cvalue
#ifdef USE_STDCALL
,  CONST Charlen length_cvalue
#endif
,
  double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr,
 CONST Charlen length_cvalue
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jff_(optstr, ivalue, comm, lcomm, ifail, length_optstr)  \
E05JFF(optstr, length_optstr, ivalue, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jff_ E05JFF
#else
#define  E05JFF e05jff_
#endif
extern void NAG_CALL E05JFF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  CONST Integer REFPTR ivalue,
  double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jgf_(optstr, rvalue, comm, lcomm, ifail, length_optstr)  \
E05JGF(optstr, length_optstr, rvalue, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jgf_ E05JGF
#else
#define  E05JGF e05jgf_
#endif
extern void NAG_CALL E05JGF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  CONST double REFPTR rvalue,
  double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jhf_(optstr, comm, lcomm, ifail, length_optstr)  \
E05JHF(optstr, length_optstr, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jhf_ E05JHF
#else
#define  E05JHF e05jhf_
#endif
extern int NAG_CALL E05JHF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  CONST double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jjf_(optstr, cvalue, comm, lcomm, ifail, length_optstr, length_cvalue)  \
E05JJF(optstr, length_optstr, cvalue, length_cvalue, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jjf_ E05JJF
#else
#define  E05JJF e05jjf_
#endif
extern void NAG_CALL E05JJF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  char * cvalue
#ifdef USE_STDCALL
,  CONST Charlen length_cvalue
#endif
,
  CONST double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr,
 CONST Charlen length_cvalue
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jkf_(optstr, ivalue, comm, lcomm, ifail, length_optstr)  \
E05JKF(optstr, length_optstr, ivalue, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jkf_ E05JKF
#else
#define  E05JKF e05jkf_
#endif
extern void NAG_CALL E05JKF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  Integer REFPTR ivalue,
  CONST double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
e05jlf_(optstr, rvalue, comm, lcomm, ifail, length_optstr)  \
E05JLF(optstr, length_optstr, rvalue, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  e05jlf_ E05JLF
#else
#define  E05JLF e05jlf_
#endif
extern void NAG_CALL E05JLF(
  CONST char * optstr
#ifdef USE_STDCALL
,  CONST Charlen length_optstr
#endif
,
  double REFPTR rvalue,
  CONST double comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optstr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01abf_(a, lda, n, b, ldb, z, ifail)  \
F01ABF(a, lda, n, b, ldb, z, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01abf_ F01ABF
#else
#define  F01ABF f01abf_
#endif
extern void NAG_CALL F01ABF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR n,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double z[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01adf_(n, a, lda, ifail)  \
F01ADF(n, a, lda, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01adf_ F01ADF
#else
#define  F01ADF f01adf_
#endif
extern void NAG_CALL F01ADF(
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01blf_(m, n, t, a, lda, aijmax, irank, inc, d, u, ldu, du, ifail)  \
F01BLF(m, n, t, a, lda, aijmax, irank, inc, d, u, ldu, du, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01blf_ F01BLF
#else
#define  F01BLF f01blf_
#endif
extern void NAG_CALL F01BLF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR t,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double aijmax[] /* 1 dimension */,
  Integer REFPTR irank,
  Integer inc[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double du[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01brf_(n, nz, a, licn, irn, lirn, icn, pivot, ikeep, iw, w, lblock, grow, abort, idisp, ifail)  \
F01BRF(n, nz, a, licn, irn, lirn, icn, pivot, ikeep, iw, w, lblock, grow, abort, idisp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01brf_ F01BRF
#else
#define  F01BRF f01brf_
#endif
extern void NAG_CALL F01BRF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nz,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR licn,
  Integer irn[] /* 1 dimension */,
  CONST Integer REFPTR lirn,
  Integer icn[] /* 1 dimension */,
  CONST double REFPTR pivot,
  Integer ikeep[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST logical REFPTR lblock,
  CONST logical REFPTR grow,
  CONST logical abort[] /* 1 dimension */,
  Integer idisp[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01bsf_(n, nz, a, licn, ivect, jvect, icn, ikeep, iw, w, grow, eta, rpmin, abort, idisp, ifail)  \
F01BSF(n, nz, a, licn, ivect, jvect, icn, ikeep, iw, w, grow, eta, rpmin, abort, idisp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01bsf_ F01BSF
#else
#define  F01BSF f01bsf_
#endif
extern void NAG_CALL F01BSF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nz,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR licn,
  CONST Integer ivect[] /* 1 dimension */,
  CONST Integer jvect[] /* 1 dimension */,
  Integer icn[] /* 1 dimension */,
  CONST Integer ikeep[] /* 1 dimension */,
  Integer iw[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST logical REFPTR grow,
  CONST double REFPTR eta,
  double REFPTR rpmin,
  CONST logical REFPTR abort,
  CONST Integer idisp[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01buf_(n, m1, k, a, lda, w, ifail)  \
F01BUF(n, m1, k, a, lda, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01buf_ F01BUF
#else
#define  F01BUF f01buf_
#endif
extern void NAG_CALL F01BUF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01bvf_(n, ma1, mb1, m3, k, a, lda, b, ldb, v, ldv, w, ifail)  \
F01BVF(n, ma1, mb1, m3, k, a, lda, b, ldb, v, ldv, w, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01bvf_ F01BVF
#else
#define  F01BVF f01bvf_
#endif
extern void NAG_CALL F01BVF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ma1,
  CONST Integer REFPTR mb1,
  CONST Integer REFPTR m3,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double w[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01ckf_(a, b, c, n, p, m, z, iz, opt, ifail)  \
F01CKF(a, b, c, n, p, m, z, iz, opt, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01ckf_ F01CKF
#else
#define  F01CKF f01ckf_
#endif
extern void NAG_CALL F01CKF(
  double a[] /* 2 dimension */,
  double b[] /* 2 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  CONST Integer REFPTR m,
  double z[] /* 1 dimension */,
  CONST Integer REFPTR iz,
  CONST Integer REFPTR opt,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01crf_(a, m, n, mn, move, lmove, ifail)  \
F01CRF(a, m, n, mn, move, lmove, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01crf_ F01CRF
#else
#define  F01CRF f01crf_
#endif
extern void NAG_CALL F01CRF(
  double a[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR mn,
  Integer move[] /* 1 dimension */,
  CONST Integer REFPTR lmove,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01ctf_(transa, transb, m, n, alpha, a, lda, beta, b, ldb, c, ldc, ifail, length_transa, length_transb)  \
F01CTF(transa, length_transa, transb, length_transb, m, n, alpha, a, lda, beta, b, ldb, c, ldc, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01ctf_ F01CTF
#else
#define  F01CTF f01ctf_
#endif
extern void NAG_CALL F01CTF(
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * transb
#ifdef USE_STDCALL
,  CONST Charlen length_transb
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR beta,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_transa,
 CONST Charlen length_transb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01cwf_(transa, transb, m, n, alpha, a, lda, beta, b, ldb, c, ldc, ifail, length_transa, length_transb)  \
F01CWF(transa, length_transa, transb, length_transb, m, n, alpha, a, lda, beta, b, ldb, c, ldc, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01cwf_ F01CWF
#else
#define  F01CWF f01cwf_
#endif
extern void NAG_CALL F01CWF(
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * transb
#ifdef USE_STDCALL
,  CONST Charlen length_transb
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex REFPTR beta,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_transa,
 CONST Charlen length_transb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01ecf_(n, a, lda, ifail)  \
F01ECF(n, a, lda, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01ecf_ F01ECF
#else
#define  F01ECF f01ecf_
#endif
extern void NAG_CALL F01ECF(
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01lef_(n, a, lambda, b, c, tol, d, ipiv, ifail)  \
F01LEF(n, a, lambda, b, c, tol, d, ipiv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01lef_ F01LEF
#else
#define  F01LEF f01lef_
#endif
extern void NAG_CALL F01LEF(
  CONST Integer REFPTR n,
  double a[] /* 1 dimension */,
  CONST double REFPTR lambda,
  double b[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  CONST double REFPTR tol,
  double d[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01lhf_(n, nbloks, blkstr, a, lena, pivot, tol, kpivot, ifail)  \
F01LHF(n, nbloks, blkstr, a, lena, pivot, tol, kpivot, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01lhf_ F01LHF
#else
#define  F01LHF f01lhf_
#endif
extern void NAG_CALL F01LHF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nbloks,
  CONST Integer blkstr[] /* 2 dimension */,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR lena,
  Integer pivot[] /* 1 dimension */,
  double REFPTR tol,
  Integer REFPTR kpivot,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01mcf_(n, a, lal, nrow, al, d, ifail)  \
F01MCF(n, a, lal, nrow, al, d, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01mcf_ F01MCF
#else
#define  F01MCF f01mcf_
#endif
extern void NAG_CALL F01MCF(
  CONST Integer REFPTR n,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR lal,
  Integer nrow[] /* 1 dimension */,
  double al[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01qgf_(m, n, a, lda, zeta, ifail)  \
F01QGF(m, n, a, lda, zeta, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01qgf_ F01QGF
#else
#define  F01QGF f01qgf_
#endif
extern void NAG_CALL F01QGF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double zeta[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01qjf_(m, n, a, lda, zeta, ifail)  \
F01QJF(m, n, a, lda, zeta, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01qjf_ F01QJF
#else
#define  F01QJF f01qjf_
#endif
extern void NAG_CALL F01QJF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double zeta[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01qkf_(wheret, m, n, nrowp, a, lda, zeta, work, ifail, length_wheret)  \
F01QKF(wheret, length_wheret, m, n, nrowp, a, lda, zeta, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01qkf_ F01QKF
#else
#define  F01QKF f01qkf_
#endif
extern void NAG_CALL F01QKF(
  CONST char * wheret
#ifdef USE_STDCALL
,  CONST Charlen length_wheret
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrowp,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double zeta[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_wheret
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01rgf_(m, n, a, lda, theta, ifail)  \
F01RGF(m, n, a, lda, theta, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01rgf_ F01RGF
#else
#define  F01RGF f01rgf_
#endif
extern void NAG_CALL F01RGF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex theta[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01rjf_(m, n, a, lda, theta, ifail)  \
F01RJF(m, n, a, lda, theta, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01rjf_ F01RJF
#else
#define  F01RJF f01rjf_
#endif
extern void NAG_CALL F01RJF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex theta[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01rkf_(wheret, m, n, nrowp, a, lda, theta, work, ifail, length_wheret)  \
F01RKF(wheret, length_wheret, m, n, nrowp, a, lda, theta, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01rkf_ F01RKF
#else
#define  F01RKF f01rkf_
#endif
extern void NAG_CALL F01RKF(
  CONST char * wheret
#ifdef USE_STDCALL
,  CONST Charlen length_wheret
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrowp,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex theta[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_wheret
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01zaf_(job, uplo, diag, n, a, lda, b, ifail, length_job, length_uplo, length_diag)  \
F01ZAF(job, length_job, uplo, length_uplo, diag, length_diag, n, a, lda, b, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01zaf_ F01ZAF
#else
#define  F01ZAF f01zaf_
#endif
extern void NAG_CALL F01ZAF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01zbf_(job, uplo, diag, n, a, lda, b, ifail, length_job, length_uplo, length_diag)  \
F01ZBF(job, length_job, uplo, length_uplo, diag, length_diag, n, a, lda, b, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01zbf_ F01ZBF
#else
#define  F01ZBF f01zbf_
#endif
extern void NAG_CALL F01ZBF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01zcf_(job, m, n, kl, ku, a, lda, b, ldb, ifail, length_job)  \
F01ZCF(job, length_job, m, n, kl, ku, a, lda, b, ldb, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01zcf_ F01ZCF
#else
#define  F01ZCF f01zcf_
#endif
extern void NAG_CALL F01ZCF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f01zdf_(job, m, n, kl, ku, a, lda, b, ldb, ifail, length_job)  \
F01ZDF(job, length_job, m, n, kl, ku, a, lda, b, ldb, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f01zdf_ F01ZDF
#else
#define  F01ZDF f01zdf_
#endif
extern void NAG_CALL F01ZDF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02bjf_(n, a, lda, b, ldb, eps1, alfr, alfi, beta, matv, v, ldv, iter, ifail)  \
F02BJF(n, a, lda, b, ldb, eps1, alfr, alfi, beta, matv, v, ldv, iter, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02bjf_ F02BJF
#else
#define  F02BJF f02bjf_
#endif
extern void NAG_CALL F02BJF(
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR eps1,
  double alfr[] /* 1 dimension */,
  double alfi[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  CONST logical REFPTR matv,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer iter[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02eaf_(job, n, a, lda, wr, wi, z, ldz, work, lwork, ifail, length_job)  \
F02EAF(job, length_job, n, a, lda, wr, wi, z, ldz, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02eaf_ F02EAF
#else
#define  F02EAF f02eaf_
#endif
extern void NAG_CALL F02EAF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02ebf_(job, n, a, lda, wr, wi, vr, ldvr, vi, ldvi, work, lwork, ifail, length_job)  \
F02EBF(job, length_job, n, a, lda, wr, wi, vr, ldvr, vi, ldvi, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02ebf_ F02EBF
#else
#define  F02EBF f02ebf_
#endif
extern void NAG_CALL F02EBF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double vi[] /* 2 dimension */,
  CONST Integer REFPTR ldvi,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02ecf_(crit, n, a, lda, wl, wu, mest, m, wr, wi, vr, ldvr, vi, ldvi, work, lwork, iwork, bwork, ifail, length_crit)  \
F02ECF(crit, length_crit, n, a, lda, wl, wu, mest, m, wr, wi, vr, ldvr, vi, ldvi, work, lwork, iwork, bwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02ecf_ F02ECF
#else
#define  F02ECF f02ecf_
#endif
extern void NAG_CALL F02ECF(
  CONST char * crit
#ifdef USE_STDCALL
,  CONST Charlen length_crit
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR wl,
  CONST double REFPTR wu,
  CONST Integer REFPTR mest,
  Integer REFPTR m,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double vi[] /* 2 dimension */,
  CONST Integer REFPTR ldvi,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_crit
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02faf_(job, uplo, n, a, lda, w, work, lwork, ifail, length_job, length_uplo)  \
F02FAF(job, length_job, uplo, length_uplo, n, a, lda, w, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02faf_ F02FAF
#else
#define  F02FAF f02faf_
#endif
extern void NAG_CALL F02FAF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02fcf_(job, range, uplo, n, a, lda, wl, wu, il, iu, mest, m, w, z, ldz, work, lwork, iwork, ifail, length_job, length_range, length_uplo)  \
F02FCF(job, length_job, range, length_range, uplo, length_uplo, n, a, lda, wl, wu, il, iu, mest, m, w, z, ldz, work, lwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02fcf_ F02FCF
#else
#define  F02FCF f02fcf_
#endif
extern void NAG_CALL F02FCF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR wl,
  CONST double REFPTR wu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST Integer REFPTR mest,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02fdf_(itype, job, uplo, n, a, lda, b, ldb, w, work, lwork, ifail, length_job, length_uplo)  \
F02FDF(itype, job, length_job, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02fdf_ F02FDF
#else
#define  F02FDF f02fdf_
#endif
extern void NAG_CALL F02FDF(
  CONST Integer REFPTR itype,
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double w[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02fhf_(n, ma, a, lda, mb, b, ldb, d, work, lwork, ifail)  \
F02FHF(n, ma, a, lda, mb, b, ldb, d, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02fhf_ F02FHF
#else
#define  F02FHF f02fhf_
#endif
extern void NAG_CALL F02FHF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ma,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR mb,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double d[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02fjf_(n, m, k, noits, tol, dot, image, monit, novecs, x, ldx, d, work, lwork, ruser, lruser, iuser, liuser, ifail)  \
F02FJF(n, m, k, noits, tol, dot, image, monit, novecs, x, ldx, d, work, lwork, ruser, lruser, iuser, liuser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02fjf_ F02FJF
#else
#define  F02FJF f02fjf_
#endif
extern void NAG_CALL F02FJF(
  CONST Integer REFPTR n,
  Integer REFPTR m,
  CONST Integer REFPTR k,
  Integer REFPTR noits,
  CONST double REFPTR tol,
  double (NAG_CALL *dot)(
                         Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST double[],
                         double[],
                         CONST Integer REFPTR ,
                         Integer[],
                         CONST Integer REFPTR ),
  void (NAG_CALL *image)(
                         Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         double[],
                         double[],
                         CONST Integer REFPTR ,
                         Integer[],
                         CONST Integer REFPTR ),
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double[],
                         CONST double[]),
  CONST Integer REFPTR novecs,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double d[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double ruser[] /* 1 dimension */,
  CONST Integer REFPTR lruser,
  Integer iuser[] /* 1 dimension */,
  CONST Integer REFPTR liuser,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02fjz_(istate, nextit, nevals, nevecs, k, f, d)  \
F02FJZ(istate, nextit, nevals, nevecs, k, f, d) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02fjz_ F02FJZ
#else
#define  F02FJZ f02fjz_
#endif
extern void NAG_CALL F02FJZ(
  CONST Integer REFPTR istate,
  CONST Integer REFPTR nextit,
  CONST Integer REFPTR nevals,
  CONST Integer REFPTR nevecs,
  CONST Integer REFPTR k,
  CONST double f[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02gaf_(job, n, a, lda, w, z, ldz, rwork, work, lwork, ifail, length_job)  \
F02GAF(job, length_job, n, a, lda, w, z, ldz, rwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02gaf_ F02GAF
#else
#define  F02GAF f02gaf_
#endif
extern void NAG_CALL F02GAF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double rwork[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02gbf_(job, n, a, lda, w, v, ldv, rwork, work, lwork, ifail, length_job)  \
F02GBF(job, length_job, n, a, lda, w, v, ldv, rwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02gbf_ F02GBF
#else
#define  F02GBF f02gbf_
#endif
extern void NAG_CALL F02GBF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex w[] /* 1 dimension */,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double rwork[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02gcf_(crit, n, a, lda, wl, wu, mest, m, w, v, ldv, work, lwork, rwork, iwork, bwork, ifail, length_crit)  \
F02GCF(crit, length_crit, n, a, lda, wl, wu, mest, m, w, v, ldv, work, lwork, rwork, iwork, bwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02gcf_ F02GCF
#else
#define  F02GCF f02gcf_
#endif
extern void NAG_CALL F02GCF(
  CONST char * crit
#ifdef USE_STDCALL
,  CONST Charlen length_crit
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR wl,
  CONST double REFPTR wu,
  CONST Integer REFPTR mest,
  Integer REFPTR m,
  Complex w[] /* 1 dimension */,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_crit
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02gjf_(n, ar, ldar, ai, ldai, br, ldbr, bi, ldbi, eps1, alfr, alfi, beta, matv, vr, ldvr, vi, ldvi, iter, ifail)  \
F02GJF(n, ar, ldar, ai, ldai, br, ldbr, bi, ldbi, eps1, alfr, alfi, beta, matv, vr, ldvr, vi, ldvi, iter, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02gjf_ F02GJF
#else
#define  F02GJF f02gjf_
#endif
extern void NAG_CALL F02GJF(
  CONST Integer REFPTR n,
  double ar[] /* 2 dimension */,
  CONST Integer REFPTR ldar,
  double ai[] /* 2 dimension */,
  CONST Integer REFPTR ldai,
  double br[] /* 2 dimension */,
  CONST Integer REFPTR ldbr,
  double bi[] /* 2 dimension */,
  CONST Integer REFPTR ldbi,
  CONST double REFPTR eps1,
  double alfr[] /* 1 dimension */,
  double alfi[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  CONST logical REFPTR matv,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double vi[] /* 2 dimension */,
  CONST Integer REFPTR ldvi,
  Integer iter[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02haf_(job, uplo, n, a, lda, w, rwork, work, lwork, ifail, length_job, length_uplo)  \
F02HAF(job, length_job, uplo, length_uplo, n, a, lda, w, rwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02haf_ F02HAF
#else
#define  F02HAF f02haf_
#endif
extern void NAG_CALL F02HAF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02hcf_(job, range, uplo, n, a, lda, wl, wu, il, iu, mest, m, w, z, ldz, work, lwork, rwork, iwork, ifail, length_job, length_range, length_uplo)  \
F02HCF(job, length_job, range, length_range, uplo, length_uplo, n, a, lda, wl, wu, il, iu, mest, m, w, z, ldz, work, lwork, rwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02hcf_ F02HCF
#else
#define  F02HCF f02hcf_
#endif
extern void NAG_CALL F02HCF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR wl,
  CONST double REFPTR wu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST Integer REFPTR mest,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02hdf_(itype, job, uplo, n, a, lda, b, ldb, w, rwork, work, lwork, ifail, length_job, length_uplo)  \
F02HDF(itype, job, length_job, uplo, length_uplo, n, a, lda, b, ldb, w, rwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02hdf_ F02HDF
#else
#define  F02HDF f02hdf_
#endif
extern void NAG_CALL F02HDF(
  CONST Integer REFPTR itype,
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double w[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02sdf_(n, ma1, mb1, a, lda, b, ldb, sym, relep, rmu, vec, d, iwork, work, lwork, ifail)  \
F02SDF(n, ma1, mb1, a, lda, b, ldb, sym, relep, rmu, vec, d, iwork, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02sdf_ F02SDF
#else
#define  F02SDF f02sdf_
#endif
extern void NAG_CALL F02SDF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ma1,
  CONST Integer REFPTR mb1,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST logical REFPTR sym,
  CONST double REFPTR relep,
  CONST double REFPTR rmu,
  double vec[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02wdf_(m, n, a, lda, wantb, b, tol, svd, irank, z, sv, wantr, r, ldr, wantpt, pt, ldpt, work, lwork, ifail)  \
F02WDF(m, n, a, lda, wantb, b, tol, svd, irank, z, sv, wantr, r, ldr, wantpt, pt, ldpt, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02wdf_ F02WDF
#else
#define  F02WDF f02wdf_
#endif
extern void NAG_CALL F02WDF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST logical REFPTR wantb,
  double b[] /* 1 dimension */,
  CONST double REFPTR tol,
  logical REFPTR svd,
  Integer REFPTR irank,
  double z[] /* 1 dimension */,
  double sv[] /* 1 dimension */,
  CONST logical REFPTR wantr,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  CONST logical REFPTR wantpt,
  double pt[] /* 2 dimension */,
  CONST Integer REFPTR ldpt,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02wef_(m, n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, pt, ldpt, work, ifail)  \
F02WEF(m, n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, pt, ldpt, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02wef_ F02WEF
#else
#define  F02WEF f02wef_
#endif
extern void NAG_CALL F02WEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ncolb,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST logical REFPTR wantq,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double sv[] /* 1 dimension */,
  CONST logical REFPTR wantp,
  double pt[] /* 2 dimension */,
  CONST Integer REFPTR ldpt,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02wgf_(m, n, k, ncv, av, nconv, sigma, u, ldu, v, ldv, resid, iuser, ruser, ifail)  \
F02WGF(m, n, k, ncv, av, nconv, sigma, u, ldu, v, ldv, resid, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02wgf_ F02WGF
#else
#define  F02WGF f02wgf_
#endif
extern void NAG_CALL F02WGF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR ncv,
  void (NAG_CALL *av)(
                      Integer REFPTR ,
                      CONST Integer REFPTR ,
                      CONST Integer REFPTR ,
                      CONST double[],
                      double[],
                      Integer[],
                      double[]),
  Integer REFPTR nconv,
  double sigma[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double resid[] /* 1 dimension */,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02wuf_(n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, work, ifail)  \
F02WUF(n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02wuf_ F02WUF
#else
#define  F02WUF f02wuf_
#endif
extern void NAG_CALL F02WUF(
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ncolb,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST logical REFPTR wantq,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double sv[] /* 1 dimension */,
  CONST logical REFPTR wantp,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02xef_(m, n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, ph, ldph, rwork, cwork, ifail)  \
F02XEF(m, n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, ph, ldph, rwork, cwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02xef_ F02XEF
#else
#define  F02XEF f02xef_
#endif
extern void NAG_CALL F02XEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ncolb,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST logical REFPTR wantq,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double sv[] /* 1 dimension */,
  CONST logical REFPTR wantp,
  Complex ph[] /* 2 dimension */,
  CONST Integer REFPTR ldph,
  double rwork[] /* 1 dimension */,
  Complex cwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f02xuf_(n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, rwork, cwork, ifail)  \
F02XUF(n, a, lda, ncolb, b, ldb, wantq, q, ldq, sv, wantp, rwork, cwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f02xuf_ F02XUF
#else
#define  F02XUF f02xuf_
#endif
extern void NAG_CALL F02XUF(
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR ncolb,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST logical REFPTR wantq,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double sv[] /* 1 dimension */,
  CONST logical REFPTR wantp,
  double rwork[] /* 1 dimension */,
  Complex cwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f03aaf_(a, lda, n, det, wkspce, ifail)  \
F03AAF(a, lda, n, det, wkspce, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f03aaf_ F03AAF
#else
#define  F03AAF f03aaf_
#endif
extern void NAG_CALL F03AAF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR n,
  double REFPTR det,
  double wkspce[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f03abf_(a, lda, n, det, wkspce, ifail)  \
F03ABF(a, lda, n, det, wkspce, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f03abf_ F03ABF
#else
#define  F03ABF f03abf_
#endif
extern void NAG_CALL F03ABF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR n,
  double REFPTR det,
  double wkspce[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f03acf_(a, lda, n, m, det, rl, ldrl, m1, ifail)  \
F03ACF(a, lda, n, m, det, rl, ldrl, m1, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f03acf_ F03ACF
#else
#define  F03ACF f03acf_
#endif
extern void NAG_CALL F03ACF(
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double REFPTR det,
  double rl[] /* 2 dimension */,
  CONST Integer REFPTR ldrl,
  CONST Integer REFPTR m1,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f03adf_(a, lda, n, detr, deti, wkspce, ifail)  \
F03ADF(a, lda, n, detr, deti, wkspce, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f03adf_ F03ADF
#else
#define  F03ADF f03adf_
#endif
extern void NAG_CALL F03ADF(
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR n,
  double REFPTR detr,
  double REFPTR deti,
  double wkspce[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f03aef_(n, a, lda, p, d1, id, ifail)  \
F03AEF(n, a, lda, p, d1, id, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f03aef_ F03AEF
#else
#define  F03AEF f03aef_
#endif
extern void NAG_CALL F03AEF(
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double p[] /* 1 dimension */,
  double REFPTR d1,
  Integer REFPTR id,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f03aff_(n, eps, a, lda, d1, id, p, ifail)  \
F03AFF(n, eps, a, lda, d1, id, p, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f03aff_ F03AFF
#else
#define  F03AFF f03aff_
#endif
extern void NAG_CALL F03AFF(
  CONST Integer REFPTR n,
  CONST double REFPTR eps,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double REFPTR d1,
  Integer REFPTR id,
  double p[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04aaf_(a, lda, b, ldb, n, m, c, ldc, wkspce, ifail)  \
F04AAF(a, lda, b, ldb, n, m, c, ldc, wkspce, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04aaf_ F04AAF
#else
#define  F04AAF f04aaf_
#endif
extern void NAG_CALL F04AAF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double wkspce[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04abf_(a, lda, b, ldb, n, m, c, ldc, wkspce, bb, ldbb, ifail)  \
F04ABF(a, lda, b, ldb, n, m, c, ldc, wkspce, bb, ldbb, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04abf_ F04ABF
#else
#define  F04ABF f04abf_
#endif
extern void NAG_CALL F04ABF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double wkspce[] /* 1 dimension */,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04acf_(a, lda, b, ldb, n, m, ir, c, ldc, rl, ldrl, m1, ifail)  \
F04ACF(a, lda, b, ldb, n, m, ir, c, ldc, rl, ldrl, m1, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04acf_ F04ACF
#else
#define  F04ACF f04acf_
#endif
extern void NAG_CALL F04ACF(
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ir,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double rl[] /* 2 dimension */,
  CONST Integer REFPTR ldrl,
  CONST Integer REFPTR m1,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04adf_(a, lda, b, ldb, n, m, c, ldc, wkspce, ifail)  \
F04ADF(a, lda, b, ldb, n, m, c, ldc, wkspce, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04adf_ F04ADF
#else
#define  F04ADF f04adf_
#endif
extern void NAG_CALL F04ADF(
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double wkspce[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04aef_(a, lda, b, ldb, n, m, c, ldc, wkspce, aa, ldaa, bb, ldbb, ifail)  \
F04AEF(a, lda, b, ldb, n, m, c, ldc, wkspce, aa, ldaa, bb, ldbb, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04aef_ F04AEF
#else
#define  F04AEF f04aef_
#endif
extern void NAG_CALL F04AEF(
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double wkspce[] /* 1 dimension */,
  double aa[] /* 2 dimension */,
  CONST Integer REFPTR ldaa,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04aff_(n, ir, a, lda, p, b, ldb, eps, x, ldx, bb, ldbb, k, ifail)  \
F04AFF(n, ir, a, lda, p, b, ldb, eps, x, ldx, bb, ldbb, k, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04aff_ F04AFF
#else
#define  F04AFF f04aff_
#endif
extern void NAG_CALL F04AFF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ir,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double p[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR eps,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR k,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04agf_(n, ir, a, lda, p, b, ldb, x, ldx)  \
F04AGF(n, ir, a, lda, p, b, ldb, x, ldx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04agf_ F04AGF
#else
#define  F04AGF f04agf_
#endif
extern void NAG_CALL F04AGF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ir,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double p[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04ahf_(n, ir, a, lda, aa, ldaa, p, b, ldb, eps, x, ldx, bb, ldbb, k, ifail)  \
F04AHF(n, ir, a, lda, aa, ldaa, p, b, ldb, eps, x, ldx, bb, ldbb, k, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04ahf_ F04AHF
#else
#define  F04AHF f04ahf_
#endif
extern void NAG_CALL F04AHF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ir,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double aa[] /* 2 dimension */,
  CONST Integer REFPTR ldaa,
  CONST double p[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR eps,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR k,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04ajf_(n, ir, a, lda, p, b, ldb)  \
F04AJF(n, ir, a, lda, p, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04ajf_ F04AJF
#else
#define  F04AJF f04ajf_
#endif
extern void NAG_CALL F04AJF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ir,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double p[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04amf_(a, lda, x, ldx, b, ldb, m, n, ir, eps, qr, ldqr, alpha, e, y, z, r, ipiv, ifail)  \
F04AMF(a, lda, x, ldx, b, ldb, m, n, ir, eps, qr, ldqr, alpha, e, y, z, r, ipiv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04amf_ F04AMF
#else
#define  F04AMF f04amf_
#endif
extern void NAG_CALL F04AMF(
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ir,
  CONST double REFPTR eps,
  double qr[] /* 2 dimension */,
  CONST Integer REFPTR ldqr,
  double alpha[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  double z[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04arf_(a, lda, b, n, c, wkspce, ifail)  \
F04ARF(a, lda, b, n, c, wkspce, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04arf_ F04ARF
#else
#define  F04ARF f04arf_
#endif
extern void NAG_CALL F04ARF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double c[] /* 1 dimension */,
  double wkspce[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04asf_(a, lda, b, n, c, wk1, wk2, ifail)  \
F04ASF(a, lda, b, n, c, wk1, wk2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04asf_ F04ASF
#else
#define  F04ASF f04asf_
#endif
extern void NAG_CALL F04ASF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double c[] /* 1 dimension */,
  double wk1[] /* 1 dimension */,
  double wk2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04atf_(a, lda, b, n, c, aa, ldaa, wks1, wks2, ifail)  \
F04ATF(a, lda, b, n, c, aa, ldaa, wks1, wks2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04atf_ F04ATF
#else
#define  F04ATF f04atf_
#endif
extern void NAG_CALL F04ATF(
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double c[] /* 1 dimension */,
  double aa[] /* 2 dimension */,
  CONST Integer REFPTR ldaa,
  double wks1[] /* 1 dimension */,
  double wks2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04axf_(n, a, licn, icn, ikeep, rhs, w, mtype, idisp, resid)  \
F04AXF(n, a, licn, icn, ikeep, rhs, w, mtype, idisp, resid) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04axf_ F04AXF
#else
#define  F04AXF f04axf_
#endif
extern void NAG_CALL F04AXF(
  CONST Integer REFPTR n,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR licn,
  CONST Integer icn[] /* 1 dimension */,
  Integer ikeep[] /* 1 dimension */,
  double rhs[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR mtype,
  CONST Integer idisp[] /* 1 dimension */,
  double REFPTR resid
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04baf_(n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail)  \
F04BAF(n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04baf_ F04BAF
#else
#define  F04BAF f04baf_
#endif
extern void NAG_CALL F04BAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bbf_(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, rcond, errbnd, ifail)  \
F04BBF(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bbf_ F04BBF
#else
#define  F04BBF f04bbf_
#endif
extern void NAG_CALL F04BBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bcf_(n, nrhs, dl, d, du, du2, ipiv, b, ldb, rcond, errbnd, ifail)  \
F04BCF(n, nrhs, dl, d, du, du2, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bcf_ F04BCF
#else
#define  F04BCF f04bcf_
#endif
extern void NAG_CALL F04BCF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double dl[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double du[] /* 1 dimension */,
  double du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bdf_(uplo, n, nrhs, a, lda, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04BDF(uplo, length_uplo, n, nrhs, a, lda, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bdf_ F04BDF
#else
#define  F04BDF f04bdf_
#endif
extern void NAG_CALL F04BDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bef_(uplo, n, nrhs, ap, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04BEF(uplo, length_uplo, n, nrhs, ap, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bef_ F04BEF
#else
#define  F04BEF f04bef_
#endif
extern void NAG_CALL F04BEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bff_(uplo, n, kd, nrhs, ab, ldab, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04BFF(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bff_ F04BFF
#else
#define  F04BFF f04bff_
#endif
extern void NAG_CALL F04BFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bgf_(n, nrhs, d, e, b, ldb, rcond, errbnd, ifail)  \
F04BGF(n, nrhs, d, e, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bgf_ F04BGF
#else
#define  F04BGF f04bgf_
#endif
extern void NAG_CALL F04BGF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bhf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04BHF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bhf_ F04BHF
#else
#define  F04BHF f04bhf_
#endif
extern void NAG_CALL F04BHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04bjf_(uplo, n, nrhs, ap, ipiv, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04BJF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04bjf_ F04BJF
#else
#define  F04BJF f04bjf_
#endif
extern void NAG_CALL F04BJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04caf_(n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail)  \
F04CAF(n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04caf_ F04CAF
#else
#define  F04CAF f04caf_
#endif
extern void NAG_CALL F04CAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04cbf_(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, rcond, errbnd, ifail)  \
F04CBF(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04cbf_ F04CBF
#else
#define  F04CBF f04cbf_
#endif
extern void NAG_CALL F04CBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04ccf_(n, nrhs, dl, d, du, du2, ipiv, b, ldb, rcond, errbnd, ifail)  \
F04CCF(n, nrhs, dl, d, du, du2, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04ccf_ F04CCF
#else
#define  F04CCF f04ccf_
#endif
extern void NAG_CALL F04CCF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex dl[] /* 1 dimension */,
  Complex d[] /* 1 dimension */,
  Complex du[] /* 1 dimension */,
  Complex du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04cdf_(uplo, n, nrhs, a, lda, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04CDF(uplo, length_uplo, n, nrhs, a, lda, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04cdf_ F04CDF
#else
#define  F04CDF f04cdf_
#endif
extern void NAG_CALL F04CDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04cef_(uplo, n, nrhs, ap, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04CEF(uplo, length_uplo, n, nrhs, ap, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04cef_ F04CEF
#else
#define  F04CEF f04cef_
#endif
extern void NAG_CALL F04CEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04cff_(uplo, n, kd, nrhs, ab, ldab, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04CFF(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04cff_ F04CFF
#else
#define  F04CFF f04cff_
#endif
extern void NAG_CALL F04CFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04cgf_(n, nrhs, d, e, b, ldb, rcond, errbnd, ifail)  \
F04CGF(n, nrhs, d, e, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04cgf_ F04CGF
#else
#define  F04CGF f04cgf_
#endif
extern void NAG_CALL F04CGF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double d[] /* 1 dimension */,
  Complex e[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04chf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04CHF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04chf_ F04CHF
#else
#define  F04CHF f04chf_
#endif
extern void NAG_CALL F04CHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04cjf_(uplo, n, nrhs, ap, ipiv, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04CJF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04cjf_ F04CJF
#else
#define  F04CJF f04cjf_
#endif
extern void NAG_CALL F04CJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04dhf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04DHF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04dhf_ F04DHF
#else
#define  F04DHF f04dhf_
#endif
extern void NAG_CALL F04DHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04djf_(uplo, n, nrhs, ap, ipiv, b, ldb, rcond, errbnd, ifail, length_uplo)  \
F04DJF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, rcond, errbnd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04djf_ F04DJF
#else
#define  F04DJF f04djf_
#endif
extern void NAG_CALL F04DJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double REFPTR rcond,
  double REFPTR errbnd,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04eaf_(n, d, du, dl, b, ifail)  \
F04EAF(n, d, du, dl, b, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04eaf_ F04EAF
#else
#define  F04EAF f04eaf_
#endif
extern void NAG_CALL F04EAF(
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double du[] /* 1 dimension */,
  double dl[] /* 1 dimension */,
  double b[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04faf_(job, n, d, e, b, ifail)  \
F04FAF(job, n, d, e, b, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04faf_ F04FAF
#else
#define  F04FAF f04faf_
#endif
extern void NAG_CALL F04FAF(
  CONST Integer REFPTR job,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double b[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04fef_(n, t, x, wantp, p, wantv, v, vlast, work, ifail)  \
F04FEF(n, t, x, wantp, p, wantv, v, vlast, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04fef_ F04FEF
#else
#define  F04FEF f04fef_
#endif
extern void NAG_CALL F04FEF(
  CONST Integer REFPTR n,
  CONST double t[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST logical REFPTR wantp,
  double p[] /* 1 dimension */,
  CONST logical REFPTR wantv,
  double v[] /* 1 dimension */,
  double REFPTR vlast,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04fff_(n, t, b, x, wantp, p, work, ifail)  \
F04FFF(n, t, b, x, wantp, p, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04fff_ F04FFF
#else
#define  F04FFF f04fff_
#endif
extern void NAG_CALL F04FFF(
  CONST Integer REFPTR n,
  CONST double t[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST logical REFPTR wantp,
  double p[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04jaf_(m, n, a, lda, b, tol, sigma, irank, work, lwork, ifail)  \
F04JAF(m, n, a, lda, b, tol, sigma, irank, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04jaf_ F04JAF
#else
#define  F04JAF f04jaf_
#endif
extern void NAG_CALL F04JAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 1 dimension */,
  CONST double REFPTR tol,
  double REFPTR sigma,
  Integer REFPTR irank,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04jdf_(m, n, a, lda, b, tol, sigma, irank, work, lwork, ifail)  \
F04JDF(m, n, a, lda, b, tol, sigma, irank, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04jdf_ F04JDF
#else
#define  F04JDF f04jdf_
#endif
extern void NAG_CALL F04JDF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 1 dimension */,
  CONST double REFPTR tol,
  double REFPTR sigma,
  Integer REFPTR irank,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04jgf_(m, n, a, lda, b, tol, svd, sigma, irank, work, lwork, ifail)  \
F04JGF(m, n, a, lda, b, tol, svd, sigma, irank, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04jgf_ F04JGF
#else
#define  F04JGF f04jgf_
#endif
extern void NAG_CALL F04JGF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 1 dimension */,
  CONST double REFPTR tol,
  logical REFPTR svd,
  double REFPTR sigma,
  Integer REFPTR irank,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04jlf_(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, ifail)  \
F04JLF(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04jlf_ F04JLF
#else
#define  F04JLF f04jlf_
#endif
extern void NAG_CALL F04JLF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double d[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04jmf_(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, ifail)  \
F04JMF(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04jmf_ F04JMF
#else
#define  F04JMF f04jmf_
#endif
extern void NAG_CALL F04JMF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double c[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04klf_(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, ifail)  \
F04KLF(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04klf_ F04KLF
#else
#define  F04KLF f04klf_
#endif
extern void NAG_CALL F04KLF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex d[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  Complex y[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04kmf_(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, ifail)  \
F04KMF(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04kmf_ F04KMF
#else
#define  F04KMF f04kmf_
#endif
extern void NAG_CALL F04KMF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex c[] /* 1 dimension */,
  Complex d[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04lef_(job, n, a, b, c, d, ipiv, y, tol, ifail)  \
F04LEF(job, n, a, b, c, d, ipiv, y, tol, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04lef_ F04LEF
#else
#define  F04LEF f04lef_
#endif
extern void NAG_CALL F04LEF(
  CONST Integer REFPTR job,
  CONST Integer REFPTR n,
  CONST double a[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  CONST double c[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  double REFPTR tol,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04lhf_(trans, n, nbloks, blkstr, a, lena, pivot, b, ldb, ir, ifail, length_trans)  \
F04LHF(trans, length_trans, n, nbloks, blkstr, a, lena, pivot, b, ldb, ir, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04lhf_ F04LHF
#else
#define  F04LHF f04lhf_
#endif
extern void NAG_CALL F04LHF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nbloks,
  CONST Integer blkstr[] /* 2 dimension */,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR lena,
  CONST Integer pivot[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR ir,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04mcf_(n, al, lal, d, nrow, ir, b, ldb, iselct, x, ldx, ifail)  \
F04MCF(n, al, lal, d, nrow, ir, b, ldb, iselct, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04mcf_ F04MCF
#else
#define  F04MCF f04mcf_
#endif
extern void NAG_CALL F04MCF(
  CONST Integer REFPTR n,
  CONST double al[] /* 1 dimension */,
  CONST Integer REFPTR lal,
  CONST double d[] /* 1 dimension */,
  CONST Integer nrow[] /* 1 dimension */,
  CONST Integer REFPTR ir,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR iselct,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04mef_(n, t, x, v, work, ifail)  \
F04MEF(n, t, x, v, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04mef_ F04MEF
#else
#define  F04MEF f04mef_
#endif
extern void NAG_CALL F04MEF(
  CONST Integer REFPTR n,
  CONST double t[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double REFPTR v,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04mff_(n, t, b, x, p, work, ifail)  \
F04MFF(n, t, b, x, p, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04mff_ F04MFF
#else
#define  F04MFF f04mff_
#endif
extern void NAG_CALL F04MFF(
  CONST Integer REFPTR n,
  CONST double t[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double REFPTR p,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04qaf_(m, n, b, x, se, aprod, damp, atol, btol, conlim, itnlim, msglvl, itn, anorm, acond, rnorm, arnorm, xnorm, work, ruser, lruser, iuser, liuser, inform, ifail)  \
F04QAF(m, n, b, x, se, aprod, damp, atol, btol, conlim, itnlim, msglvl, itn, anorm, acond, rnorm, arnorm, xnorm, work, ruser, lruser, iuser, liuser, inform, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04qaf_ F04QAF
#else
#define  F04QAF f04qaf_
#endif
extern void NAG_CALL F04QAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double b[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  void (NAG_CALL *aprod)(
                         Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         double[],
                         double[],
                         double[],
                         CONST Integer REFPTR ,
                         Integer[],
                         CONST Integer REFPTR ),
  CONST double REFPTR damp,
  CONST double REFPTR atol,
  CONST double REFPTR btol,
  CONST double REFPTR conlim,
  Integer REFPTR itnlim,
  CONST Integer REFPTR msglvl,
  Integer REFPTR itn,
  double REFPTR anorm,
  double REFPTR acond,
  double REFPTR rnorm,
  double REFPTR arnorm,
  double REFPTR xnorm,
  double work[] /* 2 dimension */,
  double ruser[] /* 1 dimension */,
  CONST Integer REFPTR lruser,
  Integer iuser[] /* 1 dimension */,
  CONST Integer REFPTR liuser,
  Integer REFPTR inform,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04yaf_(job, p, sigma, a, lda, svd, irank, sv, cj, work, ifail)  \
F04YAF(job, p, sigma, a, lda, svd, irank, sv, cj, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04yaf_ F04YAF
#else
#define  F04YAF f04yaf_
#endif
extern void NAG_CALL F04YAF(
  CONST Integer REFPTR job,
  CONST Integer REFPTR p,
  CONST double REFPTR sigma,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST logical REFPTR svd,
  CONST Integer REFPTR irank,
  CONST double sv[] /* 1 dimension */,
  double cj[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04ycf_(icase, n, x, estnrm, work, iwork, ifail)  \
F04YCF(icase, n, x, estnrm, work, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04ycf_ F04YCF
#else
#define  F04YCF f04ycf_
#endif
extern void NAG_CALL F04YCF(
  Integer REFPTR icase,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  double REFPTR estnrm,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f04zcf_(icase, n, x, estnrm, work, ifail)  \
F04ZCF(icase, n, x, estnrm, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f04zcf_ F04ZCF
#else
#define  F04ZCF f04zcf_
#endif
extern void NAG_CALL F04ZCF(
  Integer REFPTR icase,
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  double REFPTR estnrm,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f05aaf_(a, lda, m, n1, n2, s, cc, icol, ifail)  \
F05AAF(a, lda, m, n1, n2, s, cc, icol, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f05aaf_ F05AAF
#else
#define  F05AAF f05aaf_
#endif
extern void NAG_CALL F05AAF(
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  double s[] /* 1 dimension */,
  double REFPTR cc,
  Integer REFPTR icol,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
drotg_(a, b, c, s)  \
DROTG(a, b, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  drotg_ DROTG
#else
#define  DROTG drotg_
#endif
extern void NAG_CALL DROTG(
  double REFPTR a,
  double REFPTR b,
  double REFPTR c,
  double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06aaf_(a, b, c, s)  \
F06AAF(a, b, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06aaf_ F06AAF
#else
#define  F06AAF f06aaf_
#endif
extern void NAG_CALL F06AAF(
  double REFPTR a,
  double REFPTR b,
  double REFPTR c,
  double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06aatn_(varnam, val, length_varnam, length_val)  \
F06AATN(varnam, length_varnam, val, length_val) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06aatn_ F06AATN
#else
#define  F06AATN f06aatn_
#endif
extern void NAG_CALL F06AATN(
  CONST char * varnam
#ifdef USE_STDCALL
,  CONST Charlen length_varnam
#endif
,
  char * val
#ifdef USE_STDCALL
,  CONST Charlen length_val
#endif

#ifndef USE_STDCALL
, CONST Charlen length_varnam,
 CONST Charlen length_val
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06baf_(a, b, c, s)  \
F06BAF(a, b, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06baf_ F06BAF
#else
#define  F06BAF f06baf_
#endif
extern void NAG_CALL F06BAF(
  double REFPTR a,
  double REFPTR b,
  double REFPTR c,
  double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06bcf_(t, c, s)  \
F06BCF(t, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06bcf_ F06BCF
#else
#define  F06BCF f06bcf_
#endif
extern void NAG_CALL F06BCF(
  CONST double REFPTR t,
  double REFPTR c,
  double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06bef_(job, x, y, z, c, s, length_job)  \
F06BEF(job, length_job, x, y, z, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06bef_ F06BEF
#else
#define  F06BEF f06bef_
#endif
extern void NAG_CALL F06BEF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  double REFPTR x,
  double REFPTR y,
  double REFPTR z,
  double REFPTR c,
  double REFPTR s
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06bhf_(x, y, z, c, s)  \
F06BHF(x, y, z, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06bhf_ F06BHF
#else
#define  F06BHF f06bhf_
#endif
extern void NAG_CALL F06BHF(
  double REFPTR x,
  double REFPTR y,
  double REFPTR z,
  CONST double REFPTR c,
  CONST double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06blf_(a, b, fail)  \
F06BLF(a, b, fail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06blf_ F06BLF
#else
#define  F06BLF f06blf_
#endif
extern double NAG_CALL F06BLF(
  CONST double REFPTR a,
  CONST double REFPTR b,
  logical REFPTR fail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06bmf_(scal, ssq)  \
F06BMF(scal, ssq) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06bmf_ F06BMF
#else
#define  F06BMF f06bmf_
#endif
extern double NAG_CALL F06BMF(
  CONST double REFPTR scal,
  CONST double REFPTR ssq
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06bnf_(a, b)  \
F06BNF(a, b) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06bnf_ F06BNF
#else
#define  F06BNF f06bnf_
#endif
extern double NAG_CALL F06BNF(
  CONST double REFPTR a,
  CONST double REFPTR b
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06bpf_(a, b, c)  \
F06BPF(a, b, c) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06bpf_ F06BPF
#else
#define  F06BPF f06bpf_
#endif
extern double NAG_CALL F06BPF(
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR c
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06caf_(a, b, c, s)  \
F06CAF(a, b, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06caf_ F06CAF
#else
#define  F06CAF f06caf_
#endif
extern void NAG_CALL F06CAF(
  Complex REFPTR a,
  Complex REFPTR b,
  double REFPTR c,
  Complex REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06cbf_(a, b, c, s)  \
F06CBF(a, b, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06cbf_ F06CBF
#else
#define  F06CBF f06cbf_
#endif
extern void NAG_CALL F06CBF(
  Complex REFPTR a,
  Complex REFPTR b,
  Complex REFPTR c,
  double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ccf_(t, c, s)  \
F06CCF(t, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ccf_ F06CCF
#else
#define  F06CCF f06ccf_
#endif
extern void NAG_CALL F06CCF(
  CONST Complex REFPTR t,
  double REFPTR c,
  Complex REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06cdf_(t, c, s)  \
F06CDF(t, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06cdf_ F06CDF
#else
#define  F06CDF f06cdf_
#endif
extern void NAG_CALL F06CDF(
  CONST Complex REFPTR t,
  Complex REFPTR c,
  double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06chf_(x, y, z, c, s)  \
F06CHF(x, y, z, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06chf_ F06CHF
#else
#define  F06CHF f06chf_
#endif
extern void NAG_CALL F06CHF(
  Complex REFPTR x,
  Complex REFPTR y,
  Complex REFPTR z,
  CONST double REFPTR c,
  CONST Complex REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
f06clf_(retval,a, b, fail)  \
F06CLF(retval,a, b, fail) 
#else

#define \
f06clf_(a, b, fail)  \
F06CLF(a, b, fail) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  f06clf_ F06CLF
#else
#define  F06CLF f06clf_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL F06CLF(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Complex REFPTR a,
  CONST Complex REFPTR b,
  logical REFPTR fail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06dbf_(n, con, x, incx)  \
F06DBF(n, con, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06dbf_ F06DBF
#else
#define  F06DBF f06dbf_
#endif
extern void NAG_CALL F06DBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR con,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06dff_(n, x, incx, y, incy)  \
F06DFF(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06dff_ F06DFF
#else
#define  F06DFF f06dff_
#endif
extern void NAG_CALL F06DFF(
  CONST Integer REFPTR n,
  CONST Integer x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Integer y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ddot_(n, x, incx, y, incy)  \
DDOT(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ddot_ DDOT
#else
#define  DDOT ddot_
#endif
extern double NAG_CALL DDOT(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06eaf_(n, x, incx, y, incy)  \
F06EAF(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06eaf_ F06EAF
#else
#define  F06EAF f06eaf_
#endif
extern double NAG_CALL F06EAF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
daxpy_(n, alpha, x, incx, y, incy)  \
DAXPY(n, alpha, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  daxpy_ DAXPY
#else
#define  DAXPY daxpy_
#endif
extern void NAG_CALL DAXPY(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ecf_(n, alpha, x, incx, y, incy)  \
F06ECF(n, alpha, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ecf_ F06ECF
#else
#define  F06ECF f06ecf_
#endif
extern void NAG_CALL F06ECF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dscal_(n, alpha, x, incx)  \
DSCAL(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dscal_ DSCAL
#else
#define  DSCAL dscal_
#endif
extern void NAG_CALL DSCAL(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06edf_(n, alpha, x, incx)  \
F06EDF(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06edf_ F06EDF
#else
#define  F06EDF f06edf_
#endif
extern void NAG_CALL F06EDF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dcopy_(n, x, incx, y, incy)  \
DCOPY(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dcopy_ DCOPY
#else
#define  DCOPY dcopy_
#endif
extern void NAG_CALL DCOPY(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06eff_(n, x, incx, y, incy)  \
F06EFF(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06eff_ F06EFF
#else
#define  F06EFF f06eff_
#endif
extern void NAG_CALL F06EFF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dswap_(n, x, incx, y, incy)  \
DSWAP(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dswap_ DSWAP
#else
#define  DSWAP dswap_
#endif
extern void NAG_CALL DSWAP(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06egf_(n, x, incx, y, incy)  \
F06EGF(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06egf_ F06EGF
#else
#define  F06EGF f06egf_
#endif
extern void NAG_CALL F06EGF(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dnrm2_(n, x, incx)  \
DNRM2(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dnrm2_ DNRM2
#else
#define  DNRM2 dnrm2_
#endif
extern double NAG_CALL DNRM2(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ejf_(n, x, incx)  \
F06EJF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ejf_ F06EJF
#else
#define  F06EJF f06ejf_
#endif
extern double NAG_CALL F06EJF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dasum_(n, x, incx)  \
DASUM(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dasum_ DASUM
#else
#define  DASUM dasum_
#endif
extern double NAG_CALL DASUM(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ekf_(n, x, incx)  \
F06EKF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ekf_ F06EKF
#else
#define  F06EKF f06ekf_
#endif
extern double NAG_CALL F06EKF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
drot_(n, x, incx, y, incy, c, s)  \
DROT(n, x, incx, y, incy, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  drot_ DROT
#else
#define  DROT drot_
#endif
extern void NAG_CALL DROT(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST double REFPTR c,
  CONST double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06epf_(n, x, incx, y, incy, c, s)  \
F06EPF(n, x, incx, y, incy, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06epf_ F06EPF
#else
#define  F06EPF f06epf_
#endif
extern void NAG_CALL F06EPF(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST double REFPTR c,
  CONST double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ddoti_(nz, x, indx, y)  \
DDOTI(nz, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ddoti_ DDOTI
#else
#define  DDOTI ddoti_
#endif
extern double NAG_CALL DDOTI(
  CONST Integer REFPTR nz,
  CONST double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06erf_(nz, x, indx, y)  \
F06ERF(nz, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06erf_ F06ERF
#else
#define  F06ERF f06erf_
#endif
extern double NAG_CALL F06ERF(
  CONST Integer REFPTR nz,
  CONST double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
daxpyi_(nz, a, x, indx, y)  \
DAXPYI(nz, a, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  daxpyi_ DAXPYI
#else
#define  DAXPYI daxpyi_
#endif
extern void NAG_CALL DAXPYI(
  CONST Integer REFPTR nz,
  CONST double REFPTR a,
  CONST double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06etf_(nz, a, x, indx, y)  \
F06ETF(nz, a, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06etf_ F06ETF
#else
#define  F06ETF f06etf_
#endif
extern void NAG_CALL F06ETF(
  CONST Integer REFPTR nz,
  CONST double REFPTR a,
  CONST double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgthr_(nz, y, x, indx)  \
DGTHR(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgthr_ DGTHR
#else
#define  DGTHR dgthr_
#endif
extern void NAG_CALL DGTHR(
  CONST Integer REFPTR nz,
  CONST double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06euf_(nz, y, x, indx)  \
F06EUF(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06euf_ F06EUF
#else
#define  F06EUF f06euf_
#endif
extern void NAG_CALL F06EUF(
  CONST Integer REFPTR nz,
  CONST double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgthrz_(nz, y, x, indx)  \
DGTHRZ(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgthrz_ DGTHRZ
#else
#define  DGTHRZ dgthrz_
#endif
extern void NAG_CALL DGTHRZ(
  CONST Integer REFPTR nz,
  double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06evf_(nz, y, x, indx)  \
F06EVF(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06evf_ F06EVF
#else
#define  F06EVF f06evf_
#endif
extern void NAG_CALL F06EVF(
  CONST Integer REFPTR nz,
  double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsctr_(nz, x, indx, y)  \
DSCTR(nz, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsctr_ DSCTR
#else
#define  DSCTR dsctr_
#endif
extern void NAG_CALL DSCTR(
  CONST Integer REFPTR nz,
  CONST double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ewf_(nz, x, indx, y)  \
F06EWF(nz, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ewf_ F06EWF
#else
#define  F06EWF f06ewf_
#endif
extern void NAG_CALL F06EWF(
  CONST Integer REFPTR nz,
  CONST double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  double y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
droti_(nz, x, indx, y, c, s)  \
DROTI(nz, x, indx, y, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  droti_ DROTI
#else
#define  DROTI droti_
#endif
extern void NAG_CALL DROTI(
  CONST Integer REFPTR nz,
  double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST double REFPTR c,
  CONST double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06exf_(nz, x, indx, y, c, s)  \
F06EXF(nz, x, indx, y, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06exf_ F06EXF
#else
#define  F06EXF f06exf_
#endif
extern void NAG_CALL F06EXF(
  CONST Integer REFPTR nz,
  double x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST double REFPTR c,
  CONST double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06faf_(n, j, tolx, x, incx, toly, y, incy)  \
F06FAF(n, j, tolx, x, incx, toly, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06faf_ F06FAF
#else
#define  F06FAF f06faf_
#endif
extern double NAG_CALL F06FAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR j,
  CONST double REFPTR tolx,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR toly,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fbf_(n, con, x, incx)  \
F06FBF(n, con, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fbf_ F06FBF
#else
#define  F06FBF f06fbf_
#endif
extern void NAG_CALL F06FBF(
  CONST Integer REFPTR n,
  CONST double REFPTR con,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fcf_(n, d, incd, x, incx)  \
F06FCF(n, d, incd, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fcf_ F06FCF
#else
#define  F06FCF f06fcf_
#endif
extern void NAG_CALL F06FCF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST Integer REFPTR incd,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fdf_(n, alpha, x, incx, y, incy)  \
F06FDF(n, alpha, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fdf_ F06FDF
#else
#define  F06FDF f06fdf_
#endif
extern void NAG_CALL F06FDF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fef_(n, alpha, x, incx)  \
F06FEF(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fef_ F06FEF
#else
#define  F06FEF f06fef_
#endif
extern void NAG_CALL F06FEF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fgf_(n, x, incx)  \
F06FGF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fgf_ F06FGF
#else
#define  F06FGF f06fgf_
#endif
extern void NAG_CALL F06FGF(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fjf_(n, x, incx, scal, sumsq)  \
F06FJF(n, x, incx, scal, sumsq) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fjf_ F06FJF
#else
#define  F06FJF f06fjf_
#endif
extern void NAG_CALL F06FJF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double REFPTR scal,
  double REFPTR sumsq
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fkf_(n, w, incw, x, incx)  \
F06FKF(n, w, incw, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fkf_ F06FKF
#else
#define  F06FKF f06fkf_
#endif
extern double NAG_CALL F06FKF(
  CONST Integer REFPTR n,
  CONST double w[] /* 1 dimension */,
  CONST Integer REFPTR incw,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06flf_(n, x, incx, xmax, xmin)  \
F06FLF(n, x, incx, xmax, xmin) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06flf_ F06FLF
#else
#define  F06FLF f06flf_
#endif
extern void NAG_CALL F06FLF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double REFPTR xmax,
  double REFPTR xmin
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fpf_(n, x, incx, y, incy, c, s)  \
F06FPF(n, x, incx, y, incy, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fpf_ F06FPF
#else
#define  F06FPF f06fpf_
#endif
extern void NAG_CALL F06FPF(
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST double REFPTR c,
  CONST double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fqf_(pivot, direct, n, alpha, x, incx, c, s, length_pivot, length_direct)  \
F06FQF(pivot, length_pivot, direct, length_direct, n, alpha, x, incx, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fqf_ F06FQF
#else
#define  F06FQF f06fqf_
#endif
extern void NAG_CALL F06FQF(
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR n,
  double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double c[] /* 1 dimension */,
  double s[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06frf_(n, alpha, x, incx, tol, zeta)  \
F06FRF(n, alpha, x, incx, tol, zeta) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06frf_ F06FRF
#else
#define  F06FRF f06frf_
#endif
extern void NAG_CALL F06FRF(
  CONST Integer REFPTR n,
  double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR tol,
  double REFPTR zeta
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fsf_(n, alpha, x, incx, tol, z1)  \
F06FSF(n, alpha, x, incx, tol, z1) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fsf_ F06FSF
#else
#define  F06FSF f06fsf_
#endif
extern void NAG_CALL F06FSF(
  CONST Integer REFPTR n,
  double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR tol,
  double REFPTR z1
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ftf_(n, delta, y, incy, zeta, z, incz)  \
F06FTF(n, delta, y, incy, zeta, z, incz) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ftf_ F06FTF
#else
#define  F06FTF f06ftf_
#endif
extern void NAG_CALL F06FTF(
  CONST Integer REFPTR n,
  double REFPTR delta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST double REFPTR zeta,
  CONST double z[] /* 1 dimension */,
  CONST Integer REFPTR incz
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06fuf_(n, z, incz, z1, alpha, x, incx)  \
F06FUF(n, z, incz, z1, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06fuf_ F06FUF
#else
#define  F06FUF f06fuf_
#endif
extern void NAG_CALL F06FUF(
  CONST Integer REFPTR n,
  CONST double z[] /* 1 dimension */,
  CONST Integer REFPTR incz,
  CONST double REFPTR z1,
  double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
zdotu_(retval,n, x, incx, y, incy)  \
ZDOTU(retval,n, x, incx, y, incy) 
#else

#define \
zdotu_(n, x, incx, y, incy)  \
ZDOTU(n, x, incx, y, incy) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  zdotu_ ZDOTU
#else
#define  ZDOTU zdotu_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL ZDOTU(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
f06gaf_(retval,n, x, incx, y, incy)  \
F06GAF(retval,n, x, incx, y, incy) 
#else

#define \
f06gaf_(n, x, incx, y, incy)  \
F06GAF(n, x, incx, y, incy) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  f06gaf_ F06GAF
#else
#define  F06GAF f06gaf_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL F06GAF(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
zdotc_(retval,n, x, incx, y, incy)  \
ZDOTC(retval,n, x, incx, y, incy) 
#else

#define \
zdotc_(n, x, incx, y, incy)  \
ZDOTC(n, x, incx, y, incy) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  zdotc_ ZDOTC
#else
#define  ZDOTC zdotc_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL ZDOTC(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
f06gbf_(retval,n, x, incx, y, incy)  \
F06GBF(retval,n, x, incx, y, incy) 
#else

#define \
f06gbf_(n, x, incx, y, incy)  \
F06GBF(n, x, incx, y, incy) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  f06gbf_ F06GBF
#else
#define  F06GBF f06gbf_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL F06GBF(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zaxpy_(n, alpha, x, incx, y, incy)  \
ZAXPY(n, alpha, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zaxpy_ ZAXPY
#else
#define  ZAXPY zaxpy_
#endif
extern void NAG_CALL ZAXPY(
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06gcf_(n, alpha, x, incx, y, incy)  \
F06GCF(n, alpha, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06gcf_ F06GCF
#else
#define  F06GCF f06gcf_
#endif
extern void NAG_CALL F06GCF(
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zscal_(n, alpha, x, incx)  \
ZSCAL(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zscal_ ZSCAL
#else
#define  ZSCAL zscal_
#endif
extern void NAG_CALL ZSCAL(
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06gdf_(n, alpha, x, incx)  \
F06GDF(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06gdf_ F06GDF
#else
#define  F06GDF f06gdf_
#endif
extern void NAG_CALL F06GDF(
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zcopy_(n, x, incx, y, incy)  \
ZCOPY(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zcopy_ ZCOPY
#else
#define  ZCOPY zcopy_
#endif
extern void NAG_CALL ZCOPY(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06gff_(n, x, incx, y, incy)  \
F06GFF(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06gff_ F06GFF
#else
#define  F06GFF f06gff_
#endif
extern void NAG_CALL F06GFF(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zswap_(n, x, incx, y, incy)  \
ZSWAP(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zswap_ ZSWAP
#else
#define  ZSWAP zswap_
#endif
extern void NAG_CALL ZSWAP(
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ggf_(n, x, incx, y, incy)  \
F06GGF(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ggf_ F06GGF
#else
#define  F06GGF f06ggf_
#endif
extern void NAG_CALL F06GGF(
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
zdotui_(retval,nz, x, indx, y)  \
ZDOTUI(retval,nz, x, indx, y) 
#else

#define \
zdotui_(nz, x, indx, y)  \
ZDOTUI(nz, x, indx, y) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  zdotui_ ZDOTUI
#else
#define  ZDOTUI zdotui_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL ZDOTUI(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR nz,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  CONST Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
f06grf_(retval,nz, x, indx, y)  \
F06GRF(retval,nz, x, indx, y) 
#else

#define \
f06grf_(nz, x, indx, y)  \
F06GRF(nz, x, indx, y) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  f06grf_ F06GRF
#else
#define  F06GRF f06grf_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL F06GRF(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR nz,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  CONST Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
zdotci_(retval,nz, x, indx, y)  \
ZDOTCI(retval,nz, x, indx, y) 
#else

#define \
zdotci_(nz, x, indx, y)  \
ZDOTCI(nz, x, indx, y) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  zdotci_ ZDOTCI
#else
#define  ZDOTCI zdotci_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL ZDOTCI(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR nz,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  CONST Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#ifndef RETURN_COMPLEX

#define \
f06gsf_(retval,nz, x, indx, y)  \
F06GSF(retval,nz, x, indx, y) 
#else

#define \
f06gsf_(nz, x, indx, y)  \
F06GSF(nz, x, indx, y) 
#endif

#elif defined (_WIN32) || defined (_WIN64)
#define  f06gsf_ F06GSF
#else
#define  F06GSF f06gsf_
#endif
extern 
#ifndef RETURN_COMPLEX
void
#else
Complex
#endif
 NAG_CALL F06GSF(
#ifndef RETURN_COMPLEX
Complex *retval,
#endif

  CONST Integer REFPTR nz,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  CONST Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zaxpyi_(nz, a, x, indx, y)  \
ZAXPYI(nz, a, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zaxpyi_ ZAXPYI
#else
#define  ZAXPYI zaxpyi_
#endif
extern void NAG_CALL ZAXPYI(
  CONST Integer REFPTR nz,
  CONST Complex REFPTR a,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06gtf_(nz, a, x, indx, y)  \
F06GTF(nz, a, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06gtf_ F06GTF
#else
#define  F06GTF f06gtf_
#endif
extern void NAG_CALL F06GTF(
  CONST Integer REFPTR nz,
  CONST Complex REFPTR a,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgthr_(nz, y, x, indx)  \
ZGTHR(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgthr_ ZGTHR
#else
#define  ZGTHR zgthr_
#endif
extern void NAG_CALL ZGTHR(
  CONST Integer REFPTR nz,
  CONST Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06guf_(nz, y, x, indx)  \
F06GUF(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06guf_ F06GUF
#else
#define  F06GUF f06guf_
#endif
extern void NAG_CALL F06GUF(
  CONST Integer REFPTR nz,
  CONST Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgthrz_(nz, y, x, indx)  \
ZGTHRZ(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgthrz_ ZGTHRZ
#else
#define  ZGTHRZ zgthrz_
#endif
extern void NAG_CALL ZGTHRZ(
  CONST Integer REFPTR nz,
  Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06gvf_(nz, y, x, indx)  \
F06GVF(nz, y, x, indx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06gvf_ F06GVF
#else
#define  F06GVF f06gvf_
#endif
extern void NAG_CALL F06GVF(
  CONST Integer REFPTR nz,
  Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsctr_(nz, x, indx, y)  \
ZSCTR(nz, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsctr_ ZSCTR
#else
#define  ZSCTR zsctr_
#endif
extern void NAG_CALL ZSCTR(
  CONST Integer REFPTR nz,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06gwf_(nz, x, indx, y)  \
F06GWF(nz, x, indx, y) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06gwf_ F06GWF
#else
#define  F06GWF f06gwf_
#endif
extern void NAG_CALL F06GWF(
  CONST Integer REFPTR nz,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer indx[] /* 1 dimension */,
  Complex y[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hbf_(n, con, x, incx)  \
F06HBF(n, con, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hbf_ F06HBF
#else
#define  F06HBF f06hbf_
#endif
extern void NAG_CALL F06HBF(
  CONST Integer REFPTR n,
  CONST Complex REFPTR con,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hcf_(n, d, incd, x, incx)  \
F06HCF(n, d, incd, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hcf_ F06HCF
#else
#define  F06HCF f06hcf_
#endif
extern void NAG_CALL F06HCF(
  CONST Integer REFPTR n,
  CONST Complex d[] /* 1 dimension */,
  CONST Integer REFPTR incd,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hdf_(n, alpha, x, incx, y, incy)  \
F06HDF(n, alpha, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hdf_ F06HDF
#else
#define  F06HDF f06hdf_
#endif
extern void NAG_CALL F06HDF(
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hgf_(n, x, incx)  \
F06HGF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hgf_ F06HGF
#else
#define  F06HGF f06hgf_
#endif
extern void NAG_CALL F06HGF(
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zrot_(n, cx, incx, cy, incy, c, s)  \
ZROT(n, cx, incx, cy, incy, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zrot_ ZROT
#else
#define  ZROT zrot_
#endif
extern void NAG_CALL ZROT(
  CONST Integer REFPTR n,
  Complex cx[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex cy[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST double REFPTR c,
  CONST Complex REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hmf_(n, cx, incx, cy, incy, c, s)  \
F06HMF(n, cx, incx, cy, incy, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hmf_ F06HMF
#else
#define  F06HMF f06hmf_
#endif
extern void NAG_CALL F06HMF(
  CONST Integer REFPTR n,
  Complex cx[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex cy[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST double REFPTR c,
  CONST Complex REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hpf_(n, x, incx, y, incy, c, s)  \
F06HPF(n, x, incx, y, incy, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hpf_ F06HPF
#else
#define  F06HPF f06hpf_
#endif
extern void NAG_CALL F06HPF(
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST Complex REFPTR c,
  CONST Complex REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hqf_(pivot, direct, n, alpha, x, incx, c, s, length_pivot, length_direct)  \
F06HQF(pivot, length_pivot, direct, length_direct, n, alpha, x, incx, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hqf_ F06HQF
#else
#define  F06HQF f06hqf_
#endif
extern void NAG_CALL F06HQF(
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR n,
  Complex REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double c[] /* 1 dimension */,
  Complex s[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06hrf_(n, alpha, x, incx, tol, theta)  \
F06HRF(n, alpha, x, incx, tol, theta) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06hrf_ F06HRF
#else
#define  F06HRF f06hrf_
#endif
extern void NAG_CALL F06HRF(
  CONST Integer REFPTR n,
  Complex REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR tol,
  Complex REFPTR theta
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06htf_(n, delta, y, incy, theta, z, incz)  \
F06HTF(n, delta, y, incy, theta, z, incz) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06htf_ F06HTF
#else
#define  F06HTF f06htf_
#endif
extern void NAG_CALL F06HTF(
  CONST Integer REFPTR n,
  Complex REFPTR delta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST Complex REFPTR theta,
  CONST Complex z[] /* 1 dimension */,
  CONST Integer REFPTR incz
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zdscal_(n, alpha, x, incx)  \
ZDSCAL(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zdscal_ ZDSCAL
#else
#define  ZDSCAL zdscal_
#endif
extern void NAG_CALL ZDSCAL(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06jdf_(n, alpha, x, incx)  \
F06JDF(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06jdf_ F06JDF
#else
#define  F06JDF f06jdf_
#endif
extern void NAG_CALL F06JDF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dznrm2_(n, x, incx)  \
DZNRM2(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dznrm2_ DZNRM2
#else
#define  DZNRM2 dznrm2_
#endif
extern double NAG_CALL DZNRM2(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06jjf_(n, x, incx)  \
F06JJF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06jjf_ F06JJF
#else
#define  F06JJF f06jjf_
#endif
extern double NAG_CALL F06JJF(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dzasum_(n, x, incx)  \
DZASUM(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dzasum_ DZASUM
#else
#define  DZASUM dzasum_
#endif
extern double NAG_CALL DZASUM(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06jkf_(n, x, incx)  \
F06JKF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06jkf_ F06JKF
#else
#define  F06JKF f06jkf_
#endif
extern double NAG_CALL F06JKF(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
idamax_(n, x, incx)  \
IDAMAX(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  idamax_ IDAMAX
#else
#define  IDAMAX idamax_
#endif
extern int NAG_CALL IDAMAX(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06jlf_(n, x, incx)  \
F06JLF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06jlf_ F06JLF
#else
#define  F06JLF f06jlf_
#endif
extern int NAG_CALL F06JLF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
izamax_(n, x, incx)  \
IZAMAX(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  izamax_ IZAMAX
#else
#define  IZAMAX izamax_
#endif
extern int NAG_CALL IZAMAX(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06jmf_(n, x, incx)  \
F06JMF(n, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06jmf_ F06JMF
#else
#define  F06JMF f06jmf_
#endif
extern int NAG_CALL F06JMF(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06kcf_(n, d, incd, x, incx)  \
F06KCF(n, d, incd, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06kcf_ F06KCF
#else
#define  F06KCF f06kcf_
#endif
extern void NAG_CALL F06KCF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST Integer REFPTR incd,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06kdf_(n, alpha, x, incx, y, incy)  \
F06KDF(n, alpha, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06kdf_ F06KDF
#else
#define  F06KDF f06kdf_
#endif
extern void NAG_CALL F06KDF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06kef_(n, alpha, x, incx)  \
F06KEF(n, alpha, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06kef_ F06KEF
#else
#define  F06KEF f06kef_
#endif
extern void NAG_CALL F06KEF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06kff_(n, x, incx, y, incy)  \
F06KFF(n, x, incx, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06kff_ F06KFF
#else
#define  F06KFF f06kff_
#endif
extern void NAG_CALL F06KFF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06kjf_(n, x, incx, scal, sumsq)  \
F06KJF(n, x, incx, scal, sumsq) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06kjf_ F06KJF
#else
#define  F06KJF f06kjf_
#endif
extern void NAG_CALL F06KJF(
  CONST Integer REFPTR n,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double REFPTR scal,
  double REFPTR sumsq
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06klf_(n, x, incx, tol)  \
F06KLF(n, x, incx, tol) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06klf_ F06KLF
#else
#define  F06KLF f06klf_
#endif
extern int NAG_CALL F06KLF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR tol
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06kpf_(n, x, incx, y, incy, c, s)  \
F06KPF(n, x, incx, y, incy, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06kpf_ F06KPF
#else
#define  F06KPF f06kpf_
#endif
extern void NAG_CALL F06KPF(
  CONST Integer REFPTR n,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  CONST double REFPTR c,
  CONST double REFPTR s
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgemv_(trans, m, n, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
DGEMV(trans, length_trans, m, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgemv_ DGEMV
#else
#define  DGEMV dgemv_
#endif
extern void NAG_CALL DGEMV(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06paf_(trans, m, n, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
F06PAF(trans, length_trans, m, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06paf_ F06PAF
#else
#define  F06PAF f06paf_
#endif
extern void NAG_CALL F06PAF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbmv_(trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
DGBMV(trans, length_trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbmv_ DGBMV
#else
#define  DGBMV dgbmv_
#endif
extern void NAG_CALL DGBMV(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pbf_(trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
F06PBF(trans, length_trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pbf_ F06PBF
#else
#define  F06PBF f06pbf_
#endif
extern void NAG_CALL F06PBF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsymv_(uplo, n, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
DSYMV(uplo, length_uplo, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsymv_ DSYMV
#else
#define  DSYMV dsymv_
#endif
extern void NAG_CALL DSYMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pcf_(uplo, n, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
F06PCF(uplo, length_uplo, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pcf_ F06PCF
#else
#define  F06PCF f06pcf_
#endif
extern void NAG_CALL F06PCF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsbmv_(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
DSBMV(uplo, length_uplo, n, k, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbmv_ DSBMV
#else
#define  DSBMV dsbmv_
#endif
extern void NAG_CALL DSBMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pdf_(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
F06PDF(uplo, length_uplo, n, k, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pdf_ F06PDF
#else
#define  F06PDF f06pdf_
#endif
extern void NAG_CALL F06PDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspmv_(uplo, n, alpha, ap, x, incx, beta, y, incy, length_uplo)  \
DSPMV(uplo, length_uplo, n, alpha, ap, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspmv_ DSPMV
#else
#define  DSPMV dspmv_
#endif
extern void NAG_CALL DSPMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double ap[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pef_(uplo, n, alpha, ap, x, incx, beta, y, incy, length_uplo)  \
F06PEF(uplo, length_uplo, n, alpha, ap, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pef_ F06PEF
#else
#define  F06PEF f06pef_
#endif
extern void NAG_CALL F06PEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double ap[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double REFPTR beta,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrmv_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
DTRMV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrmv_ DTRMV
#else
#define  DTRMV dtrmv_
#endif
extern void NAG_CALL DTRMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pff_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06PFF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pff_ F06PFF
#else
#define  F06PFF f06pff_
#endif
extern void NAG_CALL F06PFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtbmv_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
DTBMV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtbmv_ DTBMV
#else
#define  DTBMV dtbmv_
#endif
extern void NAG_CALL DTBMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pgf_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06PGF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pgf_ F06PGF
#else
#define  F06PGF f06pgf_
#endif
extern void NAG_CALL F06PGF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtpmv_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
DTPMV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtpmv_ DTPMV
#else
#define  DTPMV dtpmv_
#endif
extern void NAG_CALL DTPMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06phf_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
F06PHF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06phf_ F06PHF
#else
#define  F06PHF f06phf_
#endif
extern void NAG_CALL F06PHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrsv_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
DTRSV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrsv_ DTRSV
#else
#define  DTRSV dtrsv_
#endif
extern void NAG_CALL DTRSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pjf_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06PJF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pjf_ F06PJF
#else
#define  F06PJF f06pjf_
#endif
extern void NAG_CALL F06PJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtbsv_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
DTBSV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtbsv_ DTBSV
#else
#define  DTBSV dtbsv_
#endif
extern void NAG_CALL DTBSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pkf_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06PKF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pkf_ F06PKF
#else
#define  F06PKF f06pkf_
#endif
extern void NAG_CALL F06PKF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtpsv_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
DTPSV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtpsv_ DTPSV
#else
#define  DTPSV dtpsv_
#endif
extern void NAG_CALL DTPSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06plf_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
F06PLF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06plf_ F06PLF
#else
#define  F06PLF f06plf_
#endif
extern void NAG_CALL F06PLF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dger_(m, n, alpha, x, incx, y, incy, a, lda)  \
DGER(m, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dger_ DGER
#else
#define  DGER dger_
#endif
extern void NAG_CALL DGER(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pmf_(m, n, alpha, x, incx, y, incy, a, lda)  \
F06PMF(m, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pmf_ F06PMF
#else
#define  F06PMF f06pmf_
#endif
extern void NAG_CALL F06PMF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyr_(uplo, n, alpha, x, incx, a, lda, length_uplo)  \
DSYR(uplo, length_uplo, n, alpha, x, incx, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyr_ DSYR
#else
#define  DSYR dsyr_
#endif
extern void NAG_CALL DSYR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ppf_(uplo, n, alpha, x, incx, a, lda, length_uplo)  \
F06PPF(uplo, length_uplo, n, alpha, x, incx, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ppf_ F06PPF
#else
#define  F06PPF f06ppf_
#endif
extern void NAG_CALL F06PPF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspr_(uplo, n, alpha, x, incx, ap, length_uplo)  \
DSPR(uplo, length_uplo, n, alpha, x, incx, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspr_ DSPR
#else
#define  DSPR dspr_
#endif
extern void NAG_CALL DSPR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06pqf_(uplo, n, alpha, x, incx, ap, length_uplo)  \
F06PQF(uplo, length_uplo, n, alpha, x, incx, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06pqf_ F06PQF
#else
#define  F06PQF f06pqf_
#endif
extern void NAG_CALL F06PQF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyr2_(uplo, n, alpha, x, incx, y, incy, a, lda, length_uplo)  \
DSYR2(uplo, length_uplo, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyr2_ DSYR2
#else
#define  DSYR2 dsyr2_
#endif
extern void NAG_CALL DSYR2(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06prf_(uplo, n, alpha, x, incx, y, incy, a, lda, length_uplo)  \
F06PRF(uplo, length_uplo, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06prf_ F06PRF
#else
#define  F06PRF f06prf_
#endif
extern void NAG_CALL F06PRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspr2_(uplo, n, alpha, x, incx, y, incy, ap, length_uplo)  \
DSPR2(uplo, length_uplo, n, alpha, x, incx, y, incy, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspr2_ DSPR2
#else
#define  DSPR2 dspr2_
#endif
extern void NAG_CALL DSPR2(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  double ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06psf_(uplo, n, alpha, x, incx, y, incy, ap, length_uplo)  \
F06PSF(uplo, length_uplo, n, alpha, x, incx, y, incy, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06psf_ F06PSF
#else
#define  F06PSF f06psf_
#endif
extern void NAG_CALL F06PSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  double ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qff_(matrix, m, n, a, lda, b, ldb, length_matrix)  \
F06QFF(matrix, length_matrix, m, n, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qff_ F06QFF
#else
#define  F06QFF f06qff_
#endif
extern void NAG_CALL F06QFF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_matrix
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qhf_(matrix, m, n, con, diag, a, lda, length_matrix)  \
F06QHF(matrix, length_matrix, m, n, con, diag, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qhf_ F06QHF
#else
#define  F06QHF f06qhf_
#endif
extern void NAG_CALL F06QHF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR con,
  CONST double REFPTR diag,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_matrix
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qjf_(side, trans, n, perm, k, b, ldb, length_side, length_trans)  \
F06QJF(side, length_side, trans, length_trans, n, perm, k, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qjf_ F06QJF
#else
#define  F06QJF f06qjf_
#endif
extern void NAG_CALL F06QJF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer perm[] /* 1 dimension */,
  CONST Integer REFPTR k,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qkf_(side, trans, n, perm, k, b, ldb, length_side, length_trans)  \
F06QKF(side, length_side, trans, length_trans, n, perm, k, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qkf_ F06QKF
#else
#define  F06QKF f06qkf_
#endif
extern void NAG_CALL F06QKF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST double perm[] /* 1 dimension */,
  CONST Integer REFPTR k,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qmf_(uplo, pivot, direct, n, k1, k2, c, s, a, lda, length_uplo, length_pivot, length_direct)  \
F06QMF(uplo, length_uplo, pivot, length_pivot, direct, length_direct, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qmf_ F06QMF
#else
#define  F06QMF f06qmf_
#endif
extern void NAG_CALL F06QMF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  CONST double s[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qpf_(n, alpha, x, incx, y, incy, a, lda, c, s)  \
F06QPF(n, alpha, x, incx, y, incy, a, lda, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qpf_ F06QPF
#else
#define  F06QPF f06qpf_
#endif
extern void NAG_CALL F06QPF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double c[] /* 1 dimension */,
  double s[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qqf_(n, alpha, x, incx, a, lda, c, s)  \
F06QQF(n, alpha, x, incx, a, lda, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qqf_ F06QQF
#else
#define  F06QQF f06qqf_
#endif
extern void NAG_CALL F06QQF(
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double c[] /* 1 dimension */,
  double s[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qrf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06QRF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qrf_ F06QRF
#else
#define  F06QRF f06qrf_
#endif
extern void NAG_CALL F06QRF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  double c[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qsf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06QSF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qsf_ F06QSF
#else
#define  F06QSF f06qsf_
#endif
extern void NAG_CALL F06QSF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  double c[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qtf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06QTF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qtf_ F06QTF
#else
#define  F06QTF f06qtf_
#endif
extern void NAG_CALL F06QTF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  double c[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qvf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06QVF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qvf_ F06QVF
#else
#define  F06QVF f06qvf_
#endif
extern void NAG_CALL F06QVF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qwf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06QWF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qwf_ F06QWF
#else
#define  F06QWF f06qwf_
#endif
extern void NAG_CALL F06QWF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06qxf_(side, pivot, direct, m, n, k1, k2, c, s, a, lda, length_side, length_pivot, length_direct)  \
F06QXF(side, length_side, pivot, length_pivot, direct, length_direct, m, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06qxf_ F06QXF
#else
#define  F06QXF f06qxf_
#endif
extern void NAG_CALL F06QXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  CONST double s[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06raf_(norm, m, n, a, lda, work, length_norm)  \
F06RAF(norm, length_norm, m, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06raf_ F06RAF
#else
#define  F06RAF f06raf_
#endif
extern double NAG_CALL F06RAF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rbf_(norm, n, kl, ku, ab, ldab, work, length_norm)  \
F06RBF(norm, length_norm, n, kl, ku, ab, ldab, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rbf_ F06RBF
#else
#define  F06RBF f06rbf_
#endif
extern double NAG_CALL F06RBF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rcf_(norm, uplo, n, a, lda, work, length_norm, length_uplo)  \
F06RCF(norm, length_norm, uplo, length_uplo, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rcf_ F06RCF
#else
#define  F06RCF f06rcf_
#endif
extern double NAG_CALL F06RCF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rdf_(norm, uplo, n, ap, work, length_norm, length_uplo)  \
F06RDF(norm, length_norm, uplo, length_uplo, n, ap, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rdf_ F06RDF
#else
#define  F06RDF f06rdf_
#endif
extern double NAG_CALL F06RDF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ref_(norm, uplo, n, k, ab, ldab, work, length_norm, length_uplo)  \
F06REF(norm, length_norm, uplo, length_uplo, n, k, ab, ldab, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ref_ F06REF
#else
#define  F06REF f06ref_
#endif
extern double NAG_CALL F06REF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rjf_(norm, uplo, diag, m, n, a, lda, work, length_norm, length_uplo, length_diag)  \
F06RJF(norm, length_norm, uplo, length_uplo, diag, length_diag, m, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rjf_ F06RJF
#else
#define  F06RJF f06rjf_
#endif
extern double NAG_CALL F06RJF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rkf_(norm, uplo, diag, n, ap, work, length_norm, length_uplo, length_diag)  \
F06RKF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, ap, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rkf_ F06RKF
#else
#define  F06RKF f06rkf_
#endif
extern double NAG_CALL F06RKF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rlf_(norm, uplo, diag, n, k, ab, ldab, work, length_norm, length_uplo, length_diag)  \
F06RLF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, k, ab, ldab, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rlf_ F06RLF
#else
#define  F06RLF f06rlf_
#endif
extern double NAG_CALL F06RLF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rmf_(norm, n, a, lda, work, length_norm)  \
F06RMF(norm, length_norm, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rmf_ F06RMF
#else
#define  F06RMF f06rmf_
#endif
extern double NAG_CALL F06RMF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rnf_(norm, n, dl, d, du, length_norm)  \
F06RNF(norm, length_norm, n, dl, d, du) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rnf_ F06RNF
#else
#define  F06RNF f06rnf_
#endif
extern double NAG_CALL F06RNF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06rpf_(norm, n, d, e, length_norm)  \
F06RPF(norm, length_norm, n, d, e) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06rpf_ F06RPF
#else
#define  F06RPF f06rpf_
#endif
extern double NAG_CALL F06RPF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgemv_(trans, m, n, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
ZGEMV(trans, length_trans, m, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgemv_ ZGEMV
#else
#define  ZGEMV zgemv_
#endif
extern void NAG_CALL ZGEMV(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06saf_(trans, m, n, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
F06SAF(trans, length_trans, m, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06saf_ F06SAF
#else
#define  F06SAF f06saf_
#endif
extern void NAG_CALL F06SAF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbmv_(trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
ZGBMV(trans, length_trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbmv_ ZGBMV
#else
#define  ZGBMV zgbmv_
#endif
extern void NAG_CALL ZGBMV(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06sbf_(trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy, length_trans)  \
F06SBF(trans, length_trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06sbf_ F06SBF
#else
#define  F06SBF f06sbf_
#endif
extern void NAG_CALL F06SBF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhemv_(uplo, n, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
ZHEMV(uplo, length_uplo, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhemv_ ZHEMV
#else
#define  ZHEMV zhemv_
#endif
extern void NAG_CALL ZHEMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06scf_(uplo, n, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
F06SCF(uplo, length_uplo, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06scf_ F06SCF
#else
#define  F06SCF f06scf_
#endif
extern void NAG_CALL F06SCF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhbmv_(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
ZHBMV(uplo, length_uplo, n, k, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbmv_ ZHBMV
#else
#define  ZHBMV zhbmv_
#endif
extern void NAG_CALL ZHBMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06sdf_(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
F06SDF(uplo, length_uplo, n, k, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06sdf_ F06SDF
#else
#define  F06SDF f06sdf_
#endif
extern void NAG_CALL F06SDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpmv_(uplo, n, alpha, ap, x, incx, beta, y, incy, length_uplo)  \
ZHPMV(uplo, length_uplo, n, alpha, ap, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpmv_ ZHPMV
#else
#define  ZHPMV zhpmv_
#endif
extern void NAG_CALL ZHPMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06sef_(uplo, n, alpha, ap, x, incx, beta, y, incy, length_uplo)  \
F06SEF(uplo, length_uplo, n, alpha, ap, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06sef_ F06SEF
#else
#define  F06SEF f06sef_
#endif
extern void NAG_CALL F06SEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrmv_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
ZTRMV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrmv_ ZTRMV
#else
#define  ZTRMV ztrmv_
#endif
extern void NAG_CALL ZTRMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06sff_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06SFF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06sff_ F06SFF
#else
#define  F06SFF f06sff_
#endif
extern void NAG_CALL F06SFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztbmv_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
ZTBMV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztbmv_ ZTBMV
#else
#define  ZTBMV ztbmv_
#endif
extern void NAG_CALL ZTBMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06sgf_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06SGF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06sgf_ F06SGF
#else
#define  F06SGF f06sgf_
#endif
extern void NAG_CALL F06SGF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztpmv_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
ZTPMV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztpmv_ ZTPMV
#else
#define  ZTPMV ztpmv_
#endif
extern void NAG_CALL ZTPMV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06shf_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
F06SHF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06shf_ F06SHF
#else
#define  F06SHF f06shf_
#endif
extern void NAG_CALL F06SHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrsv_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
ZTRSV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrsv_ ZTRSV
#else
#define  ZTRSV ztrsv_
#endif
extern void NAG_CALL ZTRSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06sjf_(uplo, trans, diag, n, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06SJF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06sjf_ F06SJF
#else
#define  F06SJF f06sjf_
#endif
extern void NAG_CALL F06SJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztbsv_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
ZTBSV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztbsv_ ZTBSV
#else
#define  ZTBSV ztbsv_
#endif
extern void NAG_CALL ZTBSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06skf_(uplo, trans, diag, n, k, a, lda, x, incx, length_uplo, length_trans, length_diag)  \
F06SKF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, k, a, lda, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06skf_ F06SKF
#else
#define  F06SKF f06skf_
#endif
extern void NAG_CALL F06SKF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztpsv_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
ZTPSV(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztpsv_ ZTPSV
#else
#define  ZTPSV ztpsv_
#endif
extern void NAG_CALL ZTPSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06slf_(uplo, trans, diag, n, ap, x, incx, length_uplo, length_trans, length_diag)  \
F06SLF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, ap, x, incx) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06slf_ F06SLF
#else
#define  F06SLF f06slf_
#endif
extern void NAG_CALL F06SLF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeru_(m, n, alpha, x, incx, y, incy, a, lda)  \
ZGERU(m, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeru_ ZGERU
#else
#define  ZGERU zgeru_
#endif
extern void NAG_CALL ZGERU(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06smf_(m, n, alpha, x, incx, y, incy, a, lda)  \
F06SMF(m, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06smf_ F06SMF
#else
#define  F06SMF f06smf_
#endif
extern void NAG_CALL F06SMF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgerc_(m, n, alpha, x, incx, y, incy, a, lda)  \
ZGERC(m, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgerc_ ZGERC
#else
#define  ZGERC zgerc_
#endif
extern void NAG_CALL ZGERC(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06snf_(m, n, alpha, x, incx, y, incy, a, lda)  \
F06SNF(m, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06snf_ F06SNF
#else
#define  F06SNF f06snf_
#endif
extern void NAG_CALL F06SNF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zher_(uplo, n, alpha, x, incx, a, lda, length_uplo)  \
ZHER(uplo, length_uplo, n, alpha, x, incx, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zher_ ZHER
#else
#define  ZHER zher_
#endif
extern void NAG_CALL ZHER(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06spf_(uplo, n, alpha, x, incx, a, lda, length_uplo)  \
F06SPF(uplo, length_uplo, n, alpha, x, incx, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06spf_ F06SPF
#else
#define  F06SPF f06spf_
#endif
extern void NAG_CALL F06SPF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpr_(uplo, n, alpha, x, incx, ap, length_uplo)  \
ZHPR(uplo, length_uplo, n, alpha, x, incx, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpr_ ZHPR
#else
#define  ZHPR zhpr_
#endif
extern void NAG_CALL ZHPR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06sqf_(uplo, n, alpha, x, incx, ap, length_uplo)  \
F06SQF(uplo, length_uplo, n, alpha, x, incx, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06sqf_ F06SQF
#else
#define  F06SQF f06sqf_
#endif
extern void NAG_CALL F06SQF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zher2_(uplo, n, alpha, x, incx, y, incy, a, lda, length_uplo)  \
ZHER2(uplo, length_uplo, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zher2_ ZHER2
#else
#define  ZHER2 zher2_
#endif
extern void NAG_CALL ZHER2(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06srf_(uplo, n, alpha, x, incx, y, incy, a, lda, length_uplo)  \
F06SRF(uplo, length_uplo, n, alpha, x, incx, y, incy, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06srf_ F06SRF
#else
#define  F06SRF f06srf_
#endif
extern void NAG_CALL F06SRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpr2_(uplo, n, alpha, x, incx, y, incy, ap, length_uplo)  \
ZHPR2(uplo, length_uplo, n, alpha, x, incx, y, incy, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpr2_ ZHPR2
#else
#define  ZHPR2 zhpr2_
#endif
extern void NAG_CALL ZHPR2(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ssf_(uplo, n, alpha, x, incx, y, incy, ap, length_uplo)  \
F06SSF(uplo, length_uplo, n, alpha, x, incx, y, incy, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ssf_ F06SSF
#else
#define  F06SSF f06ssf_
#endif
extern void NAG_CALL F06SSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06taf_(uplo, n, alpha, a, lda, x, incx, beta, y, incy, length_uplo)  \
F06TAF(uplo, length_uplo, n, alpha, a, lda, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06taf_ F06TAF
#else
#define  F06TAF f06taf_
#endif
extern void NAG_CALL F06TAF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tbf_(uplo, n, alpha, x, incx, a, lda, length_uplo)  \
F06TBF(uplo, length_uplo, n, alpha, x, incx, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tbf_ F06TBF
#else
#define  F06TBF f06tbf_
#endif
extern void NAG_CALL F06TBF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tcf_(uplo, n, alpha, ap, x, incx, beta, y, incy, length_uplo)  \
F06TCF(uplo, length_uplo, n, alpha, ap, x, incx, beta, y, incy) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tcf_ F06TCF
#else
#define  F06TCF f06tcf_
#endif
extern void NAG_CALL F06TCF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex REFPTR beta,
  Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tdf_(uplo, n, alpha, x, incx, ap, length_uplo)  \
F06TDF(uplo, length_uplo, n, alpha, x, incx, ap) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tdf_ F06TDF
#else
#define  F06TDF f06tdf_
#endif
extern void NAG_CALL F06TDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex ap[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tff_(matrix, m, n, a, lda, b, ldb, length_matrix)  \
F06TFF(matrix, length_matrix, m, n, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tff_ F06TFF
#else
#define  F06TFF f06tff_
#endif
extern void NAG_CALL F06TFF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_matrix
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06thf_(matrix, m, n, con, diag, a, lda, length_matrix)  \
F06THF(matrix, length_matrix, m, n, con, diag, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06thf_ F06THF
#else
#define  F06THF f06thf_
#endif
extern void NAG_CALL F06THF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR con,
  CONST Complex REFPTR diag,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_matrix
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tmf_(uplo, pivot, direct, n, k1, k2, c, s, a, lda, length_uplo, length_pivot, length_direct)  \
F06TMF(uplo, length_uplo, pivot, length_pivot, direct, length_direct, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tmf_ F06TMF
#else
#define  F06TMF f06tmf_
#endif
extern void NAG_CALL F06TMF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  CONST Complex s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tpf_(n, alpha, x, incx, y, incy, a, lda, c, s)  \
F06TPF(n, alpha, x, incx, y, incy, a, lda, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tpf_ F06TPF
#else
#define  F06TPF f06tpf_
#endif
extern void NAG_CALL F06TPF(
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  CONST Complex y[] /* 1 dimension */,
  CONST Integer REFPTR incy,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double c[] /* 1 dimension */,
  Complex s[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tqf_(n, alpha, x, incx, a, lda, c, s)  \
F06TQF(n, alpha, x, incx, a, lda, c, s) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tqf_ F06TQF
#else
#define  F06TQF f06tqf_
#endif
extern void NAG_CALL F06TQF(
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  Complex x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double c[] /* 1 dimension */,
  Complex s[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06trf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06TRF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06trf_ F06TRF
#else
#define  F06TRF f06trf_
#endif
extern void NAG_CALL F06TRF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  Complex c[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tsf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06TSF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tsf_ F06TSF
#else
#define  F06TSF f06tsf_
#endif
extern void NAG_CALL F06TSF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  double c[] /* 1 dimension */,
  Complex s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ttf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06TTF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ttf_ F06TTF
#else
#define  F06TTF f06ttf_
#endif
extern void NAG_CALL F06TTF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  double c[] /* 1 dimension */,
  Complex s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tvf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06TVF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tvf_ F06TVF
#else
#define  F06TVF f06tvf_
#endif
extern void NAG_CALL F06TVF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST Complex c[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06twf_(side, n, k1, k2, c, s, a, lda, length_side)  \
F06TWF(side, length_side, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06twf_ F06TWF
#else
#define  F06TWF f06twf_
#endif
extern void NAG_CALL F06TWF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  Complex s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06txf_(side, pivot, direct, m, n, k1, k2, c, s, a, lda, length_side, length_pivot, length_direct)  \
F06TXF(side, length_side, pivot, length_pivot, direct, length_direct, m, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06txf_ F06TXF
#else
#define  F06TXF f06txf_
#endif
extern void NAG_CALL F06TXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  CONST Complex s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06tyf_(side, pivot, direct, m, n, k1, k2, c, s, a, lda, length_side, length_pivot, length_direct)  \
F06TYF(side, length_side, pivot, length_pivot, direct, length_direct, m, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06tyf_ F06TYF
#else
#define  F06TYF f06tyf_
#endif
extern void NAG_CALL F06TYF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST Complex c[] /* 1 dimension */,
  CONST double s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06uaf_(norm, m, n, a, lda, work, length_norm)  \
F06UAF(norm, length_norm, m, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06uaf_ F06UAF
#else
#define  F06UAF f06uaf_
#endif
extern double NAG_CALL F06UAF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ubf_(norm, n, kl, ku, ab, ldab, work, length_norm)  \
F06UBF(norm, length_norm, n, kl, ku, ab, ldab, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ubf_ F06UBF
#else
#define  F06UBF f06ubf_
#endif
extern double NAG_CALL F06UBF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ucf_(norm, uplo, n, a, lda, work, length_norm, length_uplo)  \
F06UCF(norm, length_norm, uplo, length_uplo, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ucf_ F06UCF
#else
#define  F06UCF f06ucf_
#endif
extern double NAG_CALL F06UCF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06udf_(norm, uplo, n, ap, work, length_norm, length_uplo)  \
F06UDF(norm, length_norm, uplo, length_uplo, n, ap, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06udf_ F06UDF
#else
#define  F06UDF f06udf_
#endif
extern double NAG_CALL F06UDF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06uef_(norm, uplo, n, k, ab, ldab, work, length_norm, length_uplo)  \
F06UEF(norm, length_norm, uplo, length_uplo, n, k, ab, ldab, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06uef_ F06UEF
#else
#define  F06UEF f06uef_
#endif
extern double NAG_CALL F06UEF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06uff_(norm, uplo, n, a, lda, work, length_norm, length_uplo)  \
F06UFF(norm, length_norm, uplo, length_uplo, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06uff_ F06UFF
#else
#define  F06UFF f06uff_
#endif
extern double NAG_CALL F06UFF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ugf_(norm, uplo, n, ap, work, length_norm, length_uplo)  \
F06UGF(norm, length_norm, uplo, length_uplo, n, ap, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ugf_ F06UGF
#else
#define  F06UGF f06ugf_
#endif
extern double NAG_CALL F06UGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06uhf_(norm, uplo, n, k, ab, ldab, work, length_norm, length_uplo)  \
F06UHF(norm, length_norm, uplo, length_uplo, n, k, ab, ldab, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06uhf_ F06UHF
#else
#define  F06UHF f06uhf_
#endif
extern double NAG_CALL F06UHF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ujf_(norm, uplo, diag, m, n, a, lda, work, length_norm, length_uplo, length_diag)  \
F06UJF(norm, length_norm, uplo, length_uplo, diag, length_diag, m, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ujf_ F06UJF
#else
#define  F06UJF f06ujf_
#endif
extern double NAG_CALL F06UJF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ukf_(norm, uplo, diag, n, ap, work, length_norm, length_uplo, length_diag)  \
F06UKF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, ap, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ukf_ F06UKF
#else
#define  F06UKF f06ukf_
#endif
extern double NAG_CALL F06UKF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ulf_(norm, uplo, diag, n, k, ab, ldab, work, length_norm, length_uplo, length_diag)  \
F06ULF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, k, ab, ldab, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ulf_ F06ULF
#else
#define  F06ULF f06ulf_
#endif
extern double NAG_CALL F06ULF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06umf_(norm, n, a, lda, work, length_norm)  \
F06UMF(norm, length_norm, n, a, lda, work) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06umf_ F06UMF
#else
#define  F06UMF f06umf_
#endif
extern double NAG_CALL F06UMF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double work[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06unf_(norm, n, dl, d, du, length_norm)  \
F06UNF(norm, length_norm, n, dl, d, du) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06unf_ F06UNF
#else
#define  F06UNF f06unf_
#endif
extern double NAG_CALL F06UNF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06upf_(norm, n, d, e, length_norm)  \
F06UPF(norm, length_norm, n, d, e) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06upf_ F06UPF
#else
#define  F06UPF f06upf_
#endif
extern double NAG_CALL F06UPF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06vjf_(side, trans, n, perm, k, b, ldb, length_side, length_trans)  \
F06VJF(side, length_side, trans, length_trans, n, perm, k, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06vjf_ F06VJF
#else
#define  F06VJF f06vjf_
#endif
extern void NAG_CALL F06VJF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer perm[] /* 1 dimension */,
  CONST Integer REFPTR k,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06vkf_(side, trans, n, perm, k, b, ldb, length_side, length_trans)  \
F06VKF(side, length_side, trans, length_trans, n, perm, k, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06vkf_ F06VKF
#else
#define  F06VKF f06vkf_
#endif
extern void NAG_CALL F06VKF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST double perm[] /* 1 dimension */,
  CONST Integer REFPTR k,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06vxf_(side, pivot, direct, m, n, k1, k2, c, s, a, lda, length_side, length_pivot, length_direct)  \
F06VXF(side, length_side, pivot, length_pivot, direct, length_direct, m, n, k1, k2, c, s, a, lda) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06vxf_ F06VXF
#else
#define  F06VXF f06vxf_
#endif
extern void NAG_CALL F06VXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * pivot
#ifdef USE_STDCALL
,  CONST Charlen length_pivot
#endif
,
  CONST char * direct
#ifdef USE_STDCALL
,  CONST Charlen length_direct
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k2,
  CONST double c[] /* 1 dimension */,
  CONST double s[] /* 1 dimension */,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_pivot,
 CONST Charlen length_direct
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgemm_(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_transa, length_transb)  \
DGEMM(transa, length_transa, transb, length_transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgemm_ DGEMM
#else
#define  DGEMM dgemm_
#endif
extern void NAG_CALL DGEMM(
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * transb
#ifdef USE_STDCALL
,  CONST Charlen length_transb
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_transa,
 CONST Charlen length_transb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06yaf_(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_transa, length_transb)  \
F06YAF(transa, length_transa, transb, length_transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06yaf_ F06YAF
#else
#define  F06YAF f06yaf_
#endif
extern void NAG_CALL F06YAF(
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * transb
#ifdef USE_STDCALL
,  CONST Charlen length_transb
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_transa,
 CONST Charlen length_transb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsymm_(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc, length_side, length_uplo)  \
DSYMM(side, length_side, uplo, length_uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsymm_ DSYMM
#else
#define  DSYMM dsymm_
#endif
extern void NAG_CALL DSYMM(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ycf_(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc, length_side, length_uplo)  \
F06YCF(side, length_side, uplo, length_uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ycf_ F06YCF
#else
#define  F06YCF f06ycf_
#endif
extern void NAG_CALL F06YCF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrmm_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
DTRMM(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrmm_ DTRMM
#else
#define  DTRMM dtrmm_
#endif
extern void NAG_CALL DTRMM(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06yff_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
F06YFF(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06yff_ F06YFF
#else
#define  F06YFF f06yff_
#endif
extern void NAG_CALL F06YFF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrsm_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
DTRSM(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrsm_ DTRSM
#else
#define  DTRSM dtrsm_
#endif
extern void NAG_CALL DTRSM(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06yjf_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
F06YJF(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06yjf_ F06YJF
#else
#define  F06YJF f06yjf_
#endif
extern void NAG_CALL F06YJF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyrk_(uplo, trans, n, k, alpha, a, lda, beta, c, ldc, length_uplo, length_trans)  \
DSYRK(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyrk_ DSYRK
#else
#define  DSYRK dsyrk_
#endif
extern void NAG_CALL DSYRK(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ypf_(uplo, trans, n, k, alpha, a, lda, beta, c, ldc, length_uplo, length_trans)  \
F06YPF(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ypf_ F06YPF
#else
#define  F06YPF f06ypf_
#endif
extern void NAG_CALL F06YPF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyr2k_(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_uplo, length_trans)  \
DSYR2K(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyr2k_ DSYR2K
#else
#define  DSYR2K dsyr2k_
#endif
extern void NAG_CALL DSYR2K(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06yrf_(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_uplo, length_trans)  \
F06YRF(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06yrf_ F06YRF
#else
#define  F06YRF f06yrf_
#endif
extern void NAG_CALL F06YRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgemm_(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_transa, length_transb)  \
ZGEMM(transa, length_transa, transb, length_transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgemm_ ZGEMM
#else
#define  ZGEMM zgemm_
#endif
extern void NAG_CALL ZGEMM(
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * transb
#ifdef USE_STDCALL
,  CONST Charlen length_transb
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_transa,
 CONST Charlen length_transb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zaf_(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_transa, length_transb)  \
F06ZAF(transa, length_transa, transb, length_transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zaf_ F06ZAF
#else
#define  F06ZAF f06zaf_
#endif
extern void NAG_CALL F06ZAF(
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * transb
#ifdef USE_STDCALL
,  CONST Charlen length_transb
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_transa,
 CONST Charlen length_transb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhemm_(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc, length_side, length_uplo)  \
ZHEMM(side, length_side, uplo, length_uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhemm_ ZHEMM
#else
#define  ZHEMM zhemm_
#endif
extern void NAG_CALL ZHEMM(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zcf_(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc, length_side, length_uplo)  \
F06ZCF(side, length_side, uplo, length_uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zcf_ F06ZCF
#else
#define  F06ZCF f06zcf_
#endif
extern void NAG_CALL F06ZCF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrmm_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
ZTRMM(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrmm_ ZTRMM
#else
#define  ZTRMM ztrmm_
#endif
extern void NAG_CALL ZTRMM(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zff_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
F06ZFF(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zff_ F06ZFF
#else
#define  F06ZFF f06zff_
#endif
extern void NAG_CALL F06ZFF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrsm_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
ZTRSM(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrsm_ ZTRSM
#else
#define  ZTRSM ztrsm_
#endif
extern void NAG_CALL ZTRSM(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zjf_(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, length_side, length_uplo, length_transa, length_diag)  \
F06ZJF(side, length_side, uplo, length_uplo, transa, length_transa, diag, length_diag, m, n, alpha, a, lda, b, ldb) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zjf_ F06ZJF
#else
#define  F06ZJF f06zjf_
#endif
extern void NAG_CALL F06ZJF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * transa
#ifdef USE_STDCALL
,  CONST Charlen length_transa
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_transa,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zherk_(uplo, trans, n, k, alpha, a, lda, beta, c, ldc, length_uplo, length_trans)  \
ZHERK(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zherk_ ZHERK
#else
#define  ZHERK zherk_
#endif
extern void NAG_CALL ZHERK(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zpf_(uplo, trans, n, k, alpha, a, lda, beta, c, ldc, length_uplo, length_trans)  \
F06ZPF(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zpf_ F06ZPF
#else
#define  F06ZPF f06zpf_
#endif
extern void NAG_CALL F06ZPF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zher2k_(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_uplo, length_trans)  \
ZHER2K(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zher2k_ ZHER2K
#else
#define  ZHER2K zher2k_
#endif
extern void NAG_CALL ZHER2K(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zrf_(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_uplo, length_trans)  \
F06ZRF(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zrf_ F06ZRF
#else
#define  F06ZRF f06zrf_
#endif
extern void NAG_CALL F06ZRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsymm_(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc, length_side, length_uplo)  \
ZSYMM(side, length_side, uplo, length_uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsymm_ ZSYMM
#else
#define  ZSYMM zsymm_
#endif
extern void NAG_CALL ZSYMM(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06ztf_(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc, length_side, length_uplo)  \
F06ZTF(side, length_side, uplo, length_uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06ztf_ F06ZTF
#else
#define  F06ZTF f06ztf_
#endif
extern void NAG_CALL F06ZTF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsyrk_(uplo, trans, n, k, alpha, a, lda, beta, c, ldc, length_uplo, length_trans)  \
ZSYRK(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsyrk_ ZSYRK
#else
#define  ZSYRK zsyrk_
#endif
extern void NAG_CALL ZSYRK(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zuf_(uplo, trans, n, k, alpha, a, lda, beta, c, ldc, length_uplo, length_trans)  \
F06ZUF(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zuf_ F06ZUF
#else
#define  F06ZUF f06zuf_
#endif
extern void NAG_CALL F06ZUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsyr2k_(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_uplo, length_trans)  \
ZSYR2K(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsyr2k_ ZSYR2K
#else
#define  ZSYR2K zsyr2k_
#endif
extern void NAG_CALL ZSYR2K(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f06zwf_(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc, length_uplo, length_trans)  \
F06ZWF(uplo, length_uplo, trans, length_trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f06zwf_ F06ZWF
#else
#define  F06ZWF f06zwf_
#endif
extern void NAG_CALL F06ZWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Complex REFPTR alpha,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex REFPTR beta,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgesv_(n, nrhs, a, lda, ipiv, b, ldb, info)  \
DGESV(n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgesv_ DGESV
#else
#define  DGESV dgesv_
#endif
extern void NAG_CALL DGESV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07aaf_(n, nrhs, a, lda, ipiv, b, ldb, info)  \
F07AAF(n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07aaf_ F07AAF
#else
#define  F07AAF f07aaf_
#endif
extern void NAG_CALL F07AAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgesvx_(fact, trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_trans, length_equed)  \
DGESVX(fact, length_fact, trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgesvx_ DGESVX
#else
#define  DGESVX dgesvx_
#endif
extern void NAG_CALL DGESVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07abf_(fact, trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_trans, length_equed)  \
F07ABF(fact, length_fact, trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07abf_ F07ABF
#else
#define  F07ABF f07abf_
#endif
extern void NAG_CALL F07ABF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsgesv_(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info)  \
DSGESV(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsgesv_ DSGESV
#else
#define  DSGESV dsgesv_
#endif
extern void NAG_CALL DSGESV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double work[] /* 1 dimension */,
  float swork[] /* 1 dimension */,
  Integer REFPTR iter,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07acf_(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info)  \
F07ACF(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07acf_ F07ACF
#else
#define  F07ACF f07acf_
#endif
extern void NAG_CALL F07ACF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double work[] /* 1 dimension */,
  float swork[] /* 1 dimension */,
  Integer REFPTR iter,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgetrf_(m, n, a, lda, ipiv, info)  \
DGETRF(m, n, a, lda, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgetrf_ DGETRF
#else
#define  DGETRF dgetrf_
#endif
extern void NAG_CALL DGETRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07adf_(m, n, a, lda, ipiv, info)  \
F07ADF(m, n, a, lda, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07adf_ F07ADF
#else
#define  F07ADF f07adf_
#endif
extern void NAG_CALL F07ADF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgetrs_(trans, n, nrhs, a, lda, ipiv, b, ldb, info, length_trans)  \
DGETRS(trans, length_trans, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgetrs_ DGETRS
#else
#define  DGETRS dgetrs_
#endif
extern void NAG_CALL DGETRS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07aef_(trans, n, nrhs, a, lda, ipiv, b, ldb, info, length_trans)  \
F07AEF(trans, length_trans, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07aef_ F07AEF
#else
#define  F07AEF f07aef_
#endif
extern void NAG_CALL F07AEF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeequ_(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)  \
DGEEQU(m, n, a, lda, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeequ_ DGEEQU
#else
#define  DGEEQU dgeequ_
#endif
extern void NAG_CALL DGEEQU(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07aff_(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)  \
F07AFF(m, n, a, lda, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07aff_ F07AFF
#else
#define  F07AFF f07aff_
#endif
extern void NAG_CALL F07AFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgecon_(norm, n, a, lda, anorm, rcond, work, iwork, info, length_norm)  \
DGECON(norm, length_norm, n, a, lda, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgecon_ DGECON
#else
#define  DGECON dgecon_
#endif
extern void NAG_CALL DGECON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07agf_(norm, n, a, lda, anorm, rcond, work, iwork, info, length_norm)  \
F07AGF(norm, length_norm, n, a, lda, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07agf_ F07AGF
#else
#define  F07AGF f07agf_
#endif
extern void NAG_CALL F07AGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgerfs_(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_trans)  \
DGERFS(trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgerfs_ DGERFS
#else
#define  DGERFS dgerfs_
#endif
extern void NAG_CALL DGERFS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ahf_(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_trans)  \
F07AHF(trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ahf_ F07AHF
#else
#define  F07AHF f07ahf_
#endif
extern void NAG_CALL F07AHF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgetri_(n, a, lda, ipiv, work, lwork, info)  \
DGETRI(n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgetri_ DGETRI
#else
#define  DGETRI dgetri_
#endif
extern void NAG_CALL DGETRI(
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ajf_(n, a, lda, ipiv, work, lwork, info)  \
F07AJF(n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ajf_ F07AJF
#else
#define  F07AJF f07ajf_
#endif
extern void NAG_CALL F07AJF(
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgesv_(n, nrhs, a, lda, ipiv, b, ldb, info)  \
ZGESV(n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgesv_ ZGESV
#else
#define  ZGESV zgesv_
#endif
extern void NAG_CALL ZGESV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07anf_(n, nrhs, a, lda, ipiv, b, ldb, info)  \
F07ANF(n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07anf_ F07ANF
#else
#define  F07ANF f07anf_
#endif
extern void NAG_CALL F07ANF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgesvx_(fact, trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_trans, length_equed)  \
ZGESVX(fact, length_fact, trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgesvx_ ZGESVX
#else
#define  ZGESVX zgesvx_
#endif
extern void NAG_CALL ZGESVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07apf_(fact, trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_trans, length_equed)  \
F07APF(fact, length_fact, trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07apf_ F07APF
#else
#define  F07APF f07apf_
#endif
extern void NAG_CALL F07APF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zcgesv_(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info)  \
ZCGESV(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zcgesv_ ZCGESV
#else
#define  ZCGESV zcgesv_
#endif
extern void NAG_CALL ZCGESV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Complex work[] /* 1 dimension */,
  Complexf swork[] /* 1 dimension */,
  Integer REFPTR iter,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07aqf_(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info)  \
F07AQF(n, nrhs, a, lda, ipiv, b, ldb, x, ldx, work, swork, iter, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07aqf_ F07AQF
#else
#define  F07AQF f07aqf_
#endif
extern void NAG_CALL F07AQF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Complex work[] /* 1 dimension */,
  Complexf swork[] /* 1 dimension */,
  Integer REFPTR iter,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgetrf_(m, n, a, lda, ipiv, info)  \
ZGETRF(m, n, a, lda, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgetrf_ ZGETRF
#else
#define  ZGETRF zgetrf_
#endif
extern void NAG_CALL ZGETRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07arf_(m, n, a, lda, ipiv, info)  \
F07ARF(m, n, a, lda, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07arf_ F07ARF
#else
#define  F07ARF f07arf_
#endif
extern void NAG_CALL F07ARF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgetrs_(trans, n, nrhs, a, lda, ipiv, b, ldb, info, length_trans)  \
ZGETRS(trans, length_trans, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgetrs_ ZGETRS
#else
#define  ZGETRS zgetrs_
#endif
extern void NAG_CALL ZGETRS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07asf_(trans, n, nrhs, a, lda, ipiv, b, ldb, info, length_trans)  \
F07ASF(trans, length_trans, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07asf_ F07ASF
#else
#define  F07ASF f07asf_
#endif
extern void NAG_CALL F07ASF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeequ_(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)  \
ZGEEQU(m, n, a, lda, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeequ_ ZGEEQU
#else
#define  ZGEEQU zgeequ_
#endif
extern void NAG_CALL ZGEEQU(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07atf_(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)  \
F07ATF(m, n, a, lda, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07atf_ F07ATF
#else
#define  F07ATF f07atf_
#endif
extern void NAG_CALL F07ATF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgecon_(norm, n, a, lda, anorm, rcond, work, rwork, info, length_norm)  \
ZGECON(norm, length_norm, n, a, lda, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgecon_ ZGECON
#else
#define  ZGECON zgecon_
#endif
extern void NAG_CALL ZGECON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07auf_(norm, n, a, lda, anorm, rcond, work, rwork, info, length_norm)  \
F07AUF(norm, length_norm, n, a, lda, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07auf_ F07AUF
#else
#define  F07AUF f07auf_
#endif
extern void NAG_CALL F07AUF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgerfs_(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_trans)  \
ZGERFS(trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgerfs_ ZGERFS
#else
#define  ZGERFS zgerfs_
#endif
extern void NAG_CALL ZGERFS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07avf_(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_trans)  \
F07AVF(trans, length_trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07avf_ F07AVF
#else
#define  F07AVF f07avf_
#endif
extern void NAG_CALL F07AVF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgetri_(n, a, lda, ipiv, work, lwork, info)  \
ZGETRI(n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgetri_ ZGETRI
#else
#define  ZGETRI zgetri_
#endif
extern void NAG_CALL ZGETRI(
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07awf_(n, a, lda, ipiv, work, lwork, info)  \
F07AWF(n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07awf_ F07AWF
#else
#define  F07AWF f07awf_
#endif
extern void NAG_CALL F07AWF(
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbsv_(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)  \
DGBSV(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbsv_ DGBSV
#else
#define  DGBSV dgbsv_
#endif
extern void NAG_CALL DGBSV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07baf_(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)  \
F07BAF(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07baf_ F07BAF
#else
#define  F07BAF f07baf_
#endif
extern void NAG_CALL F07BAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbsvx_(fact, trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_trans, length_equed)  \
DGBSVX(fact, length_fact, trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbsvx_ DGBSVX
#else
#define  DGBSVX dgbsvx_
#endif
extern void NAG_CALL DGBSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bbf_(fact, trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_trans, length_equed)  \
F07BBF(fact, length_fact, trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bbf_ F07BBF
#else
#define  F07BBF f07bbf_
#endif
extern void NAG_CALL F07BBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbtrf_(m, n, kl, ku, ab, ldab, ipiv, info)  \
DGBTRF(m, n, kl, ku, ab, ldab, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbtrf_ DGBTRF
#else
#define  DGBTRF dgbtrf_
#endif
extern void NAG_CALL DGBTRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bdf_(m, n, kl, ku, ab, ldab, ipiv, info)  \
F07BDF(m, n, kl, ku, ab, ldab, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bdf_ F07BDF
#else
#define  F07BDF f07bdf_
#endif
extern void NAG_CALL F07BDF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbtrs_(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info, length_trans)  \
DGBTRS(trans, length_trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbtrs_ DGBTRS
#else
#define  DGBTRS dgbtrs_
#endif
extern void NAG_CALL DGBTRS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bef_(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info, length_trans)  \
F07BEF(trans, length_trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bef_ F07BEF
#else
#define  F07BEF f07bef_
#endif
extern void NAG_CALL F07BEF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbequ_(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)  \
DGBEQU(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbequ_ DGBEQU
#else
#define  DGBEQU dgbequ_
#endif
extern void NAG_CALL DGBEQU(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bff_(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)  \
F07BFF(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bff_ F07BFF
#else
#define  F07BFF f07bff_
#endif
extern void NAG_CALL F07BFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbcon_(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, iwork, info, length_norm)  \
DGBCON(norm, length_norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbcon_ DGBCON
#else
#define  DGBCON dgbcon_
#endif
extern void NAG_CALL DGBCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bgf_(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, iwork, info, length_norm)  \
F07BGF(norm, length_norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bgf_ F07BGF
#else
#define  F07BGF f07bgf_
#endif
extern void NAG_CALL F07BGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbrfs_(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_trans)  \
DGBRFS(trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbrfs_ DGBRFS
#else
#define  DGBRFS dgbrfs_
#endif
extern void NAG_CALL DGBRFS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bhf_(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_trans)  \
F07BHF(trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bhf_ F07BHF
#else
#define  F07BHF f07bhf_
#endif
extern void NAG_CALL F07BHF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbsv_(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)  \
ZGBSV(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbsv_ ZGBSV
#else
#define  ZGBSV zgbsv_
#endif
extern void NAG_CALL ZGBSV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bnf_(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)  \
F07BNF(n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bnf_ F07BNF
#else
#define  F07BNF f07bnf_
#endif
extern void NAG_CALL F07BNF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbsvx_(fact, trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_trans, length_equed)  \
ZGBSVX(fact, length_fact, trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbsvx_ ZGBSVX
#else
#define  ZGBSVX zgbsvx_
#endif
extern void NAG_CALL ZGBSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bpf_(fact, trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_trans, length_equed)  \
F07BPF(fact, length_fact, trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, equed, length_equed, r, c, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bpf_ F07BPF
#else
#define  F07BPF f07bpf_
#endif
extern void NAG_CALL F07BPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  Integer ipiv[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbtrf_(m, n, kl, ku, ab, ldab, ipiv, info)  \
ZGBTRF(m, n, kl, ku, ab, ldab, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbtrf_ ZGBTRF
#else
#define  ZGBTRF zgbtrf_
#endif
extern void NAG_CALL ZGBTRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07brf_(m, n, kl, ku, ab, ldab, ipiv, info)  \
F07BRF(m, n, kl, ku, ab, ldab, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07brf_ F07BRF
#else
#define  F07BRF f07brf_
#endif
extern void NAG_CALL F07BRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbtrs_(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info, length_trans)  \
ZGBTRS(trans, length_trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbtrs_ ZGBTRS
#else
#define  ZGBTRS zgbtrs_
#endif
extern void NAG_CALL ZGBTRS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bsf_(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info, length_trans)  \
F07BSF(trans, length_trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bsf_ F07BSF
#else
#define  F07BSF f07bsf_
#endif
extern void NAG_CALL F07BSF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbequ_(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)  \
ZGBEQU(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbequ_ ZGBEQU
#else
#define  ZGBEQU zgbequ_
#endif
extern void NAG_CALL ZGBEQU(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07btf_(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)  \
F07BTF(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07btf_ F07BTF
#else
#define  F07BTF f07btf_
#endif
extern void NAG_CALL F07BTF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double r[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  double REFPTR rowcnd,
  double REFPTR colcnd,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbcon_(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info, length_norm)  \
ZGBCON(norm, length_norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbcon_ ZGBCON
#else
#define  ZGBCON zgbcon_
#endif
extern void NAG_CALL ZGBCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07buf_(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info, length_norm)  \
F07BUF(norm, length_norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07buf_ F07BUF
#else
#define  F07BUF f07buf_
#endif
extern void NAG_CALL F07BUF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbrfs_(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_trans)  \
ZGBRFS(trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbrfs_ ZGBRFS
#else
#define  ZGBRFS zgbrfs_
#endif
extern void NAG_CALL ZGBRFS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07bvf_(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_trans)  \
F07BVF(trans, length_trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07bvf_ F07BVF
#else
#define  F07BVF f07bvf_
#endif
extern void NAG_CALL F07BVF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgtsv_(n, nrhs, dl, d, du, b, ldb, info)  \
DGTSV(n, nrhs, dl, d, du, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgtsv_ DGTSV
#else
#define  DGTSV dgtsv_
#endif
extern void NAG_CALL DGTSV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double dl[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double du[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07caf_(n, nrhs, dl, d, du, b, ldb, info)  \
F07CAF(n, nrhs, dl, d, du, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07caf_ F07CAF
#else
#define  F07CAF f07caf_
#endif
extern void NAG_CALL F07CAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double dl[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double du[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgtsvx_(fact, trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_trans)  \
DGTSVX(fact, length_fact, trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgtsvx_ DGTSVX
#else
#define  DGTSVX dgtsvx_
#endif
extern void NAG_CALL DGTSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  double dlf[] /* 1 dimension */,
  double df[] /* 1 dimension */,
  double duf[] /* 1 dimension */,
  double du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cbf_(fact, trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_trans)  \
F07CBF(fact, length_fact, trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cbf_ F07CBF
#else
#define  F07CBF f07cbf_
#endif
extern void NAG_CALL F07CBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  double dlf[] /* 1 dimension */,
  double df[] /* 1 dimension */,
  double duf[] /* 1 dimension */,
  double du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgttrf_(n, dl, d, du, du2, ipiv, info)  \
DGTTRF(n, dl, d, du, du2, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgttrf_ DGTTRF
#else
#define  DGTTRF dgttrf_
#endif
extern void NAG_CALL DGTTRF(
  CONST Integer REFPTR n,
  double dl[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double du[] /* 1 dimension */,
  double du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cdf_(n, dl, d, du, du2, ipiv, info)  \
F07CDF(n, dl, d, du, du2, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cdf_ F07CDF
#else
#define  F07CDF f07cdf_
#endif
extern void NAG_CALL F07CDF(
  CONST Integer REFPTR n,
  double dl[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double du[] /* 1 dimension */,
  double du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgttrs_(trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info, length_trans)  \
DGTTRS(trans, length_trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgttrs_ DGTTRS
#else
#define  DGTTRS dgttrs_
#endif
extern void NAG_CALL DGTTRS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  CONST double du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cef_(trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info, length_trans)  \
F07CEF(trans, length_trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cef_ F07CEF
#else
#define  F07CEF f07cef_
#endif
extern void NAG_CALL F07CEF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  CONST double du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgtcon_(norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, iwork, info, length_norm)  \
DGTCON(norm, length_norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgtcon_ DGTCON
#else
#define  DGTCON dgtcon_
#endif
extern void NAG_CALL DGTCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  CONST double du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cgf_(norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, iwork, info, length_norm)  \
F07CGF(norm, length_norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cgf_ F07CGF
#else
#define  F07CGF f07cgf_
#endif
extern void NAG_CALL F07CGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  CONST double du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgtrfs_(trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_trans)  \
DGTRFS(trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgtrfs_ DGTRFS
#else
#define  DGTRFS dgtrfs_
#endif
extern void NAG_CALL DGTRFS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  CONST double dlf[] /* 1 dimension */,
  CONST double df[] /* 1 dimension */,
  CONST double duf[] /* 1 dimension */,
  CONST double du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07chf_(trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_trans)  \
F07CHF(trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07chf_ F07CHF
#else
#define  F07CHF f07chf_
#endif
extern void NAG_CALL F07CHF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double dl[] /* 1 dimension */,
  CONST double d[] /* 1 dimension */,
  CONST double du[] /* 1 dimension */,
  CONST double dlf[] /* 1 dimension */,
  CONST double df[] /* 1 dimension */,
  CONST double duf[] /* 1 dimension */,
  CONST double du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgtsv_(n, nrhs, dl, d, du, b, ldb, info)  \
ZGTSV(n, nrhs, dl, d, du, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgtsv_ ZGTSV
#else
#define  ZGTSV zgtsv_
#endif
extern void NAG_CALL ZGTSV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex dl[] /* 1 dimension */,
  Complex d[] /* 1 dimension */,
  Complex du[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cnf_(n, nrhs, dl, d, du, b, ldb, info)  \
F07CNF(n, nrhs, dl, d, du, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cnf_ F07CNF
#else
#define  F07CNF f07cnf_
#endif
extern void NAG_CALL F07CNF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex dl[] /* 1 dimension */,
  Complex d[] /* 1 dimension */,
  Complex du[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgtsvx_(fact, trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_trans)  \
ZGTSVX(fact, length_fact, trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgtsvx_ ZGTSVX
#else
#define  ZGTSVX zgtsvx_
#endif
extern void NAG_CALL ZGTSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  Complex dlf[] /* 1 dimension */,
  Complex df[] /* 1 dimension */,
  Complex duf[] /* 1 dimension */,
  Complex du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cpf_(fact, trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_trans)  \
F07CPF(fact, length_fact, trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cpf_ F07CPF
#else
#define  F07CPF f07cpf_
#endif
extern void NAG_CALL F07CPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  Complex dlf[] /* 1 dimension */,
  Complex df[] /* 1 dimension */,
  Complex duf[] /* 1 dimension */,
  Complex du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgttrf_(n, dl, d, du, du2, ipiv, info)  \
ZGTTRF(n, dl, d, du, du2, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgttrf_ ZGTTRF
#else
#define  ZGTTRF zgttrf_
#endif
extern void NAG_CALL ZGTTRF(
  CONST Integer REFPTR n,
  Complex dl[] /* 1 dimension */,
  Complex d[] /* 1 dimension */,
  Complex du[] /* 1 dimension */,
  Complex du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07crf_(n, dl, d, du, du2, ipiv, info)  \
F07CRF(n, dl, d, du, du2, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07crf_ F07CRF
#else
#define  F07CRF f07crf_
#endif
extern void NAG_CALL F07CRF(
  CONST Integer REFPTR n,
  Complex dl[] /* 1 dimension */,
  Complex d[] /* 1 dimension */,
  Complex du[] /* 1 dimension */,
  Complex du2[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgttrs_(trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info, length_trans)  \
ZGTTRS(trans, length_trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgttrs_ ZGTTRS
#else
#define  ZGTTRS zgttrs_
#endif
extern void NAG_CALL ZGTTRS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  CONST Complex du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07csf_(trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info, length_trans)  \
F07CSF(trans, length_trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07csf_ F07CSF
#else
#define  F07CSF f07csf_
#endif
extern void NAG_CALL F07CSF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  CONST Complex du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgtcon_(norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, info, length_norm)  \
ZGTCON(norm, length_norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgtcon_ ZGTCON
#else
#define  ZGTCON zgtcon_
#endif
extern void NAG_CALL ZGTCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  CONST Complex du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cuf_(norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, info, length_norm)  \
F07CUF(norm, length_norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cuf_ F07CUF
#else
#define  F07CUF f07cuf_
#endif
extern void NAG_CALL F07CUF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  CONST Complex du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgtrfs_(trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_trans)  \
ZGTRFS(trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgtrfs_ ZGTRFS
#else
#define  ZGTRFS zgtrfs_
#endif
extern void NAG_CALL ZGTRFS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  CONST Complex dlf[] /* 1 dimension */,
  CONST Complex df[] /* 1 dimension */,
  CONST Complex duf[] /* 1 dimension */,
  CONST Complex du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07cvf_(trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_trans)  \
F07CVF(trans, length_trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07cvf_ F07CVF
#else
#define  F07CVF f07cvf_
#endif
extern void NAG_CALL F07CVF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex dl[] /* 1 dimension */,
  CONST Complex d[] /* 1 dimension */,
  CONST Complex du[] /* 1 dimension */,
  CONST Complex dlf[] /* 1 dimension */,
  CONST Complex df[] /* 1 dimension */,
  CONST Complex duf[] /* 1 dimension */,
  CONST Complex du2[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dposv_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
DPOSV(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dposv_ DPOSV
#else
#define  DPOSV dposv_
#endif
extern void NAG_CALL DPOSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07faf_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
F07FAF(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07faf_ F07FAF
#else
#define  F07FAF f07faf_
#endif
extern void NAG_CALL F07FAF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dposvx_(fact, uplo, n, nrhs, a, lda, af, ldaf, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo, length_equed)  \
DPOSVX(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dposvx_ DPOSVX
#else
#define  DPOSVX dposvx_
#endif
extern void NAG_CALL DPOSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fbf_(fact, uplo, n, nrhs, a, lda, af, ldaf, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo, length_equed)  \
F07FBF(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fbf_ F07FBF
#else
#define  F07FBF f07fbf_
#endif
extern void NAG_CALL F07FBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpotrf_(uplo, n, a, lda, info, length_uplo)  \
DPOTRF(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpotrf_ DPOTRF
#else
#define  DPOTRF dpotrf_
#endif
extern void NAG_CALL DPOTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fdf_(uplo, n, a, lda, info, length_uplo)  \
F07FDF(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fdf_ F07FDF
#else
#define  F07FDF f07fdf_
#endif
extern void NAG_CALL F07FDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpotrs_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
DPOTRS(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpotrs_ DPOTRS
#else
#define  DPOTRS dpotrs_
#endif
extern void NAG_CALL DPOTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fef_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
F07FEF(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fef_ F07FEF
#else
#define  F07FEF f07fef_
#endif
extern void NAG_CALL F07FEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpoequ_(n, a, lda, s, scond, amax, info)  \
DPOEQU(n, a, lda, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpoequ_ DPOEQU
#else
#define  DPOEQU dpoequ_
#endif
extern void NAG_CALL DPOEQU(
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fff_(n, a, lda, s, scond, amax, info)  \
F07FFF(n, a, lda, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fff_ F07FFF
#else
#define  F07FFF f07fff_
#endif
extern void NAG_CALL F07FFF(
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpocon_(uplo, n, a, lda, anorm, rcond, work, iwork, info, length_uplo)  \
DPOCON(uplo, length_uplo, n, a, lda, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpocon_ DPOCON
#else
#define  DPOCON dpocon_
#endif
extern void NAG_CALL DPOCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fgf_(uplo, n, a, lda, anorm, rcond, work, iwork, info, length_uplo)  \
F07FGF(uplo, length_uplo, n, a, lda, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fgf_ F07FGF
#else
#define  F07FGF f07fgf_
#endif
extern void NAG_CALL F07FGF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dporfs_(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
DPORFS(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dporfs_ DPORFS
#else
#define  DPORFS dporfs_
#endif
extern void NAG_CALL DPORFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fhf_(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
F07FHF(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fhf_ F07FHF
#else
#define  F07FHF f07fhf_
#endif
extern void NAG_CALL F07FHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpotri_(uplo, n, a, lda, info, length_uplo)  \
DPOTRI(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpotri_ DPOTRI
#else
#define  DPOTRI dpotri_
#endif
extern void NAG_CALL DPOTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fjf_(uplo, n, a, lda, info, length_uplo)  \
F07FJF(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fjf_ F07FJF
#else
#define  F07FJF f07fjf_
#endif
extern void NAG_CALL F07FJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zposv_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
ZPOSV(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zposv_ ZPOSV
#else
#define  ZPOSV zposv_
#endif
extern void NAG_CALL ZPOSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fnf_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
F07FNF(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fnf_ F07FNF
#else
#define  F07FNF f07fnf_
#endif
extern void NAG_CALL F07FNF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zposvx_(fact, uplo, n, nrhs, a, lda, af, ldaf, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo, length_equed)  \
ZPOSVX(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zposvx_ ZPOSVX
#else
#define  ZPOSVX zposvx_
#endif
extern void NAG_CALL ZPOSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fpf_(fact, uplo, n, nrhs, a, lda, af, ldaf, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo, length_equed)  \
F07FPF(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fpf_ F07FPF
#else
#define  F07FPF f07fpf_
#endif
extern void NAG_CALL F07FPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpotrf_(uplo, n, a, lda, info, length_uplo)  \
ZPOTRF(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpotrf_ ZPOTRF
#else
#define  ZPOTRF zpotrf_
#endif
extern void NAG_CALL ZPOTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07frf_(uplo, n, a, lda, info, length_uplo)  \
F07FRF(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07frf_ F07FRF
#else
#define  F07FRF f07frf_
#endif
extern void NAG_CALL F07FRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpotrs_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
ZPOTRS(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpotrs_ ZPOTRS
#else
#define  ZPOTRS zpotrs_
#endif
extern void NAG_CALL ZPOTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fsf_(uplo, n, nrhs, a, lda, b, ldb, info, length_uplo)  \
F07FSF(uplo, length_uplo, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fsf_ F07FSF
#else
#define  F07FSF f07fsf_
#endif
extern void NAG_CALL F07FSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpoequ_(n, a, lda, s, scond, amax, info)  \
ZPOEQU(n, a, lda, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpoequ_ ZPOEQU
#else
#define  ZPOEQU zpoequ_
#endif
extern void NAG_CALL ZPOEQU(
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ftf_(n, a, lda, s, scond, amax, info)  \
F07FTF(n, a, lda, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ftf_ F07FTF
#else
#define  F07FTF f07ftf_
#endif
extern void NAG_CALL F07FTF(
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpocon_(uplo, n, a, lda, anorm, rcond, work, rwork, info, length_uplo)  \
ZPOCON(uplo, length_uplo, n, a, lda, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpocon_ ZPOCON
#else
#define  ZPOCON zpocon_
#endif
extern void NAG_CALL ZPOCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fuf_(uplo, n, a, lda, anorm, rcond, work, rwork, info, length_uplo)  \
F07FUF(uplo, length_uplo, n, a, lda, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fuf_ F07FUF
#else
#define  F07FUF f07fuf_
#endif
extern void NAG_CALL F07FUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zporfs_(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZPORFS(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zporfs_ ZPORFS
#else
#define  ZPORFS zporfs_
#endif
extern void NAG_CALL ZPORFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fvf_(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07FVF(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fvf_ F07FVF
#else
#define  F07FVF f07fvf_
#endif
extern void NAG_CALL F07FVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpotri_(uplo, n, a, lda, info, length_uplo)  \
ZPOTRI(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpotri_ ZPOTRI
#else
#define  ZPOTRI zpotri_
#endif
extern void NAG_CALL ZPOTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07fwf_(uplo, n, a, lda, info, length_uplo)  \
F07FWF(uplo, length_uplo, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07fwf_ F07FWF
#else
#define  F07FWF f07fwf_
#endif
extern void NAG_CALL F07FWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dppsv_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
DPPSV(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dppsv_ DPPSV
#else
#define  DPPSV dppsv_
#endif
extern void NAG_CALL DPPSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gaf_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
F07GAF(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gaf_ F07GAF
#else
#define  F07GAF f07gaf_
#endif
extern void NAG_CALL F07GAF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dppsvx_(fact, uplo, n, nrhs, ap, afp, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo, length_equed)  \
DPPSVX(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dppsvx_ DPPSVX
#else
#define  DPPSVX dppsvx_
#endif
extern void NAG_CALL DPPSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  double afp[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gbf_(fact, uplo, n, nrhs, ap, afp, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo, length_equed)  \
F07GBF(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gbf_ F07GBF
#else
#define  F07GBF f07gbf_
#endif
extern void NAG_CALL F07GBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  double afp[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpptrf_(uplo, n, ap, info, length_uplo)  \
DPPTRF(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpptrf_ DPPTRF
#else
#define  DPPTRF dpptrf_
#endif
extern void NAG_CALL DPPTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gdf_(uplo, n, ap, info, length_uplo)  \
F07GDF(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gdf_ F07GDF
#else
#define  F07GDF f07gdf_
#endif
extern void NAG_CALL F07GDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpptrs_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
DPPTRS(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpptrs_ DPPTRS
#else
#define  DPPTRS dpptrs_
#endif
extern void NAG_CALL DPPTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gef_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
F07GEF(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gef_ F07GEF
#else
#define  F07GEF f07gef_
#endif
extern void NAG_CALL F07GEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dppequ_(uplo, n, ap, s, scond, amax, info, length_uplo)  \
DPPEQU(uplo, length_uplo, n, ap, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dppequ_ DPPEQU
#else
#define  DPPEQU dppequ_
#endif
extern void NAG_CALL DPPEQU(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gff_(uplo, n, ap, s, scond, amax, info, length_uplo)  \
F07GFF(uplo, length_uplo, n, ap, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gff_ F07GFF
#else
#define  F07GFF f07gff_
#endif
extern void NAG_CALL F07GFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dppcon_(uplo, n, ap, anorm, rcond, work, iwork, info, length_uplo)  \
DPPCON(uplo, length_uplo, n, ap, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dppcon_ DPPCON
#else
#define  DPPCON dppcon_
#endif
extern void NAG_CALL DPPCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ggf_(uplo, n, ap, anorm, rcond, work, iwork, info, length_uplo)  \
F07GGF(uplo, length_uplo, n, ap, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ggf_ F07GGF
#else
#define  F07GGF f07ggf_
#endif
extern void NAG_CALL F07GGF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpprfs_(uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
DPPRFS(uplo, length_uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpprfs_ DPPRFS
#else
#define  DPPRFS dpprfs_
#endif
extern void NAG_CALL DPPRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST double afp[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ghf_(uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
F07GHF(uplo, length_uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ghf_ F07GHF
#else
#define  F07GHF f07ghf_
#endif
extern void NAG_CALL F07GHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST double afp[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpptri_(uplo, n, ap, info, length_uplo)  \
DPPTRI(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpptri_ DPPTRI
#else
#define  DPPTRI dpptri_
#endif
extern void NAG_CALL DPPTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gjf_(uplo, n, ap, info, length_uplo)  \
F07GJF(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gjf_ F07GJF
#else
#define  F07GJF f07gjf_
#endif
extern void NAG_CALL F07GJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zppsv_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
ZPPSV(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zppsv_ ZPPSV
#else
#define  ZPPSV zppsv_
#endif
extern void NAG_CALL ZPPSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gnf_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
F07GNF(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gnf_ F07GNF
#else
#define  F07GNF f07gnf_
#endif
extern void NAG_CALL F07GNF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zppsvx_(fact, uplo, n, nrhs, ap, afp, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo, length_equed)  \
ZPPSVX(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zppsvx_ ZPPSVX
#else
#define  ZPPSVX zppsvx_
#endif
extern void NAG_CALL ZPPSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Complex afp[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gpf_(fact, uplo, n, nrhs, ap, afp, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo, length_equed)  \
F07GPF(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gpf_ F07GPF
#else
#define  F07GPF f07gpf_
#endif
extern void NAG_CALL F07GPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Complex afp[] /* 1 dimension */,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpptrf_(uplo, n, ap, info, length_uplo)  \
ZPPTRF(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpptrf_ ZPPTRF
#else
#define  ZPPTRF zpptrf_
#endif
extern void NAG_CALL ZPPTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07grf_(uplo, n, ap, info, length_uplo)  \
F07GRF(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07grf_ F07GRF
#else
#define  F07GRF f07grf_
#endif
extern void NAG_CALL F07GRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpptrs_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
ZPPTRS(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpptrs_ ZPPTRS
#else
#define  ZPPTRS zpptrs_
#endif
extern void NAG_CALL ZPPTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gsf_(uplo, n, nrhs, ap, b, ldb, info, length_uplo)  \
F07GSF(uplo, length_uplo, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gsf_ F07GSF
#else
#define  F07GSF f07gsf_
#endif
extern void NAG_CALL F07GSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zppequ_(uplo, n, ap, s, scond, amax, info, length_uplo)  \
ZPPEQU(uplo, length_uplo, n, ap, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zppequ_ ZPPEQU
#else
#define  ZPPEQU zppequ_
#endif
extern void NAG_CALL ZPPEQU(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gtf_(uplo, n, ap, s, scond, amax, info, length_uplo)  \
F07GTF(uplo, length_uplo, n, ap, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gtf_ F07GTF
#else
#define  F07GTF f07gtf_
#endif
extern void NAG_CALL F07GTF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zppcon_(uplo, n, ap, anorm, rcond, work, rwork, info, length_uplo)  \
ZPPCON(uplo, length_uplo, n, ap, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zppcon_ ZPPCON
#else
#define  ZPPCON zppcon_
#endif
extern void NAG_CALL ZPPCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07guf_(uplo, n, ap, anorm, rcond, work, rwork, info, length_uplo)  \
F07GUF(uplo, length_uplo, n, ap, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07guf_ F07GUF
#else
#define  F07GUF f07guf_
#endif
extern void NAG_CALL F07GUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpprfs_(uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZPPRFS(uplo, length_uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpprfs_ ZPPRFS
#else
#define  ZPPRFS zpprfs_
#endif
extern void NAG_CALL ZPPRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex afp[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gvf_(uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07GVF(uplo, length_uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gvf_ F07GVF
#else
#define  F07GVF f07gvf_
#endif
extern void NAG_CALL F07GVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex afp[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpptri_(uplo, n, ap, info, length_uplo)  \
ZPPTRI(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpptri_ ZPPTRI
#else
#define  ZPPTRI zpptri_
#endif
extern void NAG_CALL ZPPTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07gwf_(uplo, n, ap, info, length_uplo)  \
F07GWF(uplo, length_uplo, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07gwf_ F07GWF
#else
#define  F07GWF f07gwf_
#endif
extern void NAG_CALL F07GWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpbsv_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
DPBSV(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbsv_ DPBSV
#else
#define  DPBSV dpbsv_
#endif
extern void NAG_CALL DPBSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07haf_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
F07HAF(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07haf_ F07HAF
#else
#define  F07HAF f07haf_
#endif
extern void NAG_CALL F07HAF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpbsvx_(fact, uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo, length_equed)  \
DPBSVX(fact, length_fact, uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbsvx_ DPBSVX
#else
#define  DPBSVX dpbsvx_
#endif
extern void NAG_CALL DPBSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hbf_(fact, uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo, length_equed)  \
F07HBF(fact, length_fact, uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hbf_ F07HBF
#else
#define  F07HBF f07hbf_
#endif
extern void NAG_CALL F07HBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpbtrf_(uplo, n, kd, ab, ldab, info, length_uplo)  \
DPBTRF(uplo, length_uplo, n, kd, ab, ldab, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbtrf_ DPBTRF
#else
#define  DPBTRF dpbtrf_
#endif
extern void NAG_CALL DPBTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hdf_(uplo, n, kd, ab, ldab, info, length_uplo)  \
F07HDF(uplo, length_uplo, n, kd, ab, ldab, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hdf_ F07HDF
#else
#define  F07HDF f07hdf_
#endif
extern void NAG_CALL F07HDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpbtrs_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
DPBTRS(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbtrs_ DPBTRS
#else
#define  DPBTRS dpbtrs_
#endif
extern void NAG_CALL DPBTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hef_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
F07HEF(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hef_ F07HEF
#else
#define  F07HEF f07hef_
#endif
extern void NAG_CALL F07HEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpbequ_(uplo, n, kd, ab, ldab, s, scond, amax, info, length_uplo)  \
DPBEQU(uplo, length_uplo, n, kd, ab, ldab, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbequ_ DPBEQU
#else
#define  DPBEQU dpbequ_
#endif
extern void NAG_CALL DPBEQU(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hff_(uplo, n, kd, ab, ldab, s, scond, amax, info, length_uplo)  \
F07HFF(uplo, length_uplo, n, kd, ab, ldab, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hff_ F07HFF
#else
#define  F07HFF f07hff_
#endif
extern void NAG_CALL F07HFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpbcon_(uplo, n, kd, ab, ldab, anorm, rcond, work, iwork, info, length_uplo)  \
DPBCON(uplo, length_uplo, n, kd, ab, ldab, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbcon_ DPBCON
#else
#define  DPBCON dpbcon_
#endif
extern void NAG_CALL DPBCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hgf_(uplo, n, kd, ab, ldab, anorm, rcond, work, iwork, info, length_uplo)  \
F07HGF(uplo, length_uplo, n, kd, ab, ldab, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hgf_ F07HGF
#else
#define  F07HGF f07hgf_
#endif
extern void NAG_CALL F07HGF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpbrfs_(uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
DPBRFS(uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbrfs_ DPBRFS
#else
#define  DPBRFS dpbrfs_
#endif
extern void NAG_CALL DPBRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hhf_(uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
F07HHF(uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hhf_ F07HHF
#else
#define  F07HHF f07hhf_
#endif
extern void NAG_CALL F07HHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbsv_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
ZPBSV(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbsv_ ZPBSV
#else
#define  ZPBSV zpbsv_
#endif
extern void NAG_CALL ZPBSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hnf_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
F07HNF(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hnf_ F07HNF
#else
#define  F07HNF f07hnf_
#endif
extern void NAG_CALL F07HNF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbsvx_(fact, uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo, length_equed)  \
ZPBSVX(fact, length_fact, uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbsvx_ ZPBSVX
#else
#define  ZPBSVX zpbsvx_
#endif
extern void NAG_CALL ZPBSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hpf_(fact, uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo, length_equed)  \
F07HPF(fact, length_fact, uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, equed, length_equed, s, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hpf_ F07HPF
#else
#define  F07HPF f07hpf_
#endif
extern void NAG_CALL F07HPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  char * equed
#ifdef USE_STDCALL
,  CONST Charlen length_equed
#endif
,
  double s[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo,
 CONST Charlen length_equed
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbtrf_(uplo, n, kd, ab, ldab, info, length_uplo)  \
ZPBTRF(uplo, length_uplo, n, kd, ab, ldab, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbtrf_ ZPBTRF
#else
#define  ZPBTRF zpbtrf_
#endif
extern void NAG_CALL ZPBTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hrf_(uplo, n, kd, ab, ldab, info, length_uplo)  \
F07HRF(uplo, length_uplo, n, kd, ab, ldab, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hrf_ F07HRF
#else
#define  F07HRF f07hrf_
#endif
extern void NAG_CALL F07HRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbtrs_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
ZPBTRS(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbtrs_ ZPBTRS
#else
#define  ZPBTRS zpbtrs_
#endif
extern void NAG_CALL ZPBTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hsf_(uplo, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo)  \
F07HSF(uplo, length_uplo, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hsf_ F07HSF
#else
#define  F07HSF f07hsf_
#endif
extern void NAG_CALL F07HSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbequ_(uplo, n, kd, ab, ldab, s, scond, amax, info, length_uplo)  \
ZPBEQU(uplo, length_uplo, n, kd, ab, ldab, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbequ_ ZPBEQU
#else
#define  ZPBEQU zpbequ_
#endif
extern void NAG_CALL ZPBEQU(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07htf_(uplo, n, kd, ab, ldab, s, scond, amax, info, length_uplo)  \
F07HTF(uplo, length_uplo, n, kd, ab, ldab, s, scond, amax, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07htf_ F07HTF
#else
#define  F07HTF f07htf_
#endif
extern void NAG_CALL F07HTF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double s[] /* 1 dimension */,
  double REFPTR scond,
  double REFPTR amax,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbcon_(uplo, n, kd, ab, ldab, anorm, rcond, work, rwork, info, length_uplo)  \
ZPBCON(uplo, length_uplo, n, kd, ab, ldab, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbcon_ ZPBCON
#else
#define  ZPBCON zpbcon_
#endif
extern void NAG_CALL ZPBCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07huf_(uplo, n, kd, ab, ldab, anorm, rcond, work, rwork, info, length_uplo)  \
F07HUF(uplo, length_uplo, n, kd, ab, ldab, anorm, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07huf_ F07HUF
#else
#define  F07HUF f07huf_
#endif
extern void NAG_CALL F07HUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbrfs_(uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZPBRFS(uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbrfs_ ZPBRFS
#else
#define  ZPBRFS zpbrfs_
#endif
extern void NAG_CALL ZPBRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07hvf_(uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07HVF(uplo, length_uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07hvf_ F07HVF
#else
#define  F07HVF f07hvf_
#endif
extern void NAG_CALL F07HVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex afb[] /* 2 dimension */,
  CONST Integer REFPTR ldafb,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dptsv_(n, nrhs, d, e, b, ldb, info)  \
DPTSV(n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dptsv_ DPTSV
#else
#define  DPTSV dptsv_
#endif
extern void NAG_CALL DPTSV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jaf_(n, nrhs, d, e, b, ldb, info)  \
F07JAF(n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jaf_ F07JAF
#else
#define  F07JAF f07jaf_
#endif
extern void NAG_CALL F07JAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dptsvx_(fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, info, length_fact)  \
DPTSVX(fact, length_fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dptsvx_ DPTSVX
#else
#define  DPTSVX dptsvx_
#endif
extern void NAG_CALL DPTSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  double df[] /* 1 dimension */,
  double ef[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jbf_(fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, info, length_fact)  \
F07JBF(fact, length_fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jbf_ F07JBF
#else
#define  F07JBF f07jbf_
#endif
extern void NAG_CALL F07JBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  double df[] /* 1 dimension */,
  double ef[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpttrf_(n, d, e, info)  \
DPTTRF(n, d, e, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpttrf_ DPTTRF
#else
#define  DPTTRF dpttrf_
#endif
extern void NAG_CALL DPTTRF(
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jdf_(n, d, e, info)  \
F07JDF(n, d, e, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jdf_ F07JDF
#else
#define  F07JDF f07jdf_
#endif
extern void NAG_CALL F07JDF(
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpttrs_(n, nrhs, d, e, b, ldb, info)  \
DPTTRS(n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpttrs_ DPTTRS
#else
#define  DPTTRS dpttrs_
#endif
extern void NAG_CALL DPTTRS(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jef_(n, nrhs, d, e, b, ldb, info)  \
F07JEF(n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jef_ F07JEF
#else
#define  F07JEF f07jef_
#endif
extern void NAG_CALL F07JEF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dptcon_(n, d, e, anorm, rcond, work, info)  \
DPTCON(n, d, e, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dptcon_ DPTCON
#else
#define  DPTCON dptcon_
#endif
extern void NAG_CALL DPTCON(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jgf_(n, d, e, anorm, rcond, work, info)  \
F07JGF(n, d, e, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jgf_ F07JGF
#else
#define  F07JGF f07jgf_
#endif
extern void NAG_CALL F07JGF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dptrfs_(n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, info)  \
DPTRFS(n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dptrfs_ DPTRFS
#else
#define  DPTRFS dptrfs_
#endif
extern void NAG_CALL DPTRFS(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST double df[] /* 1 dimension */,
  CONST double ef[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jhf_(n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, info)  \
F07JHF(n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jhf_ F07JHF
#else
#define  F07JHF f07jhf_
#endif
extern void NAG_CALL F07JHF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST double df[] /* 1 dimension */,
  CONST double ef[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zptsv_(n, nrhs, d, e, b, ldb, info)  \
ZPTSV(n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zptsv_ ZPTSV
#else
#define  ZPTSV zptsv_
#endif
extern void NAG_CALL ZPTSV(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double d[] /* 1 dimension */,
  Complex e[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jnf_(n, nrhs, d, e, b, ldb, info)  \
F07JNF(n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jnf_ F07JNF
#else
#define  F07JNF f07jnf_
#endif
extern void NAG_CALL F07JNF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double d[] /* 1 dimension */,
  Complex e[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zptsvx_(fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact)  \
ZPTSVX(fact, length_fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zptsvx_ ZPTSVX
#else
#define  ZPTSVX zptsvx_
#endif
extern void NAG_CALL ZPTSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  double df[] /* 1 dimension */,
  Complex ef[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jpf_(fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact)  \
F07JPF(fact, length_fact, n, nrhs, d, e, df, ef, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jpf_ F07JPF
#else
#define  F07JPF f07jpf_
#endif
extern void NAG_CALL F07JPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  double df[] /* 1 dimension */,
  Complex ef[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpttrf_(n, d, e, info)  \
ZPTTRF(n, d, e, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpttrf_ ZPTTRF
#else
#define  ZPTTRF zpttrf_
#endif
extern void NAG_CALL ZPTTRF(
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  Complex e[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jrf_(n, d, e, info)  \
F07JRF(n, d, e, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jrf_ F07JRF
#else
#define  F07JRF f07jrf_
#endif
extern void NAG_CALL F07JRF(
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  Complex e[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpttrs_(uplo, n, nrhs, d, e, b, ldb, info, length_uplo)  \
ZPTTRS(uplo, length_uplo, n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpttrs_ ZPTTRS
#else
#define  ZPTTRS zpttrs_
#endif
extern void NAG_CALL ZPTTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jsf_(uplo, n, nrhs, d, e, b, ldb, info, length_uplo)  \
F07JSF(uplo, length_uplo, n, nrhs, d, e, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jsf_ F07JSF
#else
#define  F07JSF f07jsf_
#endif
extern void NAG_CALL F07JSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zptcon_(n, d, e, anorm, rcond, rwork, info)  \
ZPTCON(n, d, e, anorm, rcond, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zptcon_ ZPTCON
#else
#define  ZPTCON zptcon_
#endif
extern void NAG_CALL ZPTCON(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07juf_(n, d, e, anorm, rcond, rwork, info)  \
F07JUF(n, d, e, anorm, rcond, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07juf_ F07JUF
#else
#define  F07JUF f07juf_
#endif
extern void NAG_CALL F07JUF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zptrfs_(uplo, n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZPTRFS(uplo, length_uplo, n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zptrfs_ ZPTRFS
#else
#define  ZPTRFS zptrfs_
#endif
extern void NAG_CALL ZPTRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  CONST double df[] /* 1 dimension */,
  CONST Complex ef[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07jvf_(uplo, n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07JVF(uplo, length_uplo, n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07jvf_ F07JVF
#else
#define  F07JVF f07jvf_
#endif
extern void NAG_CALL F07JVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double d[] /* 1 dimension */,
  CONST Complex e[] /* 1 dimension */,
  CONST double df[] /* 1 dimension */,
  CONST Complex ef[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsysv_(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info, length_uplo)  \
DSYSV(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsysv_ DSYSV
#else
#define  DSYSV dsysv_
#endif
extern void NAG_CALL DSYSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07maf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info, length_uplo)  \
F07MAF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07maf_ F07MAF
#else
#define  F07MAF f07maf_
#endif
extern void NAG_CALL F07MAF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsysvx_(fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, iwork, info, length_fact, length_uplo)  \
DSYSVX(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsysvx_ DSYSVX
#else
#define  DSYSVX dsysvx_
#endif
extern void NAG_CALL DSYSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mbf_(fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, iwork, info, length_fact, length_uplo)  \
F07MBF(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mbf_ F07MBF
#else
#define  F07MBF f07mbf_
#endif
extern void NAG_CALL F07MBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsytrf_(uplo, n, a, lda, ipiv, work, lwork, info, length_uplo)  \
DSYTRF(uplo, length_uplo, n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsytrf_ DSYTRF
#else
#define  DSYTRF dsytrf_
#endif
extern void NAG_CALL DSYTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mdf_(uplo, n, a, lda, ipiv, work, lwork, info, length_uplo)  \
F07MDF(uplo, length_uplo, n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mdf_ F07MDF
#else
#define  F07MDF f07mdf_
#endif
extern void NAG_CALL F07MDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsytrs_(uplo, n, nrhs, a, lda, ipiv, b, ldb, info, length_uplo)  \
DSYTRS(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsytrs_ DSYTRS
#else
#define  DSYTRS dsytrs_
#endif
extern void NAG_CALL DSYTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mef_(uplo, n, nrhs, a, lda, ipiv, b, ldb, info, length_uplo)  \
F07MEF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mef_ F07MEF
#else
#define  F07MEF f07mef_
#endif
extern void NAG_CALL F07MEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsycon_(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info, length_uplo)  \
DSYCON(uplo, length_uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsycon_ DSYCON
#else
#define  DSYCON dsycon_
#endif
extern void NAG_CALL DSYCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mgf_(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info, length_uplo)  \
F07MGF(uplo, length_uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mgf_ F07MGF
#else
#define  F07MGF f07mgf_
#endif
extern void NAG_CALL F07MGF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyrfs_(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
DSYRFS(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyrfs_ DSYRFS
#else
#define  DSYRFS dsyrfs_
#endif
extern void NAG_CALL DSYRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mhf_(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
F07MHF(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mhf_ F07MHF
#else
#define  F07MHF f07mhf_
#endif
extern void NAG_CALL F07MHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsytri_(uplo, n, a, lda, ipiv, work, info, length_uplo)  \
DSYTRI(uplo, length_uplo, n, a, lda, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsytri_ DSYTRI
#else
#define  DSYTRI dsytri_
#endif
extern void NAG_CALL DSYTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mjf_(uplo, n, a, lda, ipiv, work, info, length_uplo)  \
F07MJF(uplo, length_uplo, n, a, lda, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mjf_ F07MJF
#else
#define  F07MJF f07mjf_
#endif
extern void NAG_CALL F07MJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhesv_(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info, length_uplo)  \
ZHESV(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhesv_ ZHESV
#else
#define  ZHESV zhesv_
#endif
extern void NAG_CALL ZHESV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mnf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info, length_uplo)  \
F07MNF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mnf_ F07MNF
#else
#define  F07MNF f07mnf_
#endif
extern void NAG_CALL F07MNF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhesvx_(fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info, length_fact, length_uplo)  \
ZHESVX(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhesvx_ ZHESVX
#else
#define  ZHESVX zhesvx_
#endif
extern void NAG_CALL ZHESVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mpf_(fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info, length_fact, length_uplo)  \
F07MPF(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mpf_ F07MPF
#else
#define  F07MPF f07mpf_
#endif
extern void NAG_CALL F07MPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhetrf_(uplo, n, a, lda, ipiv, work, lwork, info, length_uplo)  \
ZHETRF(uplo, length_uplo, n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhetrf_ ZHETRF
#else
#define  ZHETRF zhetrf_
#endif
extern void NAG_CALL ZHETRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mrf_(uplo, n, a, lda, ipiv, work, lwork, info, length_uplo)  \
F07MRF(uplo, length_uplo, n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mrf_ F07MRF
#else
#define  F07MRF f07mrf_
#endif
extern void NAG_CALL F07MRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhetrs_(uplo, n, nrhs, a, lda, ipiv, b, ldb, info, length_uplo)  \
ZHETRS(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhetrs_ ZHETRS
#else
#define  ZHETRS zhetrs_
#endif
extern void NAG_CALL ZHETRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07msf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, info, length_uplo)  \
F07MSF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07msf_ F07MSF
#else
#define  F07MSF f07msf_
#endif
extern void NAG_CALL F07MSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhecon_(uplo, n, a, lda, ipiv, anorm, rcond, work, info, length_uplo)  \
ZHECON(uplo, length_uplo, n, a, lda, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhecon_ ZHECON
#else
#define  ZHECON zhecon_
#endif
extern void NAG_CALL ZHECON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07muf_(uplo, n, a, lda, ipiv, anorm, rcond, work, info, length_uplo)  \
F07MUF(uplo, length_uplo, n, a, lda, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07muf_ F07MUF
#else
#define  F07MUF f07muf_
#endif
extern void NAG_CALL F07MUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zherfs_(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZHERFS(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zherfs_ ZHERFS
#else
#define  ZHERFS zherfs_
#endif
extern void NAG_CALL ZHERFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mvf_(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07MVF(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mvf_ F07MVF
#else
#define  F07MVF f07mvf_
#endif
extern void NAG_CALL F07MVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhetri_(uplo, n, a, lda, ipiv, work, info, length_uplo)  \
ZHETRI(uplo, length_uplo, n, a, lda, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhetri_ ZHETRI
#else
#define  ZHETRI zhetri_
#endif
extern void NAG_CALL ZHETRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07mwf_(uplo, n, a, lda, ipiv, work, info, length_uplo)  \
F07MWF(uplo, length_uplo, n, a, lda, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07mwf_ F07MWF
#else
#define  F07MWF f07mwf_
#endif
extern void NAG_CALL F07MWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsysv_(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info, length_uplo)  \
ZSYSV(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsysv_ ZSYSV
#else
#define  ZSYSV zsysv_
#endif
extern void NAG_CALL ZSYSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07nnf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info, length_uplo)  \
F07NNF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07nnf_ F07NNF
#else
#define  F07NNF f07nnf_
#endif
extern void NAG_CALL F07NNF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsysvx_(fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info, length_fact, length_uplo)  \
ZSYSVX(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsysvx_ ZSYSVX
#else
#define  ZSYSVX zsysvx_
#endif
extern void NAG_CALL ZSYSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07npf_(fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info, length_fact, length_uplo)  \
F07NPF(fact, length_fact, uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07npf_ F07NPF
#else
#define  F07NPF f07npf_
#endif
extern void NAG_CALL F07NPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsytrf_(uplo, n, a, lda, ipiv, work, lwork, info, length_uplo)  \
ZSYTRF(uplo, length_uplo, n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsytrf_ ZSYTRF
#else
#define  ZSYTRF zsytrf_
#endif
extern void NAG_CALL ZSYTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07nrf_(uplo, n, a, lda, ipiv, work, lwork, info, length_uplo)  \
F07NRF(uplo, length_uplo, n, a, lda, ipiv, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07nrf_ F07NRF
#else
#define  F07NRF f07nrf_
#endif
extern void NAG_CALL F07NRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsytrs_(uplo, n, nrhs, a, lda, ipiv, b, ldb, info, length_uplo)  \
ZSYTRS(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsytrs_ ZSYTRS
#else
#define  ZSYTRS zsytrs_
#endif
extern void NAG_CALL ZSYTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07nsf_(uplo, n, nrhs, a, lda, ipiv, b, ldb, info, length_uplo)  \
F07NSF(uplo, length_uplo, n, nrhs, a, lda, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07nsf_ F07NSF
#else
#define  F07NSF f07nsf_
#endif
extern void NAG_CALL F07NSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsycon_(uplo, n, a, lda, ipiv, anorm, rcond, work, info, length_uplo)  \
ZSYCON(uplo, length_uplo, n, a, lda, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsycon_ ZSYCON
#else
#define  ZSYCON zsycon_
#endif
extern void NAG_CALL ZSYCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07nuf_(uplo, n, a, lda, ipiv, anorm, rcond, work, info, length_uplo)  \
F07NUF(uplo, length_uplo, n, a, lda, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07nuf_ F07NUF
#else
#define  F07NUF f07nuf_
#endif
extern void NAG_CALL F07NUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsyrfs_(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZSYRFS(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsyrfs_ ZSYRFS
#else
#define  ZSYRFS zsyrfs_
#endif
extern void NAG_CALL ZSYRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07nvf_(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07NVF(uplo, length_uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07nvf_ F07NVF
#else
#define  F07NVF f07nvf_
#endif
extern void NAG_CALL F07NVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex af[] /* 2 dimension */,
  CONST Integer REFPTR ldaf,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsytri_(uplo, n, a, lda, ipiv, work, info, length_uplo)  \
ZSYTRI(uplo, length_uplo, n, a, lda, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsytri_ ZSYTRI
#else
#define  ZSYTRI zsytri_
#endif
extern void NAG_CALL ZSYTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07nwf_(uplo, n, a, lda, ipiv, work, info, length_uplo)  \
F07NWF(uplo, length_uplo, n, a, lda, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07nwf_ F07NWF
#else
#define  F07NWF f07nwf_
#endif
extern void NAG_CALL F07NWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspsv_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
DSPSV(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspsv_ DSPSV
#else
#define  DSPSV dspsv_
#endif
extern void NAG_CALL DSPSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07paf_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
F07PAF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07paf_ F07PAF
#else
#define  F07PAF f07paf_
#endif
extern void NAG_CALL F07PAF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspsvx_(fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo)  \
DSPSVX(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspsvx_ DSPSVX
#else
#define  DSPSVX dspsvx_
#endif
extern void NAG_CALL DSPSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  double afp[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pbf_(fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info, length_fact, length_uplo)  \
F07PBF(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pbf_ F07PBF
#else
#define  F07PBF f07pbf_
#endif
extern void NAG_CALL F07PBF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  double afp[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsptrf_(uplo, n, ap, ipiv, info, length_uplo)  \
DSPTRF(uplo, length_uplo, n, ap, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsptrf_ DSPTRF
#else
#define  DSPTRF dsptrf_
#endif
extern void NAG_CALL DSPTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pdf_(uplo, n, ap, ipiv, info, length_uplo)  \
F07PDF(uplo, length_uplo, n, ap, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pdf_ F07PDF
#else
#define  F07PDF f07pdf_
#endif
extern void NAG_CALL F07PDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsptrs_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
DSPTRS(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsptrs_ DSPTRS
#else
#define  DSPTRS dsptrs_
#endif
extern void NAG_CALL DSPTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pef_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
F07PEF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pef_ F07PEF
#else
#define  F07PEF f07pef_
#endif
extern void NAG_CALL F07PEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspcon_(uplo, n, ap, ipiv, anorm, rcond, work, iwork, info, length_uplo)  \
DSPCON(uplo, length_uplo, n, ap, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspcon_ DSPCON
#else
#define  DSPCON dspcon_
#endif
extern void NAG_CALL DSPCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pgf_(uplo, n, ap, ipiv, anorm, rcond, work, iwork, info, length_uplo)  \
F07PGF(uplo, length_uplo, n, ap, ipiv, anorm, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pgf_ F07PGF
#else
#define  F07PGF f07pgf_
#endif
extern void NAG_CALL F07PGF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsprfs_(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
DSPRFS(uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsprfs_ DSPRFS
#else
#define  DSPRFS dsprfs_
#endif
extern void NAG_CALL DSPRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST double afp[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07phf_(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo)  \
F07PHF(uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07phf_ F07PHF
#else
#define  F07PHF f07phf_
#endif
extern void NAG_CALL F07PHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST double afp[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsptri_(uplo, n, ap, ipiv, work, info, length_uplo)  \
DSPTRI(uplo, length_uplo, n, ap, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsptri_ DSPTRI
#else
#define  DSPTRI dsptri_
#endif
extern void NAG_CALL DSPTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pjf_(uplo, n, ap, ipiv, work, info, length_uplo)  \
F07PJF(uplo, length_uplo, n, ap, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pjf_ F07PJF
#else
#define  F07PJF f07pjf_
#endif
extern void NAG_CALL F07PJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpsv_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
ZHPSV(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpsv_ ZHPSV
#else
#define  ZHPSV zhpsv_
#endif
extern void NAG_CALL ZHPSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pnf_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
F07PNF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pnf_ F07PNF
#else
#define  F07PNF f07pnf_
#endif
extern void NAG_CALL F07PNF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpsvx_(fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo)  \
ZHPSVX(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpsvx_ ZHPSVX
#else
#define  ZHPSVX zhpsvx_
#endif
extern void NAG_CALL ZHPSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex afp[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ppf_(fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo)  \
F07PPF(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ppf_ F07PPF
#else
#define  F07PPF f07ppf_
#endif
extern void NAG_CALL F07PPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex afp[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhptrf_(uplo, n, ap, ipiv, info, length_uplo)  \
ZHPTRF(uplo, length_uplo, n, ap, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhptrf_ ZHPTRF
#else
#define  ZHPTRF zhptrf_
#endif
extern void NAG_CALL ZHPTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07prf_(uplo, n, ap, ipiv, info, length_uplo)  \
F07PRF(uplo, length_uplo, n, ap, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07prf_ F07PRF
#else
#define  F07PRF f07prf_
#endif
extern void NAG_CALL F07PRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhptrs_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
ZHPTRS(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhptrs_ ZHPTRS
#else
#define  ZHPTRS zhptrs_
#endif
extern void NAG_CALL ZHPTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07psf_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
F07PSF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07psf_ F07PSF
#else
#define  F07PSF f07psf_
#endif
extern void NAG_CALL F07PSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpcon_(uplo, n, ap, ipiv, anorm, rcond, work, info, length_uplo)  \
ZHPCON(uplo, length_uplo, n, ap, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpcon_ ZHPCON
#else
#define  ZHPCON zhpcon_
#endif
extern void NAG_CALL ZHPCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07puf_(uplo, n, ap, ipiv, anorm, rcond, work, info, length_uplo)  \
F07PUF(uplo, length_uplo, n, ap, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07puf_ F07PUF
#else
#define  F07PUF f07puf_
#endif
extern void NAG_CALL F07PUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhprfs_(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZHPRFS(uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhprfs_ ZHPRFS
#else
#define  ZHPRFS zhprfs_
#endif
extern void NAG_CALL ZHPRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex afp[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pvf_(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07PVF(uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pvf_ F07PVF
#else
#define  F07PVF f07pvf_
#endif
extern void NAG_CALL F07PVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex afp[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhptri_(uplo, n, ap, ipiv, work, info, length_uplo)  \
ZHPTRI(uplo, length_uplo, n, ap, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhptri_ ZHPTRI
#else
#define  ZHPTRI zhptri_
#endif
extern void NAG_CALL ZHPTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07pwf_(uplo, n, ap, ipiv, work, info, length_uplo)  \
F07PWF(uplo, length_uplo, n, ap, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07pwf_ F07PWF
#else
#define  F07PWF f07pwf_
#endif
extern void NAG_CALL F07PWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zspsv_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
ZSPSV(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zspsv_ ZSPSV
#else
#define  ZSPSV zspsv_
#endif
extern void NAG_CALL ZSPSV(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07qnf_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
F07QNF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07qnf_ F07QNF
#else
#define  F07QNF f07qnf_
#endif
extern void NAG_CALL F07QNF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zspsvx_(fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo)  \
ZSPSVX(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zspsvx_ ZSPSVX
#else
#define  ZSPSVX zspsvx_
#endif
extern void NAG_CALL ZSPSVX(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex afp[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07qpf_(fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info, length_fact, length_uplo)  \
F07QPF(fact, length_fact, uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07qpf_ F07QPF
#else
#define  F07QPF f07qpf_
#endif
extern void NAG_CALL F07QPF(
  CONST char * fact
#ifdef USE_STDCALL
,  CONST Charlen length_fact
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex afp[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR rcond,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_fact,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsptrf_(uplo, n, ap, ipiv, info, length_uplo)  \
ZSPTRF(uplo, length_uplo, n, ap, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsptrf_ ZSPTRF
#else
#define  ZSPTRF zsptrf_
#endif
extern void NAG_CALL ZSPTRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07qrf_(uplo, n, ap, ipiv, info, length_uplo)  \
F07QRF(uplo, length_uplo, n, ap, ipiv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07qrf_ F07QRF
#else
#define  F07QRF f07qrf_
#endif
extern void NAG_CALL F07QRF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsptrs_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
ZSPTRS(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsptrs_ ZSPTRS
#else
#define  ZSPTRS zsptrs_
#endif
extern void NAG_CALL ZSPTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07qsf_(uplo, n, nrhs, ap, ipiv, b, ldb, info, length_uplo)  \
F07QSF(uplo, length_uplo, n, nrhs, ap, ipiv, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07qsf_ F07QSF
#else
#define  F07QSF f07qsf_
#endif
extern void NAG_CALL F07QSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zspcon_(uplo, n, ap, ipiv, anorm, rcond, work, info, length_uplo)  \
ZSPCON(uplo, length_uplo, n, ap, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zspcon_ ZSPCON
#else
#define  ZSPCON zspcon_
#endif
extern void NAG_CALL ZSPCON(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07quf_(uplo, n, ap, ipiv, anorm, rcond, work, info, length_uplo)  \
F07QUF(uplo, length_uplo, n, ap, ipiv, anorm, rcond, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07quf_ F07QUF
#else
#define  F07QUF f07quf_
#endif
extern void NAG_CALL F07QUF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsprfs_(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
ZSPRFS(uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsprfs_ ZSPRFS
#else
#define  ZSPRFS zsprfs_
#endif
extern void NAG_CALL ZSPRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex afp[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07qvf_(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo)  \
F07QVF(uplo, length_uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07qvf_ F07QVF
#else
#define  F07QVF f07qvf_
#endif
extern void NAG_CALL F07QVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex afp[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zsptri_(uplo, n, ap, ipiv, work, info, length_uplo)  \
ZSPTRI(uplo, length_uplo, n, ap, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsptri_ ZSPTRI
#else
#define  ZSPTRI zsptri_
#endif
extern void NAG_CALL ZSPTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07qwf_(uplo, n, ap, ipiv, work, info, length_uplo)  \
F07QWF(uplo, length_uplo, n, ap, ipiv, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07qwf_ F07QWF
#else
#define  F07QWF f07qwf_
#endif
extern void NAG_CALL F07QWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Integer ipiv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrtrs_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info, length_uplo, length_trans, length_diag)  \
DTRTRS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrtrs_ DTRTRS
#else
#define  DTRTRS dtrtrs_
#endif
extern void NAG_CALL DTRTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07tef_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info, length_uplo, length_trans, length_diag)  \
F07TEF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07tef_ F07TEF
#else
#define  F07TEF f07tef_
#endif
extern void NAG_CALL F07TEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrcon_(norm, uplo, diag, n, a, lda, rcond, work, iwork, info, length_norm, length_uplo, length_diag)  \
DTRCON(norm, length_norm, uplo, length_uplo, diag, length_diag, n, a, lda, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrcon_ DTRCON
#else
#define  DTRCON dtrcon_
#endif
extern void NAG_CALL DTRCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07tgf_(norm, uplo, diag, n, a, lda, rcond, work, iwork, info, length_norm, length_uplo, length_diag)  \
F07TGF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, a, lda, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07tgf_ F07TGF
#else
#define  F07TGF f07tgf_
#endif
extern void NAG_CALL F07TGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrrfs_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo, length_trans, length_diag)  \
DTRRFS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrrfs_ DTRRFS
#else
#define  DTRRFS dtrrfs_
#endif
extern void NAG_CALL DTRRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07thf_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo, length_trans, length_diag)  \
F07THF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07thf_ F07THF
#else
#define  F07THF f07thf_
#endif
extern void NAG_CALL F07THF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrtri_(uplo, diag, n, a, lda, info, length_uplo, length_diag)  \
DTRTRI(uplo, length_uplo, diag, length_diag, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrtri_ DTRTRI
#else
#define  DTRTRI dtrtri_
#endif
extern void NAG_CALL DTRTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07tjf_(uplo, diag, n, a, lda, info, length_uplo, length_diag)  \
F07TJF(uplo, length_uplo, diag, length_diag, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07tjf_ F07TJF
#else
#define  F07TJF f07tjf_
#endif
extern void NAG_CALL F07TJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrtrs_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info, length_uplo, length_trans, length_diag)  \
ZTRTRS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrtrs_ ZTRTRS
#else
#define  ZTRTRS ztrtrs_
#endif
extern void NAG_CALL ZTRTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07tsf_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info, length_uplo, length_trans, length_diag)  \
F07TSF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07tsf_ F07TSF
#else
#define  F07TSF f07tsf_
#endif
extern void NAG_CALL F07TSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrcon_(norm, uplo, diag, n, a, lda, rcond, work, rwork, info, length_norm, length_uplo, length_diag)  \
ZTRCON(norm, length_norm, uplo, length_uplo, diag, length_diag, n, a, lda, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrcon_ ZTRCON
#else
#define  ZTRCON ztrcon_
#endif
extern void NAG_CALL ZTRCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07tuf_(norm, uplo, diag, n, a, lda, rcond, work, rwork, info, length_norm, length_uplo, length_diag)  \
F07TUF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, a, lda, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07tuf_ F07TUF
#else
#define  F07TUF f07tuf_
#endif
extern void NAG_CALL F07TUF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrrfs_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo, length_trans, length_diag)  \
ZTRRFS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrrfs_ ZTRRFS
#else
#define  ZTRRFS ztrrfs_
#endif
extern void NAG_CALL ZTRRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07tvf_(uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo, length_trans, length_diag)  \
F07TVF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, a, lda, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07tvf_ F07TVF
#else
#define  F07TVF f07tvf_
#endif
extern void NAG_CALL F07TVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrtri_(uplo, diag, n, a, lda, info, length_uplo, length_diag)  \
ZTRTRI(uplo, length_uplo, diag, length_diag, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrtri_ ZTRTRI
#else
#define  ZTRTRI ztrtri_
#endif
extern void NAG_CALL ZTRTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07twf_(uplo, diag, n, a, lda, info, length_uplo, length_diag)  \
F07TWF(uplo, length_uplo, diag, length_diag, n, a, lda, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07twf_ F07TWF
#else
#define  F07TWF f07twf_
#endif
extern void NAG_CALL F07TWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtptrs_(uplo, trans, diag, n, nrhs, ap, b, ldb, info, length_uplo, length_trans, length_diag)  \
DTPTRS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtptrs_ DTPTRS
#else
#define  DTPTRS dtptrs_
#endif
extern void NAG_CALL DTPTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07uef_(uplo, trans, diag, n, nrhs, ap, b, ldb, info, length_uplo, length_trans, length_diag)  \
F07UEF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07uef_ F07UEF
#else
#define  F07UEF f07uef_
#endif
extern void NAG_CALL F07UEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtpcon_(norm, uplo, diag, n, ap, rcond, work, iwork, info, length_norm, length_uplo, length_diag)  \
DTPCON(norm, length_norm, uplo, length_uplo, diag, length_diag, n, ap, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtpcon_ DTPCON
#else
#define  DTPCON dtpcon_
#endif
extern void NAG_CALL DTPCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ugf_(norm, uplo, diag, n, ap, rcond, work, iwork, info, length_norm, length_uplo, length_diag)  \
F07UGF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, ap, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ugf_ F07UGF
#else
#define  F07UGF f07ugf_
#endif
extern void NAG_CALL F07UGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtprfs_(uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo, length_trans, length_diag)  \
DTPRFS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtprfs_ DTPRFS
#else
#define  DTPRFS dtprfs_
#endif
extern void NAG_CALL DTPRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07uhf_(uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo, length_trans, length_diag)  \
F07UHF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07uhf_ F07UHF
#else
#define  F07UHF f07uhf_
#endif
extern void NAG_CALL F07UHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST double ap[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtptri_(uplo, diag, n, ap, info, length_uplo, length_diag)  \
DTPTRI(uplo, length_uplo, diag, length_diag, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtptri_ DTPTRI
#else
#define  DTPTRI dtptri_
#endif
extern void NAG_CALL DTPTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07ujf_(uplo, diag, n, ap, info, length_uplo, length_diag)  \
F07UJF(uplo, length_uplo, diag, length_diag, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07ujf_ F07UJF
#else
#define  F07UJF f07ujf_
#endif
extern void NAG_CALL F07UJF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztptrs_(uplo, trans, diag, n, nrhs, ap, b, ldb, info, length_uplo, length_trans, length_diag)  \
ZTPTRS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztptrs_ ZTPTRS
#else
#define  ZTPTRS ztptrs_
#endif
extern void NAG_CALL ZTPTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07usf_(uplo, trans, diag, n, nrhs, ap, b, ldb, info, length_uplo, length_trans, length_diag)  \
F07USF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07usf_ F07USF
#else
#define  F07USF f07usf_
#endif
extern void NAG_CALL F07USF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztpcon_(norm, uplo, diag, n, ap, rcond, work, rwork, info, length_norm, length_uplo, length_diag)  \
ZTPCON(norm, length_norm, uplo, length_uplo, diag, length_diag, n, ap, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztpcon_ ZTPCON
#else
#define  ZTPCON ztpcon_
#endif
extern void NAG_CALL ZTPCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07uuf_(norm, uplo, diag, n, ap, rcond, work, rwork, info, length_norm, length_uplo, length_diag)  \
F07UUF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, ap, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07uuf_ F07UUF
#else
#define  F07UUF f07uuf_
#endif
extern void NAG_CALL F07UUF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztprfs_(uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo, length_trans, length_diag)  \
ZTPRFS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztprfs_ ZTPRFS
#else
#define  ZTPRFS ztprfs_
#endif
extern void NAG_CALL ZTPRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07uvf_(uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo, length_trans, length_diag)  \
F07UVF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07uvf_ F07UVF
#else
#define  F07UVF f07uvf_
#endif
extern void NAG_CALL F07UVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztptri_(uplo, diag, n, ap, info, length_uplo, length_diag)  \
ZTPTRI(uplo, length_uplo, diag, length_diag, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztptri_ ZTPTRI
#else
#define  ZTPTRI ztptri_
#endif
extern void NAG_CALL ZTPTRI(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07uwf_(uplo, diag, n, ap, info, length_uplo, length_diag)  \
F07UWF(uplo, length_uplo, diag, length_diag, n, ap, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07uwf_ F07UWF
#else
#define  F07UWF f07uwf_
#endif
extern void NAG_CALL F07UWF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtbtrs_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo, length_trans, length_diag)  \
DTBTRS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtbtrs_ DTBTRS
#else
#define  DTBTRS dtbtrs_
#endif
extern void NAG_CALL DTBTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07vef_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo, length_trans, length_diag)  \
F07VEF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07vef_ F07VEF
#else
#define  F07VEF f07vef_
#endif
extern void NAG_CALL F07VEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtbcon_(norm, uplo, diag, n, kd, ab, ldab, rcond, work, iwork, info, length_norm, length_uplo, length_diag)  \
DTBCON(norm, length_norm, uplo, length_uplo, diag, length_diag, n, kd, ab, ldab, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtbcon_ DTBCON
#else
#define  DTBCON dtbcon_
#endif
extern void NAG_CALL DTBCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07vgf_(norm, uplo, diag, n, kd, ab, ldab, rcond, work, iwork, info, length_norm, length_uplo, length_diag)  \
F07VGF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, kd, ab, ldab, rcond, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07vgf_ F07VGF
#else
#define  F07VGF f07vgf_
#endif
extern void NAG_CALL F07VGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double REFPTR rcond,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtbrfs_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo, length_trans, length_diag)  \
DTBRFS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtbrfs_ DTBRFS
#else
#define  DTBRFS dtbrfs_
#endif
extern void NAG_CALL DTBRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07vhf_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, iwork, info, length_uplo, length_trans, length_diag)  \
F07VHF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07vhf_ F07VHF
#else
#define  F07VHF f07vhf_
#endif
extern void NAG_CALL F07VHF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztbtrs_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo, length_trans, length_diag)  \
ZTBTRS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztbtrs_ ZTBTRS
#else
#define  ZTBTRS ztbtrs_
#endif
extern void NAG_CALL ZTBTRS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07vsf_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info, length_uplo, length_trans, length_diag)  \
F07VSF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07vsf_ F07VSF
#else
#define  F07VSF f07vsf_
#endif
extern void NAG_CALL F07VSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztbcon_(norm, uplo, diag, n, kd, ab, ldab, rcond, work, rwork, info, length_norm, length_uplo, length_diag)  \
ZTBCON(norm, length_norm, uplo, length_uplo, diag, length_diag, n, kd, ab, ldab, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztbcon_ ZTBCON
#else
#define  ZTBCON ztbcon_
#endif
extern void NAG_CALL ZTBCON(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07vuf_(norm, uplo, diag, n, kd, ab, ldab, rcond, work, rwork, info, length_norm, length_uplo, length_diag)  \
F07VUF(norm, length_norm, uplo, length_uplo, diag, length_diag, n, kd, ab, ldab, rcond, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07vuf_ F07VUF
#else
#define  F07VUF f07vuf_
#endif
extern void NAG_CALL F07VUF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double REFPTR rcond,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_norm,
 CONST Charlen length_uplo,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztbrfs_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo, length_trans, length_diag)  \
ZTBRFS(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztbrfs_ ZTBRFS
#else
#define  ZTBRFS ztbrfs_
#endif
extern void NAG_CALL ZTBRFS(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f07vvf_(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, rwork, info, length_uplo, length_trans, length_diag)  \
F07VVF(uplo, length_uplo, trans, length_trans, diag, length_diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f07vvf_ F07VVF
#else
#define  F07VVF f07vvf_
#endif
extern void NAG_CALL F07VVF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  CONST Integer REFPTR nrhs,
  CONST Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double ferr[] /* 1 dimension */,
  double berr[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_trans,
 CONST Charlen length_diag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgels_(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info, length_trans)  \
DGELS(trans, length_trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgels_ DGELS
#else
#define  DGELS dgels_
#endif
extern void NAG_CALL DGELS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08aaf_(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info, length_trans)  \
F08AAF(trans, length_trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08aaf_ F08AAF
#else
#define  F08AAF f08aaf_
#endif
extern void NAG_CALL F08AAF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeqrf_(m, n, a, lda, tau, work, lwork, info)  \
DGEQRF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeqrf_ DGEQRF
#else
#define  DGEQRF dgeqrf_
#endif
extern void NAG_CALL DGEQRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08aef_(m, n, a, lda, tau, work, lwork, info)  \
F08AEF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08aef_ F08AEF
#else
#define  F08AEF f08aef_
#endif
extern void NAG_CALL F08AEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dorgqr_(m, n, k, a, lda, tau, work, lwork, info)  \
DORGQR(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dorgqr_ DORGQR
#else
#define  DORGQR dorgqr_
#endif
extern void NAG_CALL DORGQR(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08aff_(m, n, k, a, lda, tau, work, lwork, info)  \
F08AFF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08aff_ F08AFF
#else
#define  F08AFF f08aff_
#endif
extern void NAG_CALL F08AFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dormqr_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
DORMQR(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormqr_ DORMQR
#else
#define  DORMQR dormqr_
#endif
extern void NAG_CALL DORMQR(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08agf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08AGF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08agf_ F08AGF
#else
#define  F08AGF f08agf_
#endif
extern void NAG_CALL F08AGF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgelqf_(m, n, a, lda, tau, work, lwork, info)  \
DGELQF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgelqf_ DGELQF
#else
#define  DGELQF dgelqf_
#endif
extern void NAG_CALL DGELQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ahf_(m, n, a, lda, tau, work, lwork, info)  \
F08AHF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ahf_ F08AHF
#else
#define  F08AHF f08ahf_
#endif
extern void NAG_CALL F08AHF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dorglq_(m, n, k, a, lda, tau, work, lwork, info)  \
DORGLQ(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dorglq_ DORGLQ
#else
#define  DORGLQ dorglq_
#endif
extern void NAG_CALL DORGLQ(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ajf_(m, n, k, a, lda, tau, work, lwork, info)  \
F08AJF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ajf_ F08AJF
#else
#define  F08AJF f08ajf_
#endif
extern void NAG_CALL F08AJF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dormlq_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
DORMLQ(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormlq_ DORMLQ
#else
#define  DORMLQ dormlq_
#endif
extern void NAG_CALL DORMLQ(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08akf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08AKF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08akf_ F08AKF
#else
#define  F08AKF f08akf_
#endif
extern void NAG_CALL F08AKF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgels_(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info, length_trans)  \
ZGELS(trans, length_trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgels_ ZGELS
#else
#define  ZGELS zgels_
#endif
extern void NAG_CALL ZGELS(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08anf_(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info, length_trans)  \
F08ANF(trans, length_trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08anf_ F08ANF
#else
#define  F08ANF f08anf_
#endif
extern void NAG_CALL F08ANF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeqrf_(m, n, a, lda, tau, work, lwork, info)  \
ZGEQRF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeqrf_ ZGEQRF
#else
#define  ZGEQRF zgeqrf_
#endif
extern void NAG_CALL ZGEQRF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08asf_(m, n, a, lda, tau, work, lwork, info)  \
F08ASF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08asf_ F08ASF
#else
#define  F08ASF f08asf_
#endif
extern void NAG_CALL F08ASF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zungqr_(m, n, k, a, lda, tau, work, lwork, info)  \
ZUNGQR(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zungqr_ ZUNGQR
#else
#define  ZUNGQR zungqr_
#endif
extern void NAG_CALL ZUNGQR(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08atf_(m, n, k, a, lda, tau, work, lwork, info)  \
F08ATF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08atf_ F08ATF
#else
#define  F08ATF f08atf_
#endif
extern void NAG_CALL F08ATF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunmqr_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
ZUNMQR(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmqr_ ZUNMQR
#else
#define  ZUNMQR zunmqr_
#endif
extern void NAG_CALL ZUNMQR(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08auf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08AUF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08auf_ F08AUF
#else
#define  F08AUF f08auf_
#endif
extern void NAG_CALL F08AUF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgelqf_(m, n, a, lda, tau, work, lwork, info)  \
ZGELQF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgelqf_ ZGELQF
#else
#define  ZGELQF zgelqf_
#endif
extern void NAG_CALL ZGELQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08avf_(m, n, a, lda, tau, work, lwork, info)  \
F08AVF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08avf_ F08AVF
#else
#define  F08AVF f08avf_
#endif
extern void NAG_CALL F08AVF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunglq_(m, n, k, a, lda, tau, work, lwork, info)  \
ZUNGLQ(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunglq_ ZUNGLQ
#else
#define  ZUNGLQ zunglq_
#endif
extern void NAG_CALL ZUNGLQ(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08awf_(m, n, k, a, lda, tau, work, lwork, info)  \
F08AWF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08awf_ F08AWF
#else
#define  F08AWF f08awf_
#endif
extern void NAG_CALL F08AWF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunmlq_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
ZUNMLQ(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmlq_ ZUNMLQ
#else
#define  ZUNMLQ zunmlq_
#endif
extern void NAG_CALL ZUNMLQ(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08axf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08AXF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08axf_ F08AXF
#else
#define  F08AXF f08axf_
#endif
extern void NAG_CALL F08AXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgelsy_(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, info)  \
DGELSY(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgelsy_ DGELSY
#else
#define  DGELSY dgelsy_
#endif
extern void NAG_CALL DGELSY(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer jpvt[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08baf_(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, info)  \
F08BAF(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08baf_ F08BAF
#else
#define  F08BAF f08baf_
#endif
extern void NAG_CALL F08BAF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer jpvt[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeqpf_(m, n, a, lda, jpvt, tau, work, info)  \
DGEQPF(m, n, a, lda, jpvt, tau, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeqpf_ DGEQPF
#else
#define  DGEQPF dgeqpf_
#endif
extern void NAG_CALL DGEQPF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bef_(m, n, a, lda, jpvt, tau, work, info)  \
F08BEF(m, n, a, lda, jpvt, tau, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bef_ F08BEF
#else
#define  F08BEF f08bef_
#endif
extern void NAG_CALL F08BEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeqp3_(m, n, a, lda, jpvt, tau, work, lwork, info)  \
DGEQP3(m, n, a, lda, jpvt, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeqp3_ DGEQP3
#else
#define  DGEQP3 dgeqp3_
#endif
extern void NAG_CALL DGEQP3(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bff_(m, n, a, lda, jpvt, tau, work, lwork, info)  \
F08BFF(m, n, a, lda, jpvt, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bff_ F08BFF
#else
#define  F08BFF f08bff_
#endif
extern void NAG_CALL F08BFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtzrzf_(m, n, a, lda, tau, work, lwork, info)  \
DTZRZF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtzrzf_ DTZRZF
#else
#define  DTZRZF dtzrzf_
#endif
extern void NAG_CALL DTZRZF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bhf_(m, n, a, lda, tau, work, lwork, info)  \
F08BHF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bhf_ F08BHF
#else
#define  F08BHF f08bhf_
#endif
extern void NAG_CALL F08BHF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dormrz_(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
DORMRZ(side, length_side, trans, length_trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormrz_ DORMRZ
#else
#define  DORMRZ dormrz_
#endif
extern void NAG_CALL DORMRZ(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bkf_(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08BKF(side, length_side, trans, length_trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bkf_ F08BKF
#else
#define  F08BKF f08bkf_
#endif
extern void NAG_CALL F08BKF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgelsy_(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, rwork, info)  \
ZGELSY(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgelsy_ ZGELSY
#else
#define  ZGELSY zgelsy_
#endif
extern void NAG_CALL ZGELSY(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer jpvt[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bnf_(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, rwork, info)  \
F08BNF(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bnf_ F08BNF
#else
#define  F08BNF f08bnf_
#endif
extern void NAG_CALL F08BNF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nrhs,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer jpvt[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeqpf_(m, n, a, lda, jpvt, tau, work, rwork, info)  \
ZGEQPF(m, n, a, lda, jpvt, tau, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeqpf_ ZGEQPF
#else
#define  ZGEQPF zgeqpf_
#endif
extern void NAG_CALL ZGEQPF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bsf_(m, n, a, lda, jpvt, tau, work, rwork, info)  \
F08BSF(m, n, a, lda, jpvt, tau, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bsf_ F08BSF
#else
#define  F08BSF f08bsf_
#endif
extern void NAG_CALL F08BSF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeqp3_(m, n, a, lda, jpvt, tau, work, lwork, rwork, info)  \
ZGEQP3(m, n, a, lda, jpvt, tau, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeqp3_ ZGEQP3
#else
#define  ZGEQP3 zgeqp3_
#endif
extern void NAG_CALL ZGEQP3(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08btf_(m, n, a, lda, jpvt, tau, work, lwork, rwork, info)  \
F08BTF(m, n, a, lda, jpvt, tau, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08btf_ F08BTF
#else
#define  F08BTF f08btf_
#endif
extern void NAG_CALL F08BTF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer jpvt[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztzrzf_(m, n, a, lda, tau, work, lwork, info)  \
ZTZRZF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztzrzf_ ZTZRZF
#else
#define  ZTZRZF ztzrzf_
#endif
extern void NAG_CALL ZTZRZF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bvf_(m, n, a, lda, tau, work, lwork, info)  \
F08BVF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bvf_ F08BVF
#else
#define  F08BVF f08bvf_
#endif
extern void NAG_CALL F08BVF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunmrz_(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
ZUNMRZ(side, length_side, trans, length_trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmrz_ ZUNMRZ
#else
#define  ZUNMRZ zunmrz_
#endif
extern void NAG_CALL ZUNMRZ(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08bxf_(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08BXF(side, length_side, trans, length_trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08bxf_ F08BXF
#else
#define  F08BXF f08bxf_
#endif
extern void NAG_CALL F08BXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeqlf_(m, n, a, lda, tau, work, lwork, info)  \
DGEQLF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeqlf_ DGEQLF
#else
#define  DGEQLF dgeqlf_
#endif
extern void NAG_CALL DGEQLF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cef_(m, n, a, lda, tau, work, lwork, info)  \
F08CEF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cef_ F08CEF
#else
#define  F08CEF f08cef_
#endif
extern void NAG_CALL F08CEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dorgql_(m, n, k, a, lda, tau, work, lwork, info)  \
DORGQL(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dorgql_ DORGQL
#else
#define  DORGQL dorgql_
#endif
extern void NAG_CALL DORGQL(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cff_(m, n, k, a, lda, tau, work, lwork, info)  \
F08CFF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cff_ F08CFF
#else
#define  F08CFF f08cff_
#endif
extern void NAG_CALL F08CFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dormql_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
DORMQL(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormql_ DORMQL
#else
#define  DORMQL dormql_
#endif
extern void NAG_CALL DORMQL(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cgf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08CGF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cgf_ F08CGF
#else
#define  F08CGF f08cgf_
#endif
extern void NAG_CALL F08CGF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgerqf_(m, n, a, lda, tau, work, lwork, info)  \
DGERQF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgerqf_ DGERQF
#else
#define  DGERQF dgerqf_
#endif
extern void NAG_CALL DGERQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08chf_(m, n, a, lda, tau, work, lwork, info)  \
F08CHF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08chf_ F08CHF
#else
#define  F08CHF f08chf_
#endif
extern void NAG_CALL F08CHF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dorgrq_(m, n, k, a, lda, tau, work, lwork, info)  \
DORGRQ(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dorgrq_ DORGRQ
#else
#define  DORGRQ dorgrq_
#endif
extern void NAG_CALL DORGRQ(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cjf_(m, n, k, a, lda, tau, work, lwork, info)  \
F08CJF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cjf_ F08CJF
#else
#define  F08CJF f08cjf_
#endif
extern void NAG_CALL F08CJF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dormrq_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
DORMRQ(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormrq_ DORMRQ
#else
#define  DORMRQ dormrq_
#endif
extern void NAG_CALL DORMRQ(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ckf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08CKF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ckf_ F08CKF
#else
#define  F08CKF f08ckf_
#endif
extern void NAG_CALL F08CKF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeqlf_(m, n, a, lda, tau, work, lwork, info)  \
ZGEQLF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeqlf_ ZGEQLF
#else
#define  ZGEQLF zgeqlf_
#endif
extern void NAG_CALL ZGEQLF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08csf_(m, n, a, lda, tau, work, lwork, info)  \
F08CSF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08csf_ F08CSF
#else
#define  F08CSF f08csf_
#endif
extern void NAG_CALL F08CSF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zungql_(m, n, k, a, lda, tau, work, lwork, info)  \
ZUNGQL(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zungql_ ZUNGQL
#else
#define  ZUNGQL zungql_
#endif
extern void NAG_CALL ZUNGQL(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ctf_(m, n, k, a, lda, tau, work, lwork, info)  \
F08CTF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ctf_ F08CTF
#else
#define  F08CTF f08ctf_
#endif
extern void NAG_CALL F08CTF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunmql_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
ZUNMQL(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmql_ ZUNMQL
#else
#define  ZUNMQL zunmql_
#endif
extern void NAG_CALL ZUNMQL(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cuf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08CUF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cuf_ F08CUF
#else
#define  F08CUF f08cuf_
#endif
extern void NAG_CALL F08CUF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgerqf_(m, n, a, lda, tau, work, lwork, info)  \
ZGERQF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgerqf_ ZGERQF
#else
#define  ZGERQF zgerqf_
#endif
extern void NAG_CALL ZGERQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cvf_(m, n, a, lda, tau, work, lwork, info)  \
F08CVF(m, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cvf_ F08CVF
#else
#define  F08CVF f08cvf_
#endif
extern void NAG_CALL F08CVF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zungrq_(m, n, k, a, lda, tau, work, lwork, info)  \
ZUNGRQ(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zungrq_ ZUNGRQ
#else
#define  ZUNGRQ zungrq_
#endif
extern void NAG_CALL ZUNGRQ(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cwf_(m, n, k, a, lda, tau, work, lwork, info)  \
F08CWF(m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cwf_ F08CWF
#else
#define  F08CWF f08cwf_
#endif
extern void NAG_CALL F08CWF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunmrq_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
ZUNMRQ(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmrq_ ZUNMRQ
#else
#define  ZUNMRQ zunmrq_
#endif
extern void NAG_CALL ZUNMRQ(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08cxf_(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08CXF(side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08cxf_ F08CXF
#else
#define  F08CXF f08cxf_
#endif
extern void NAG_CALL F08CXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyev_(jobz, uplo, n, a, lda, w, work, lwork, info, length_jobz, length_uplo)  \
DSYEV(jobz, length_jobz, uplo, length_uplo, n, a, lda, w, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyev_ DSYEV
#else
#define  DSYEV dsyev_
#endif
extern void NAG_CALL DSYEV(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08faf_(jobz, uplo, n, a, lda, w, work, lwork, info, length_jobz, length_uplo)  \
F08FAF(jobz, length_jobz, uplo, length_uplo, n, a, lda, w, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08faf_ F08FAF
#else
#define  F08FAF f08faf_
#endif
extern void NAG_CALL F08FAF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyevx_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
DSYEVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyevx_ DSYEVX
#else
#define  DSYEVX dsyevx_
#endif
extern void NAG_CALL DSYEVX(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fbf_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08FBF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fbf_ F08FBF
#else
#define  F08FBF f08fbf_
#endif
extern void NAG_CALL F08FBF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyevd_(job, uplo, n, a, lda, w, work, lwork, iwork, liwork, info, length_job, length_uplo)  \
DSYEVD(job, length_job, uplo, length_uplo, n, a, lda, w, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyevd_ DSYEVD
#else
#define  DSYEVD dsyevd_
#endif
extern void NAG_CALL DSYEVD(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fcf_(job, uplo, n, a, lda, w, work, lwork, iwork, liwork, info, length_job, length_uplo)  \
F08FCF(job, length_job, uplo, length_uplo, n, a, lda, w, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fcf_ F08FCF
#else
#define  F08FCF f08fcf_
#endif
extern void NAG_CALL F08FCF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsyevr_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range, length_uplo)  \
DSYEVR(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsyevr_ DSYEVR
#else
#define  DSYEVR dsyevr_
#endif
extern void NAG_CALL DSYEVR(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer isuppz[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fdf_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range, length_uplo)  \
F08FDF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fdf_ F08FDF
#else
#define  F08FDF f08fdf_
#endif
extern void NAG_CALL F08FDF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer isuppz[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsytrd_(uplo, n, a, lda, d, e, tau, work, lwork, info, length_uplo)  \
DSYTRD(uplo, length_uplo, n, a, lda, d, e, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsytrd_ DSYTRD
#else
#define  DSYTRD dsytrd_
#endif
extern void NAG_CALL DSYTRD(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fef_(uplo, n, a, lda, d, e, tau, work, lwork, info, length_uplo)  \
F08FEF(uplo, length_uplo, n, a, lda, d, e, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fef_ F08FEF
#else
#define  F08FEF f08fef_
#endif
extern void NAG_CALL F08FEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dorgtr_(uplo, n, a, lda, tau, work, lwork, info, length_uplo)  \
DORGTR(uplo, length_uplo, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dorgtr_ DORGTR
#else
#define  DORGTR dorgtr_
#endif
extern void NAG_CALL DORGTR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fff_(uplo, n, a, lda, tau, work, lwork, info, length_uplo)  \
F08FFF(uplo, length_uplo, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fff_ F08FFF
#else
#define  F08FFF f08fff_
#endif
extern void NAG_CALL F08FFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dormtr_(side, uplo, trans, m, n, a, lda, tau, c, ldc, work, lwork, info, length_side, length_uplo, length_trans)  \
DORMTR(side, length_side, uplo, length_uplo, trans, length_trans, m, n, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormtr_ DORMTR
#else
#define  DORMTR dormtr_
#endif
extern void NAG_CALL DORMTR(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fgf_(side, uplo, trans, m, n, a, lda, tau, c, ldc, work, lwork, info, length_side, length_uplo, length_trans)  \
F08FGF(side, length_side, uplo, length_uplo, trans, length_trans, m, n, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fgf_ F08FGF
#else
#define  F08FGF f08fgf_
#endif
extern void NAG_CALL F08FGF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ddisna_(job, m, n, d, sep, info, length_job)  \
DDISNA(job, length_job, m, n, d, sep, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ddisna_ DDISNA
#else
#define  DDISNA ddisna_
#endif
extern void NAG_CALL DDISNA(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  double sep[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08flf_(job, m, n, d, sep, info, length_job)  \
F08FLF(job, length_job, m, n, d, sep, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08flf_ F08FLF
#else
#define  F08FLF f08flf_
#endif
extern void NAG_CALL F08FLF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  double sep[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zheev_(jobz, uplo, n, a, lda, w, work, lwork, rwork, info, length_jobz, length_uplo)  \
ZHEEV(jobz, length_jobz, uplo, length_uplo, n, a, lda, w, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zheev_ ZHEEV
#else
#define  ZHEEV zheev_
#endif
extern void NAG_CALL ZHEEV(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fnf_(jobz, uplo, n, a, lda, w, work, lwork, rwork, info, length_jobz, length_uplo)  \
F08FNF(jobz, length_jobz, uplo, length_uplo, n, a, lda, w, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fnf_ F08FNF
#else
#define  F08FNF f08fnf_
#endif
extern void NAG_CALL F08FNF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zheevx_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
ZHEEVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zheevx_ ZHEEVX
#else
#define  ZHEEVX zheevx_
#endif
extern void NAG_CALL ZHEEVX(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fpf_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08FPF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fpf_ F08FPF
#else
#define  F08FPF f08fpf_
#endif
extern void NAG_CALL F08FPF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zheevd_(job, uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork, info, length_job, length_uplo)  \
ZHEEVD(job, length_job, uplo, length_uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zheevd_ ZHEEVD
#else
#define  ZHEEVD zheevd_
#endif
extern void NAG_CALL ZHEEVD(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fqf_(job, uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork, info, length_job, length_uplo)  \
F08FQF(job, length_job, uplo, length_uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fqf_ F08FQF
#else
#define  F08FQF f08fqf_
#endif
extern void NAG_CALL F08FQF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double w[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zheevr_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_range, length_uplo)  \
ZHEEVR(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zheevr_ ZHEEVR
#else
#define  ZHEEVR zheevr_
#endif
extern void NAG_CALL ZHEEVR(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer isuppz[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08frf_(jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_range, length_uplo)  \
F08FRF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08frf_ F08FRF
#else
#define  F08FRF f08frf_
#endif
extern void NAG_CALL F08FRF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer isuppz[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhetrd_(uplo, n, a, lda, d, e, tau, work, lwork, info, length_uplo)  \
ZHETRD(uplo, length_uplo, n, a, lda, d, e, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhetrd_ ZHETRD
#else
#define  ZHETRD zhetrd_
#endif
extern void NAG_CALL ZHETRD(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fsf_(uplo, n, a, lda, d, e, tau, work, lwork, info, length_uplo)  \
F08FSF(uplo, length_uplo, n, a, lda, d, e, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fsf_ F08FSF
#else
#define  F08FSF f08fsf_
#endif
extern void NAG_CALL F08FSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zungtr_(uplo, n, a, lda, tau, work, lwork, info, length_uplo)  \
ZUNGTR(uplo, length_uplo, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zungtr_ ZUNGTR
#else
#define  ZUNGTR zungtr_
#endif
extern void NAG_CALL ZUNGTR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ftf_(uplo, n, a, lda, tau, work, lwork, info, length_uplo)  \
F08FTF(uplo, length_uplo, n, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ftf_ F08FTF
#else
#define  F08FTF f08ftf_
#endif
extern void NAG_CALL F08FTF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunmtr_(side, uplo, trans, m, n, a, lda, tau, c, ldc, work, lwork, info, length_side, length_uplo, length_trans)  \
ZUNMTR(side, length_side, uplo, length_uplo, trans, length_trans, m, n, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmtr_ ZUNMTR
#else
#define  ZUNMTR zunmtr_
#endif
extern void NAG_CALL ZUNMTR(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08fuf_(side, uplo, trans, m, n, a, lda, tau, c, ldc, work, lwork, info, length_side, length_uplo, length_trans)  \
F08FUF(side, length_side, uplo, length_uplo, trans, length_trans, m, n, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08fuf_ F08FUF
#else
#define  F08FUF f08fuf_
#endif
extern void NAG_CALL F08FUF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspev_(jobz, uplo, n, ap, w, z, ldz, work, info, length_jobz, length_uplo)  \
DSPEV(jobz, length_jobz, uplo, length_uplo, n, ap, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspev_ DSPEV
#else
#define  DSPEV dspev_
#endif
extern void NAG_CALL DSPEV(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gaf_(jobz, uplo, n, ap, w, z, ldz, work, info, length_jobz, length_uplo)  \
F08GAF(jobz, length_jobz, uplo, length_uplo, n, ap, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gaf_ F08GAF
#else
#define  F08GAF f08gaf_
#endif
extern void NAG_CALL F08GAF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspevx_(jobz, range, uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
DSPEVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspevx_ DSPEVX
#else
#define  DSPEVX dspevx_
#endif
extern void NAG_CALL DSPEVX(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gbf_(jobz, range, uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08GBF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gbf_ F08GBF
#else
#define  F08GBF f08gbf_
#endif
extern void NAG_CALL F08GBF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspevd_(job, uplo, n, ap, w, z, ldz, work, lwork, iwork, liwork, info, length_job, length_uplo)  \
DSPEVD(job, length_job, uplo, length_uplo, n, ap, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspevd_ DSPEVD
#else
#define  DSPEVD dspevd_
#endif
extern void NAG_CALL DSPEVD(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gcf_(job, uplo, n, ap, w, z, ldz, work, lwork, iwork, liwork, info, length_job, length_uplo)  \
F08GCF(job, length_job, uplo, length_uplo, n, ap, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gcf_ F08GCF
#else
#define  F08GCF f08gcf_
#endif
extern void NAG_CALL F08GCF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsptrd_(uplo, n, ap, d, e, tau, info, length_uplo)  \
DSPTRD(uplo, length_uplo, n, ap, d, e, tau, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsptrd_ DSPTRD
#else
#define  DSPTRD dsptrd_
#endif
extern void NAG_CALL DSPTRD(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gef_(uplo, n, ap, d, e, tau, info, length_uplo)  \
F08GEF(uplo, length_uplo, n, ap, d, e, tau, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gef_ F08GEF
#else
#define  F08GEF f08gef_
#endif
extern void NAG_CALL F08GEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dopgtr_(uplo, n, ap, tau, q, ldq, work, info, length_uplo)  \
DOPGTR(uplo, length_uplo, n, ap, tau, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dopgtr_ DOPGTR
#else
#define  DOPGTR dopgtr_
#endif
extern void NAG_CALL DOPGTR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  CONST double tau[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gff_(uplo, n, ap, tau, q, ldq, work, info, length_uplo)  \
F08GFF(uplo, length_uplo, n, ap, tau, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gff_ F08GFF
#else
#define  F08GFF f08gff_
#endif
extern void NAG_CALL F08GFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST double ap[] /* 1 dimension */,
  CONST double tau[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dopmtr_(side, uplo, trans, m, n, ap, tau, c, ldc, work, info, length_side, length_uplo, length_trans)  \
DOPMTR(side, length_side, uplo, length_uplo, trans, length_trans, m, n, ap, tau, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dopmtr_ DOPMTR
#else
#define  DOPMTR dopmtr_
#endif
extern void NAG_CALL DOPMTR(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ggf_(side, uplo, trans, m, n, ap, tau, c, ldc, work, info, length_side, length_uplo, length_trans)  \
F08GGF(side, length_side, uplo, length_uplo, trans, length_trans, m, n, ap, tau, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ggf_ F08GGF
#else
#define  F08GGF f08ggf_
#endif
extern void NAG_CALL F08GGF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST double tau[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpev_(jobz, uplo, n, ap, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
ZHPEV(jobz, length_jobz, uplo, length_uplo, n, ap, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpev_ ZHPEV
#else
#define  ZHPEV zhpev_
#endif
extern void NAG_CALL ZHPEV(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gnf_(jobz, uplo, n, ap, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
F08GNF(jobz, length_jobz, uplo, length_uplo, n, ap, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gnf_ F08GNF
#else
#define  F08GNF f08gnf_
#endif
extern void NAG_CALL F08GNF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpevx_(jobz, range, uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
ZHPEVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpevx_ ZHPEVX
#else
#define  ZHPEVX zhpevx_
#endif
extern void NAG_CALL ZHPEVX(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gpf_(jobz, range, uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08GPF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gpf_ F08GPF
#else
#define  F08GPF f08gpf_
#endif
extern void NAG_CALL F08GPF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpevd_(job, uplo, n, ap, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_job, length_uplo)  \
ZHPEVD(job, length_job, uplo, length_uplo, n, ap, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpevd_ ZHPEVD
#else
#define  ZHPEVD zhpevd_
#endif
extern void NAG_CALL ZHPEVD(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gqf_(job, uplo, n, ap, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_job, length_uplo)  \
F08GQF(job, length_job, uplo, length_uplo, n, ap, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gqf_ F08GQF
#else
#define  F08GQF f08gqf_
#endif
extern void NAG_CALL F08GQF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhptrd_(uplo, n, ap, d, e, tau, info, length_uplo)  \
ZHPTRD(uplo, length_uplo, n, ap, d, e, tau, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhptrd_ ZHPTRD
#else
#define  ZHPTRD zhptrd_
#endif
extern void NAG_CALL ZHPTRD(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gsf_(uplo, n, ap, d, e, tau, info, length_uplo)  \
F08GSF(uplo, length_uplo, n, ap, d, e, tau, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gsf_ F08GSF
#else
#define  F08GSF f08gsf_
#endif
extern void NAG_CALL F08GSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zupgtr_(uplo, n, ap, tau, q, ldq, work, info, length_uplo)  \
ZUPGTR(uplo, length_uplo, n, ap, tau, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zupgtr_ ZUPGTR
#else
#define  ZUPGTR zupgtr_
#endif
extern void NAG_CALL ZUPGTR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex tau[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08gtf_(uplo, n, ap, tau, q, ldq, work, info, length_uplo)  \
F08GTF(uplo, length_uplo, n, ap, tau, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08gtf_ F08GTF
#else
#define  F08GTF f08gtf_
#endif
extern void NAG_CALL F08GTF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Complex ap[] /* 1 dimension */,
  CONST Complex tau[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zupmtr_(side, uplo, trans, m, n, ap, tau, c, ldc, work, info, length_side, length_uplo, length_trans)  \
ZUPMTR(side, length_side, uplo, length_uplo, trans, length_trans, m, n, ap, tau, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zupmtr_ ZUPMTR
#else
#define  ZUPMTR zupmtr_
#endif
extern void NAG_CALL ZUPMTR(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08guf_(side, uplo, trans, m, n, ap, tau, c, ldc, work, info, length_side, length_uplo, length_trans)  \
F08GUF(side, length_side, uplo, length_uplo, trans, length_trans, m, n, ap, tau, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08guf_ F08GUF
#else
#define  F08GUF f08guf_
#endif
extern void NAG_CALL F08GUF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Complex tau[] /* 1 dimension */,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_uplo,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsbev_(jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, info, length_jobz, length_uplo)  \
DSBEV(jobz, length_jobz, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbev_ DSBEV
#else
#define  DSBEV dsbev_
#endif
extern void NAG_CALL DSBEV(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08haf_(jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, info, length_jobz, length_uplo)  \
F08HAF(jobz, length_jobz, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08haf_ F08HAF
#else
#define  F08HAF f08haf_
#endif
extern void NAG_CALL F08HAF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsbevx_(jobz, range, uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
DSBEVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbevx_ DSBEVX
#else
#define  DSBEVX dsbevx_
#endif
extern void NAG_CALL DSBEVX(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08hbf_(jobz, range, uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08HBF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08hbf_ F08HBF
#else
#define  F08HBF f08hbf_
#endif
extern void NAG_CALL F08HBF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsbevd_(job, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, iwork, liwork, info, length_job, length_uplo)  \
DSBEVD(job, length_job, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbevd_ DSBEVD
#else
#define  DSBEVD dsbevd_
#endif
extern void NAG_CALL DSBEVD(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08hcf_(job, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, iwork, liwork, info, length_job, length_uplo)  \
F08HCF(job, length_job, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08hcf_ F08HCF
#else
#define  F08HCF f08hcf_
#endif
extern void NAG_CALL F08HCF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsbtrd_(vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work, info, length_vect, length_uplo)  \
DSBTRD(vect, length_vect, uplo, length_uplo, n, kd, ab, ldab, d, e, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbtrd_ DSBTRD
#else
#define  DSBTRD dsbtrd_
#endif
extern void NAG_CALL DSBTRD(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08hef_(vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work, info, length_vect, length_uplo)  \
F08HEF(vect, length_vect, uplo, length_uplo, n, kd, ab, ldab, d, e, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08hef_ F08HEF
#else
#define  F08HEF f08hef_
#endif
extern void NAG_CALL F08HEF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhbev_(jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
ZHBEV(jobz, length_jobz, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbev_ ZHBEV
#else
#define  ZHBEV zhbev_
#endif
extern void NAG_CALL ZHBEV(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08hnf_(jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
F08HNF(jobz, length_jobz, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08hnf_ F08HNF
#else
#define  F08HNF f08hnf_
#endif
extern void NAG_CALL F08HNF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhbevx_(jobz, range, uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
ZHBEVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbevx_ ZHBEVX
#else
#define  ZHBEVX zhbevx_
#endif
extern void NAG_CALL ZHBEVX(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08hpf_(jobz, range, uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08HPF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, kd, ab, ldab, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08hpf_ F08HPF
#else
#define  F08HPF f08hpf_
#endif
extern void NAG_CALL F08HPF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhbevd_(job, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_job, length_uplo)  \
ZHBEVD(job, length_job, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbevd_ ZHBEVD
#else
#define  ZHBEVD zhbevd_
#endif
extern void NAG_CALL ZHBEVD(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08hqf_(job, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_job, length_uplo)  \
F08HQF(job, length_job, uplo, length_uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08hqf_ F08HQF
#else
#define  F08HQF f08hqf_
#endif
extern void NAG_CALL F08HQF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhbtrd_(vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work, info, length_vect, length_uplo)  \
ZHBTRD(vect, length_vect, uplo, length_uplo, n, kd, ab, ldab, d, e, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbtrd_ ZHBTRD
#else
#define  ZHBTRD zhbtrd_
#endif
extern void NAG_CALL ZHBTRD(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08hsf_(vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work, info, length_vect, length_uplo)  \
F08HSF(vect, length_vect, uplo, length_uplo, n, kd, ab, ldab, d, e, q, ldq, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08hsf_ F08HSF
#else
#define  F08HSF f08hsf_
#endif
extern void NAG_CALL F08HSF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kd,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstev_(jobz, n, d, e, z, ldz, work, info, length_jobz)  \
DSTEV(jobz, length_jobz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dstev_ DSTEV
#else
#define  DSTEV dstev_
#endif
extern void NAG_CALL DSTEV(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jaf_(jobz, n, d, e, z, ldz, work, info, length_jobz)  \
F08JAF(jobz, length_jobz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jaf_ F08JAF
#else
#define  F08JAF f08jaf_
#endif
extern void NAG_CALL F08JAF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstevx_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range)  \
DSTEVX(jobz, length_jobz, range, length_range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dstevx_ DSTEVX
#else
#define  DSTEVX dstevx_
#endif
extern void NAG_CALL DSTEVX(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jbf_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range)  \
F08JBF(jobz, length_jobz, range, length_range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jbf_ F08JBF
#else
#define  F08JBF f08jbf_
#endif
extern void NAG_CALL F08JBF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer jfail[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstevd_(job, n, d, e, z, ldz, work, lwork, iwork, liwork, info, length_job)  \
DSTEVD(job, length_job, n, d, e, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dstevd_ DSTEVD
#else
#define  DSTEVD dstevd_
#endif
extern void NAG_CALL DSTEVD(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jcf_(job, n, d, e, z, ldz, work, lwork, iwork, liwork, info, length_job)  \
F08JCF(job, length_job, n, d, e, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jcf_ F08JCF
#else
#define  F08JCF f08jcf_
#endif
extern void NAG_CALL F08JCF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstevr_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range)  \
DSTEVR(jobz, length_jobz, range, length_range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dstevr_ DSTEVR
#else
#define  DSTEVR dstevr_
#endif
extern void NAG_CALL DSTEVR(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer isuppz[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jdf_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range)  \
F08JDF(jobz, length_jobz, range, length_range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jdf_ F08JDF
#else
#define  F08JDF f08jdf_
#endif
extern void NAG_CALL F08JDF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  Integer REFPTR m,
  double w[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer isuppz[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz,
 CONST Charlen length_range
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsteqr_(compz, n, d, e, z, ldz, work, info, length_compz)  \
DSTEQR(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsteqr_ DSTEQR
#else
#define  DSTEQR dsteqr_
#endif
extern void NAG_CALL DSTEQR(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jef_(compz, n, d, e, z, ldz, work, info, length_compz)  \
F08JEF(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jef_ F08JEF
#else
#define  F08JEF f08jef_
#endif
extern void NAG_CALL F08JEF(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsterf_(n, d, e, info)  \
DSTERF(n, d, e, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsterf_ DSTERF
#else
#define  DSTERF dsterf_
#endif
extern void NAG_CALL DSTERF(
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jff_(n, d, e, info)  \
F08JFF(n, d, e, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jff_ F08JFF
#else
#define  F08JFF f08jff_
#endif
extern void NAG_CALL F08JFF(
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dpteqr_(compz, n, d, e, z, ldz, work, info, length_compz)  \
DPTEQR(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpteqr_ DPTEQR
#else
#define  DPTEQR dpteqr_
#endif
extern void NAG_CALL DPTEQR(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jgf_(compz, n, d, e, z, ldz, work, info, length_compz)  \
F08JGF(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jgf_ F08JGF
#else
#define  F08JGF f08jgf_
#endif
extern void NAG_CALL F08JGF(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFP