

/* 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 REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstedc_(compz, n, d, e, z, ldz, work, lwork, iwork, liwork, info, length_compz)  \
DSTEDC(compz, length_compz, n, d, e, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dstedc_ DSTEDC
#else
#define  DSTEDC dstedc_
#endif
extern void NAG_CALL DSTEDC(
  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 */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jhf_(compz, n, d, e, z, ldz, work, lwork, iwork, liwork, info, length_compz)  \
F08JHF(compz, length_compz, n, d, e, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jhf_ F08JHF
#else
#define  F08JHF f08jhf_
#endif
extern void NAG_CALL F08JHF(
  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 */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstebz_(range, order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, work, iwork, info, length_range, length_order)  \
DSTEBZ(range, length_range, order, length_order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dstebz_ DSTEBZ
#else
#define  DSTEBZ dstebz_
#endif
extern void NAG_CALL DSTEBZ(
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  Integer REFPTR m,
  Integer REFPTR nsplit,
  double w[] /* 1 dimension */,
  Integer iblock[] /* 1 dimension */,
  Integer isplit[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_range,
 CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jjf_(range, order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, work, iwork, info, length_range, length_order)  \
F08JJF(range, length_range, order, length_order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jjf_ F08JJF
#else
#define  F08JJF f08jjf_
#endif
extern void NAG_CALL F08JJF(
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR vl,
  CONST double REFPTR vu,
  CONST Integer REFPTR il,
  CONST Integer REFPTR iu,
  CONST double REFPTR abstol,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  Integer REFPTR m,
  Integer REFPTR nsplit,
  double w[] /* 1 dimension */,
  Integer iblock[] /* 1 dimension */,
  Integer isplit[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_range,
 CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstein_(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info)  \
DSTEIN(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dstein_ DSTEIN
#else
#define  DSTEIN dstein_
#endif
extern void NAG_CALL DSTEIN(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double w[] /* 1 dimension */,
  CONST Integer iblock[] /* 1 dimension */,
  CONST Integer isplit[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer ifailv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jkf_(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info)  \
F08JKF(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jkf_ F08JKF
#else
#define  F08JKF f08jkf_
#endif
extern void NAG_CALL F08JKF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double w[] /* 1 dimension */,
  CONST Integer iblock[] /* 1 dimension */,
  CONST Integer isplit[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer ifailv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dstegr_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range)  \
DSTEGR(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  dstegr_ DSTEGR
#else
#define  DSTEGR dstegr_
#endif
extern void NAG_CALL DSTEGR(
  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 \
f08jlf_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range)  \
F08JLF(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  f08jlf_ F08JLF
#else
#define  F08JLF f08jlf_
#endif
extern void NAG_CALL F08JLF(
  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 \
zsteqr_(compz, n, d, e, z, ldz, work, info, length_compz)  \
ZSTEQR(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zsteqr_ ZSTEQR
#else
#define  ZSTEQR zsteqr_
#endif
extern void NAG_CALL ZSTEQR(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex 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 \
f08jsf_(compz, n, d, e, z, ldz, work, info, length_compz)  \
F08JSF(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jsf_ F08JSF
#else
#define  F08JSF f08jsf_
#endif
extern void NAG_CALL F08JSF(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex 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 \
zpteqr_(compz, n, d, e, z, ldz, work, info, length_compz)  \
ZPTEQR(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpteqr_ ZPTEQR
#else
#define  ZPTEQR zpteqr_
#endif
extern void NAG_CALL ZPTEQR(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex 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 \
f08juf_(compz, n, d, e, z, ldz, work, info, length_compz)  \
F08JUF(compz, length_compz, n, d, e, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08juf_ F08JUF
#else
#define  F08JUF f08juf_
#endif
extern void NAG_CALL F08JUF(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex 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 \
zstedc_(compz, n, d, e, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_compz)  \
ZSTEDC(compz, length_compz, n, d, e, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zstedc_ ZSTEDC
#else
#define  ZSTEDC zstedc_
#endif
extern void NAG_CALL ZSTEDC(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 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_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jvf_(compz, n, d, e, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_compz)  \
F08JVF(compz, length_compz, n, d, e, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jvf_ F08JVF
#else
#define  F08JVF f08jvf_
#endif
extern void NAG_CALL F08JVF(
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 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_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zstein_(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info)  \
ZSTEIN(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zstein_ ZSTEIN
#else
#define  ZSTEIN zstein_
#endif
extern void NAG_CALL ZSTEIN(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double w[] /* 1 dimension */,
  CONST Integer iblock[] /* 1 dimension */,
  CONST Integer isplit[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer ifailv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08jxf_(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info)  \
F08JXF(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifailv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08jxf_ F08JXF
#else
#define  F08JXF f08jxf_
#endif
extern void NAG_CALL F08JXF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double w[] /* 1 dimension */,
  CONST Integer iblock[] /* 1 dimension */,
  CONST Integer isplit[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer ifailv[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zstegr_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range)  \
ZSTEGR(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  zstegr_ ZSTEGR
#else
#define  ZSTEGR zstegr_
#endif
extern void NAG_CALL ZSTEGR(
  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 */,
  Complex 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 \
f08jyf_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info, length_jobz, length_range)  \
F08JYF(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  f08jyf_ F08JYF
#else
#define  F08JYF f08jyf_
#endif
extern void NAG_CALL F08JYF(
  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 */,
  Complex 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 \
dgelss_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, info)  \
DGELSS(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgelss_ DGELSS
#else
#define  DGELSS dgelss_
#endif
extern void NAG_CALL DGELSS(
  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 s[] /* 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 \
f08kaf_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, info)  \
F08KAF(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kaf_ F08KAF
#else
#define  F08KAF f08kaf_
#endif
extern void NAG_CALL F08KAF(
  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 s[] /* 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 \
dgesvd_(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info, length_jobu, length_jobvt)  \
DGESVD(jobu, length_jobu, jobvt, length_jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgesvd_ DGESVD
#else
#define  DGESVD dgesvd_
#endif
extern void NAG_CALL DGESVD(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobvt
#ifdef USE_STDCALL
,  CONST Charlen length_jobvt
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobvt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kbf_(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info, length_jobu, length_jobvt)  \
F08KBF(jobu, length_jobu, jobvt, length_jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kbf_ F08KBF
#else
#define  F08KBF f08kbf_
#endif
extern void NAG_CALL F08KBF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobvt
#ifdef USE_STDCALL
,  CONST Charlen length_jobvt
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobvt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgelsd_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info)  \
DGELSD(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgelsd_ DGELSD
#else
#define  DGELSD dgelsd_
#endif
extern void NAG_CALL DGELSD(
  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 s[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kcf_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info)  \
F08KCF(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kcf_ F08KCF
#else
#define  F08KCF f08kcf_
#endif
extern void NAG_CALL F08KCF(
  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 s[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgesdd_(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info, length_jobz)  \
DGESDD(jobz, length_jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgesdd_ DGESDD
#else
#define  DGESDD dgesdd_
#endif
extern void NAG_CALL DGESDD(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kdf_(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info, length_jobz)  \
F08KDF(jobz, length_jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kdf_ F08KDF
#else
#define  F08KDF f08kdf_
#endif
extern void NAG_CALL F08KDF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgebrd_(m, n, a, lda, d, e, tauq, taup, work, lwork, info)  \
DGEBRD(m, n, a, lda, d, e, tauq, taup, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgebrd_ DGEBRD
#else
#define  DGEBRD dgebrd_
#endif
extern void NAG_CALL DGEBRD(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double tauq[] /* 1 dimension */,
  double taup[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kef_(m, n, a, lda, d, e, tauq, taup, work, lwork, info)  \
F08KEF(m, n, a, lda, d, e, tauq, taup, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kef_ F08KEF
#else
#define  F08KEF f08kef_
#endif
extern void NAG_CALL F08KEF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double tauq[] /* 1 dimension */,
  double taup[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dorgbr_(vect, m, n, k, a, lda, tau, work, lwork, info, length_vect)  \
DORGBR(vect, length_vect, m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dorgbr_ DORGBR
#else
#define  DORGBR dorgbr_
#endif
extern void NAG_CALL DORGBR(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#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 work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kff_(vect, m, n, k, a, lda, tau, work, lwork, info, length_vect)  \
F08KFF(vect, length_vect, m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kff_ F08KFF
#else
#define  F08KFF f08kff_
#endif
extern void NAG_CALL F08KFF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#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 work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dormbr_(vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_vect, length_side, length_trans)  \
DORMBR(vect, length_vect, side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormbr_ DORMBR
#else
#define  DORMBR dormbr_
#endif
extern void NAG_CALL DORMBR(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  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_vect,
 CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kgf_(vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_vect, length_side, length_trans)  \
F08KGF(vect, length_vect, side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kgf_ F08KGF
#else
#define  F08KGF f08kgf_
#endif
extern void NAG_CALL F08KGF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  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_vect,
 CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgelss_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, info)  \
ZGELSS(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgelss_ ZGELSS
#else
#define  ZGELSS zgelss_
#endif
extern void NAG_CALL ZGELSS(
  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,
  double s[] /* 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 \
f08knf_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, info)  \
F08KNF(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08knf_ F08KNF
#else
#define  F08KNF f08knf_
#endif
extern void NAG_CALL F08KNF(
  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,
  double s[] /* 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 \
zgesvd_(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info, length_jobu, length_jobvt)  \
ZGESVD(jobu, length_jobu, jobvt, length_jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgesvd_ ZGESVD
#else
#define  ZGESVD zgesvd_
#endif
extern void NAG_CALL ZGESVD(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobvt
#ifdef USE_STDCALL
,  CONST Charlen length_jobvt
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobvt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kpf_(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info, length_jobu, length_jobvt)  \
F08KPF(jobu, length_jobu, jobvt, length_jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kpf_ F08KPF
#else
#define  F08KPF f08kpf_
#endif
extern void NAG_CALL F08KPF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobvt
#ifdef USE_STDCALL
,  CONST Charlen length_jobvt
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobvt
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgelsd_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info)  \
ZGELSD(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgelsd_ ZGELSD
#else
#define  ZGELSD zgelsd_
#endif
extern void NAG_CALL ZGELSD(
  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,
  double s[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kqf_(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info)  \
F08KQF(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kqf_ F08KQF
#else
#define  F08KQF f08kqf_
#endif
extern void NAG_CALL F08KQF(
  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,
  double s[] /* 1 dimension */,
  CONST double REFPTR rcond,
  Integer REFPTR rank,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgesdd_(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info, length_jobz)  \
ZGESDD(jobz, length_jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgesdd_ ZGESDD
#else
#define  ZGESDD zgesdd_
#endif
extern void NAG_CALL ZGESDD(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08krf_(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info, length_jobz)  \
F08KRF(jobz, length_jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08krf_ F08KRF
#else
#define  F08KRF f08krf_
#endif
extern void NAG_CALL F08KRF(
  CONST char * jobz
#ifdef USE_STDCALL
,  CONST Charlen length_jobz
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double s[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgebrd_(m, n, a, lda, d, e, tauq, taup, work, lwork, info)  \
ZGEBRD(m, n, a, lda, d, e, tauq, taup, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgebrd_ ZGEBRD
#else
#define  ZGEBRD zgebrd_
#endif
extern void NAG_CALL ZGEBRD(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex tauq[] /* 1 dimension */,
  Complex taup[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ksf_(m, n, a, lda, d, e, tauq, taup, work, lwork, info)  \
F08KSF(m, n, a, lda, d, e, tauq, taup, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ksf_ F08KSF
#else
#define  F08KSF f08ksf_
#endif
extern void NAG_CALL F08KSF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex tauq[] /* 1 dimension */,
  Complex taup[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zungbr_(vect, m, n, k, a, lda, tau, work, lwork, info, length_vect)  \
ZUNGBR(vect, length_vect, m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zungbr_ ZUNGBR
#else
#define  ZUNGBR zungbr_
#endif
extern void NAG_CALL ZUNGBR(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#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 work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ktf_(vect, m, n, k, a, lda, tau, work, lwork, info, length_vect)  \
F08KTF(vect, length_vect, m, n, k, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ktf_ F08KTF
#else
#define  F08KTF f08ktf_
#endif
extern void NAG_CALL F08KTF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#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 work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zunmbr_(vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_vect, length_side, length_trans)  \
ZUNMBR(vect, length_vect, side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmbr_ ZUNMBR
#else
#define  ZUNMBR zunmbr_
#endif
extern void NAG_CALL ZUNMBR(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  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_vect,
 CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08kuf_(vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info, length_vect, length_side, length_trans)  \
F08KUF(vect, length_vect, side, length_side, trans, length_trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08kuf_ F08KUF
#else
#define  F08KUF f08kuf_
#endif
extern void NAG_CALL F08KUF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  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_vect,
 CONST Charlen length_side,
 CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgbbrd_(vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, info, length_vect)  \
DGBBRD(vect, length_vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgbbrd_ DGBBRD
#else
#define  DGBBRD dgbbrd_
#endif
extern void NAG_CALL DGBBRD(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncc,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  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 pt[] /* 2 dimension */,
  CONST Integer REFPTR ldpt,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08lef_(vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, info, length_vect)  \
F08LEF(vect, length_vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08lef_ F08LEF
#else
#define  F08LEF f08lef_
#endif
extern void NAG_CALL F08LEF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncc,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  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 pt[] /* 2 dimension */,
  CONST Integer REFPTR ldpt,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgbbrd_(vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, rwork, info, length_vect)  \
ZGBBRD(vect, length_vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgbbrd_ ZGBBRD
#else
#define  ZGBBRD zgbbrd_
#endif
extern void NAG_CALL ZGBBRD(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncc,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  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 pt[] /* 2 dimension */,
  CONST Integer REFPTR ldpt,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08lsf_(vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, rwork, info, length_vect)  \
F08LSF(vect, length_vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08lsf_ F08LSF
#else
#define  F08LSF f08lsf_
#endif
extern void NAG_CALL F08LSF(
  CONST char * vect
#ifdef USE_STDCALL
,  CONST Charlen length_vect
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncc,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  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 pt[] /* 2 dimension */,
  CONST Integer REFPTR ldpt,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dbdsdc_(uplo, compq, n, d, e, u, ldu, vt, ldvt, q, iq, work, iwork, info, length_uplo, length_compq)  \
DBDSDC(uplo, length_uplo, compq, length_compq, n, d, e, u, ldu, vt, ldvt, q, iq, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dbdsdc_ DBDSDC
#else
#define  DBDSDC dbdsdc_
#endif
extern void NAG_CALL DBDSDC(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double q[] /* 1 dimension */,
  Integer iq[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08mdf_(uplo, compq, n, d, e, u, ldu, vt, ldvt, q, iq, work, iwork, info, length_uplo, length_compq)  \
F08MDF(uplo, length_uplo, compq, length_compq, n, d, e, u, ldu, vt, ldvt, q, iq, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08mdf_ F08MDF
#else
#define  F08MDF f08mdf_
#endif
extern void NAG_CALL F08MDF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double q[] /* 1 dimension */,
  Integer iq[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dbdsqr_(uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info, length_uplo)  \
DBDSQR(uplo, length_uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dbdsqr_ DBDSQR
#else
#define  DBDSQR dbdsqr_
#endif
extern void NAG_CALL DBDSQR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncvt,
  CONST Integer REFPTR nru,
  CONST Integer REFPTR ncc,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08mef_(uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info, length_uplo)  \
F08MEF(uplo, length_uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08mef_ F08MEF
#else
#define  F08MEF f08mef_
#endif
extern void NAG_CALL F08MEF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncvt,
  CONST Integer REFPTR nru,
  CONST Integer REFPTR ncc,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zbdsqr_(uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info, length_uplo)  \
ZBDSQR(uplo, length_uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zbdsqr_ ZBDSQR
#else
#define  ZBDSQR zbdsqr_
#endif
extern void NAG_CALL ZBDSQR(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncvt,
  CONST Integer REFPTR nru,
  CONST Integer REFPTR ncc,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08msf_(uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info, length_uplo)  \
F08MSF(uplo, length_uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu, c, ldc, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08msf_ F08MSF
#else
#define  F08MSF f08msf_
#endif
extern void NAG_CALL F08MSF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncvt,
  CONST Integer REFPTR nru,
  CONST Integer REFPTR ncc,
  double d[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  Complex vt[] /* 2 dimension */,
  CONST Integer REFPTR ldvt,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeev_(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info, length_jobvl, length_jobvr)  \
DGEEV(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeev_ DGEEV
#else
#define  DGEEV dgeev_
#endif
extern void NAG_CALL DGEEV(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08naf_(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info, length_jobvl, length_jobvr)  \
F08NAF(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08naf_ F08NAF
#else
#define  F08NAF f08naf_
#endif
extern void NAG_CALL F08NAF(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeevx_(balanc, jobvl, jobvr, sense, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, iwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
DGEEVX(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeevx_ DGEEVX
#else
#define  DGEEVX dgeevx_
#endif
extern void NAG_CALL DGEEVX(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  double REFPTR abnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08nbf_(balanc, jobvl, jobvr, sense, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, iwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
F08NBF(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nbf_ F08NBF
#else
#define  F08NBF f08nbf_
#endif
extern void NAG_CALL F08NBF(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  double REFPTR abnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgehrd_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
DGEHRD(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgehrd_ DGEHRD
#else
#define  DGEHRD dgehrd_
#endif
extern void NAG_CALL DGEHRD(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
f08nef_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
F08NEF(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nef_ F08NEF
#else
#define  F08NEF f08nef_
#endif
extern void NAG_CALL F08NEF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
dorghr_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
DORGHR(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dorghr_ DORGHR
#else
#define  DORGHR dorghr_
#endif
extern void NAG_CALL DORGHR(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
f08nff_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
F08NFF(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nff_ F08NFF
#else
#define  F08NFF f08nff_
#endif
extern void NAG_CALL F08NFF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
dormhr_(side, trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
DORMHR(side, length_side, trans, length_trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dormhr_ DORMHR
#else
#define  DORMHR dormhr_
#endif
extern void NAG_CALL DORMHR(
  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 ilo,
  CONST Integer REFPTR ihi,
  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 \
f08ngf_(side, trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08NGF(side, length_side, trans, length_trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ngf_ F08NGF
#else
#define  F08NGF f08ngf_
#endif
extern void NAG_CALL F08NGF(
  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 ilo,
  CONST Integer REFPTR ihi,
  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 \
dgebal_(job, n, a, lda, ilo, ihi, scal, info, length_job)  \
DGEBAL(job, length_job, n, a, lda, ilo, ihi, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgebal_ DGEBAL
#else
#define  DGEBAL dgebal_
#endif
extern void NAG_CALL DGEBAL(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08nhf_(job, n, a, lda, ilo, ihi, scal, info, length_job)  \
F08NHF(job, length_job, n, a, lda, ilo, ihi, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nhf_ F08NHF
#else
#define  F08NHF f08nhf_
#endif
extern void NAG_CALL F08NHF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgebak_(job, side, n, ilo, ihi, scal, m, v, ldv, info, length_job, length_side)  \
DGEBAK(job, length_job, side, length_side, n, ilo, ihi, scal, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgebak_ DGEBAK
#else
#define  DGEBAK dgebak_
#endif
extern void NAG_CALL DGEBAK(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double scal[] /* 1 dimension */,
  CONST Integer REFPTR m,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08njf_(job, side, n, ilo, ihi, scal, m, v, ldv, info, length_job, length_side)  \
F08NJF(job, length_job, side, length_side, n, ilo, ihi, scal, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08njf_ F08NJF
#else
#define  F08NJF f08njf_
#endif
extern void NAG_CALL F08NJF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double scal[] /* 1 dimension */,
  CONST Integer REFPTR m,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeev_(jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info, length_jobvl, length_jobvr)  \
ZGEEV(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeev_ ZGEEV
#else
#define  ZGEEV zgeev_
#endif
extern void NAG_CALL ZGEEV(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex w[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08nnf_(jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info, length_jobvl, length_jobvr)  \
F08NNF(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nnf_ F08NNF
#else
#define  F08NNF f08nnf_
#endif
extern void NAG_CALL F08NNF(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex w[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeevx_(balanc, jobvl, jobvr, sense, n, a, lda, w, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, rwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
ZGEEVX(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, w, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeevx_ ZGEEVX
#else
#define  ZGEEVX zgeevx_
#endif
extern void NAG_CALL ZGEEVX(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex w[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  double REFPTR abnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08npf_(balanc, jobvl, jobvr, sense, n, a, lda, w, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, rwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
F08NPF(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, w, vl, ldvl, vr, ldvr, ilo, ihi, scal, abnrm, rconde, rcondv, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08npf_ F08NPF
#else
#define  F08NPF f08npf_
#endif
extern void NAG_CALL F08NPF(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex w[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  double REFPTR abnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgehrd_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
ZGEHRD(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgehrd_ ZGEHRD
#else
#define  ZGEHRD zgehrd_
#endif
extern void NAG_CALL ZGEHRD(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
f08nsf_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
F08NSF(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nsf_ F08NSF
#else
#define  F08NSF f08nsf_
#endif
extern void NAG_CALL F08NSF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
zunghr_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
ZUNGHR(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunghr_ ZUNGHR
#else
#define  ZUNGHR zunghr_
#endif
extern void NAG_CALL ZUNGHR(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
f08ntf_(n, ilo, ihi, a, lda, tau, work, lwork, info)  \
F08NTF(n, ilo, ihi, a, lda, tau, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ntf_ F08NTF
#else
#define  F08NTF f08ntf_
#endif
extern void NAG_CALL F08NTF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  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 \
zunmhr_(side, trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
ZUNMHR(side, length_side, trans, length_trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zunmhr_ ZUNMHR
#else
#define  ZUNMHR zunmhr_
#endif
extern void NAG_CALL ZUNMHR(
  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 ilo,
  CONST Integer REFPTR ihi,
  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 \
f08nuf_(side, trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info, length_side, length_trans)  \
F08NUF(side, length_side, trans, length_trans, m, n, ilo, ihi, a, lda, tau, c, ldc, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nuf_ F08NUF
#else
#define  F08NUF f08nuf_
#endif
extern void NAG_CALL F08NUF(
  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 ilo,
  CONST Integer REFPTR ihi,
  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 \
zgebal_(job, n, a, lda, ilo, ihi, scal, info, length_job)  \
ZGEBAL(job, length_job, n, a, lda, ilo, ihi, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgebal_ ZGEBAL
#else
#define  ZGEBAL zgebal_
#endif
extern void NAG_CALL ZGEBAL(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08nvf_(job, n, a, lda, ilo, ihi, scal, info, length_job)  \
F08NVF(job, length_job, n, a, lda, ilo, ihi, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nvf_ F08NVF
#else
#define  F08NVF f08nvf_
#endif
extern void NAG_CALL F08NVF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double scal[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgebak_(job, side, n, ilo, ihi, scal, m, v, ldv, info, length_job, length_side)  \
ZGEBAK(job, length_job, side, length_side, n, ilo, ihi, scal, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgebak_ ZGEBAK
#else
#define  ZGEBAK zgebak_
#endif
extern void NAG_CALL ZGEBAK(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double scal[] /* 1 dimension */,
  CONST Integer REFPTR m,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08nwf_(job, side, n, ilo, ihi, scal, m, v, ldv, info, length_job, length_side)  \
F08NWF(job, length_job, side, length_side, n, ilo, ihi, scal, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08nwf_ F08NWF
#else
#define  F08NWF f08nwf_
#endif
extern void NAG_CALL F08NWF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double scal[] /* 1 dimension */,
  CONST Integer REFPTR m,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgees_(jobvs, sort, sel, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info, length_jobvs, length_sort)  \
DGEES(jobvs, length_jobvs, sort, length_sort, sel, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgees_ DGEES
#else
#define  DGEES dgees_
#endif
extern void NAG_CALL DGEES(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST double REFPTR ,
                          CONST double REFPTR ),
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08paf_(jobvs, sort, sel, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info, length_jobvs, length_sort)  \
F08PAF(jobvs, length_jobvs, sort, length_sort, sel, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08paf_ F08PAF
#else
#define  F08PAF f08paf_
#endif
extern void NAG_CALL F08PAF(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST double REFPTR ,
                          CONST double REFPTR ),
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08paz_(wr, wi)  \
F08PAZ(wr, wi) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08paz_ F08PAZ
#else
#define  F08PAZ f08paz_
#endif
extern logical NAG_CALL F08PAZ(
  CONST double REFPTR wr,
  CONST double REFPTR wi
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgeesx_(jobvs, sort, sel, sense, n, a, lda, sdim, wr, wi, vs, ldvs, rconde, rcondv, work, lwork, iwork, liwork, bwork, info, length_jobvs, length_sort, length_sense)  \
DGEESX(jobvs, length_jobvs, sort, length_sort, sel, sense, length_sense, n, a, lda, sdim, wr, wi, vs, ldvs, rconde, rcondv, work, lwork, iwork, liwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgeesx_ DGEESX
#else
#define  DGEESX dgeesx_
#endif
extern void NAG_CALL DGEESX(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST double REFPTR ,
                          CONST double REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  double REFPTR rconde,
  double REFPTR rcondv,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08pbf_(jobvs, sort, sel, sense, n, a, lda, sdim, wr, wi, vs, ldvs, rconde, rcondv, work, lwork, iwork, liwork, bwork, info, length_jobvs, length_sort, length_sense)  \
F08PBF(jobvs, length_jobvs, sort, length_sort, sel, sense, length_sense, n, a, lda, sdim, wr, wi, vs, ldvs, rconde, rcondv, work, lwork, iwork, liwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08pbf_ F08PBF
#else
#define  F08PBF f08pbf_
#endif
extern void NAG_CALL F08PBF(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST double REFPTR ,
                          CONST double REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  double vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  double REFPTR rconde,
  double REFPTR rcondv,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dhseqr_(job, compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info, length_job, length_compz)  \
DHSEQR(job, length_job, compz, length_compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dhseqr_ DHSEQR
#else
#define  DHSEQR dhseqr_
#endif
extern void NAG_CALL DHSEQR(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  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 info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08pef_(job, compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info, length_job, length_compz)  \
F08PEF(job, length_job, compz, length_compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08pef_ F08PEF
#else
#define  F08PEF f08pef_
#endif
extern void NAG_CALL F08PEF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  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 info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dhsein_(job, eigsrc, initv, sel, n, h, ldh, wr, wi, vl, ldvl, vr, ldvr, mm, m, work, ifaill, ifailr, info, length_job, length_eigsrc, length_initv)  \
DHSEIN(job, length_job, eigsrc, length_eigsrc, initv, length_initv, sel, n, h, ldh, wr, wi, vl, ldvl, vr, ldvr, mm, m, work, ifaill, ifailr, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dhsein_ DHSEIN
#else
#define  DHSEIN dhsein_
#endif
extern void NAG_CALL DHSEIN(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * eigsrc
#ifdef USE_STDCALL
,  CONST Charlen length_eigsrc
#endif
,
  CONST char * initv
#ifdef USE_STDCALL
,  CONST Charlen length_initv
#endif
,
  logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  double wr[] /* 1 dimension */,
  CONST double wi[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  Integer ifaill[] /* 1 dimension */,
  Integer ifailr[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_eigsrc,
 CONST Charlen length_initv
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08pkf_(job, eigsrc, initv, sel, n, h, ldh, wr, wi, vl, ldvl, vr, ldvr, mm, m, work, ifaill, ifailr, info, length_job, length_eigsrc, length_initv)  \
F08PKF(job, length_job, eigsrc, length_eigsrc, initv, length_initv, sel, n, h, ldh, wr, wi, vl, ldvl, vr, ldvr, mm, m, work, ifaill, ifailr, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08pkf_ F08PKF
#else
#define  F08PKF f08pkf_
#endif
extern void NAG_CALL F08PKF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * eigsrc
#ifdef USE_STDCALL
,  CONST Charlen length_eigsrc
#endif
,
  CONST char * initv
#ifdef USE_STDCALL
,  CONST Charlen length_initv
#endif
,
  logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  double wr[] /* 1 dimension */,
  CONST double wi[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  Integer ifaill[] /* 1 dimension */,
  Integer ifailr[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_eigsrc,
 CONST Charlen length_initv
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgees_(jobvs, sort, sel, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info, length_jobvs, length_sort)  \
ZGEES(jobvs, length_jobvs, sort, length_sort, sel, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgees_ ZGEES
#else
#define  ZGEES zgees_
#endif
extern void NAG_CALL ZGEES(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST Complex REFPTR ),
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  Complex w[] /* 1 dimension */,
  Complex vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08pnf_(jobvs, sort, sel, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info, length_jobvs, length_sort)  \
F08PNF(jobvs, length_jobvs, sort, length_sort, sel, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08pnf_ F08PNF
#else
#define  F08PNF f08pnf_
#endif
extern void NAG_CALL F08PNF(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST Complex REFPTR ),
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  Complex w[] /* 1 dimension */,
  Complex vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08pnz_(w)  \
F08PNZ(w) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08pnz_ F08PNZ
#else
#define  F08PNZ f08pnz_
#endif
extern logical NAG_CALL F08PNZ(
  CONST Complex REFPTR w
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgeesx_(jobvs, sort, sel, sense, n, a, lda, sdim, w, vs, ldvs, rconde, rcondv, work, lwork, rwork, bwork, info, length_jobvs, length_sort, length_sense)  \
ZGEESX(jobvs, length_jobvs, sort, length_sort, sel, sense, length_sense, n, a, lda, sdim, w, vs, ldvs, rconde, rcondv, work, lwork, rwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgeesx_ ZGEESX
#else
#define  ZGEESX zgeesx_
#endif
extern void NAG_CALL ZGEESX(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST Complex REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  Complex w[] /* 1 dimension */,
  Complex vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  double REFPTR rconde,
  double REFPTR rcondv,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ppf_(jobvs, sort, sel, sense, n, a, lda, sdim, w, vs, ldvs, rconde, rcondv, work, lwork, rwork, bwork, info, length_jobvs, length_sort, length_sense)  \
F08PPF(jobvs, length_jobvs, sort, length_sort, sel, sense, length_sense, n, a, lda, sdim, w, vs, ldvs, rconde, rcondv, work, lwork, rwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ppf_ F08PPF
#else
#define  F08PPF f08ppf_
#endif
extern void NAG_CALL F08PPF(
  CONST char * jobvs
#ifdef USE_STDCALL
,  CONST Charlen length_jobvs
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *sel)(
                          CONST Complex REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR sdim,
  Complex w[] /* 1 dimension */,
  Complex vs[] /* 2 dimension */,
  CONST Integer REFPTR ldvs,
  double REFPTR rconde,
  double REFPTR rcondv,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvs,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhseqr_(job, compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info, length_job, length_compz)  \
ZHSEQR(job, length_job, compz, length_compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhseqr_ ZHSEQR
#else
#define  ZHSEQR zhseqr_
#endif
extern void NAG_CALL ZHSEQR(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  Complex h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  Complex w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08psf_(job, compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info, length_job, length_compz)  \
F08PSF(job, length_job, compz, length_compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08psf_ F08PSF
#else
#define  F08PSF f08psf_
#endif
extern void NAG_CALL F08PSF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  Complex h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  Complex w[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhsein_(job, eigsrc, initv, sel, n, h, ldh, w, vl, ldvl, vr, ldvr, mm, m, work, rwork, ifaill, ifailr, info, length_job, length_eigsrc, length_initv)  \
ZHSEIN(job, length_job, eigsrc, length_eigsrc, initv, length_initv, sel, n, h, ldh, w, vl, ldvl, vr, ldvr, mm, m, work, rwork, ifaill, ifailr, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhsein_ ZHSEIN
#else
#define  ZHSEIN zhsein_
#endif
extern void NAG_CALL ZHSEIN(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * eigsrc
#ifdef USE_STDCALL
,  CONST Charlen length_eigsrc
#endif
,
  CONST char * initv
#ifdef USE_STDCALL
,  CONST Charlen length_initv
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  Complex w[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer ifaill[] /* 1 dimension */,
  Integer ifailr[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_eigsrc,
 CONST Charlen length_initv
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08pxf_(job, eigsrc, initv, sel, n, h, ldh, w, vl, ldvl, vr, ldvr, mm, m, work, rwork, ifaill, ifailr, info, length_job, length_eigsrc, length_initv)  \
F08PXF(job, length_job, eigsrc, length_eigsrc, initv, length_initv, sel, n, h, ldh, w, vl, ldvl, vr, ldvr, mm, m, work, rwork, ifaill, ifailr, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08pxf_ F08PXF
#else
#define  F08PXF f08pxf_
#endif
extern void NAG_CALL F08PXF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * eigsrc
#ifdef USE_STDCALL
,  CONST Charlen length_eigsrc
#endif
,
  CONST char * initv
#ifdef USE_STDCALL
,  CONST Charlen length_initv
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  Complex w[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer ifaill[] /* 1 dimension */,
  Integer ifailr[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_eigsrc,
 CONST Charlen length_initv
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrexc_(compq, n, t, ldt, q, ldq, ifst, ilst, work, info, length_compq)  \
DTREXC(compq, length_compq, n, t, ldt, q, ldq, ifst, ilst, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrexc_ DTREXC
#else
#define  DTREXC dtrexc_
#endif
extern void NAG_CALL DTREXC(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST Integer REFPTR n,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Integer REFPTR ifst,
  Integer REFPTR ilst,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qff_(compq, n, t, ldt, q, ldq, ifst, ilst, work, info, length_compq)  \
F08QFF(compq, length_compq, n, t, ldt, q, ldq, ifst, ilst, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qff_ F08QFF
#else
#define  F08QFF f08qff_
#endif
extern void NAG_CALL F08QFF(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST Integer REFPTR n,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Integer REFPTR ifst,
  Integer REFPTR ilst,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrsen_(job, compq, sel, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info, length_job, length_compq)  \
DTRSEN(job, length_job, compq, length_compq, sel, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrsen_ DTRSEN
#else
#define  DTRSEN dtrsen_
#endif
extern void NAG_CALL DTRSEN(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  Integer REFPTR m,
  double REFPTR s,
  double REFPTR sep,
  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_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qgf_(job, compq, sel, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info, length_job, length_compq)  \
F08QGF(job, length_job, compq, length_compq, sel, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qgf_ F08QGF
#else
#define  F08QGF f08qgf_
#endif
extern void NAG_CALL F08QGF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double wr[] /* 1 dimension */,
  double wi[] /* 1 dimension */,
  Integer REFPTR m,
  double REFPTR s,
  double REFPTR sep,
  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_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrsyl_(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info, length_trana, length_tranb)  \
DTRSYL(trana, length_trana, tranb, length_tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrsyl_ DTRSYL
#else
#define  DTRSYL dtrsyl_
#endif
extern void NAG_CALL DTRSYL(
  CONST char * trana
#ifdef USE_STDCALL
,  CONST Charlen length_trana
#endif
,
  CONST char * tranb
#ifdef USE_STDCALL
,  CONST Charlen length_tranb
#endif
,
  CONST Integer REFPTR isgn,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR scal,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trana,
 CONST Charlen length_tranb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qhf_(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info, length_trana, length_tranb)  \
F08QHF(trana, length_trana, tranb, length_tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qhf_ F08QHF
#else
#define  F08QHF f08qhf_
#endif
extern void NAG_CALL F08QHF(
  CONST char * trana
#ifdef USE_STDCALL
,  CONST Charlen length_trana
#endif
,
  CONST char * tranb
#ifdef USE_STDCALL
,  CONST Charlen length_tranb
#endif
,
  CONST Integer REFPTR isgn,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR scal,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trana,
 CONST Charlen length_tranb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrevc_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, info, length_job, length_howmny)  \
DTREVC(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrevc_ DTREVC
#else
#define  DTREVC dtrevc_
#endif
extern void NAG_CALL DTREVC(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qkf_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, info, length_job, length_howmny)  \
F08QKF(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qkf_ F08QKF
#else
#define  F08QKF f08qkf_
#endif
extern void NAG_CALL F08QKF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtrsna_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, iwork, info, length_job, length_howmny)  \
DTRSNA(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtrsna_ DTRSNA
#else
#define  DTRSNA dtrsna_
#endif
extern void NAG_CALL DTRSNA(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  CONST double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double sep[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 2 dimension */,
  CONST Integer REFPTR ldwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qlf_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, iwork, info, length_job, length_howmny)  \
F08QLF(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qlf_ F08QLF
#else
#define  F08QLF f08qlf_
#endif
extern void NAG_CALL F08QLF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  CONST double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double sep[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 2 dimension */,
  CONST Integer REFPTR ldwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrexc_(compq, n, t, ldt, q, ldq, ifst, ilst, info, length_compq)  \
ZTREXC(compq, length_compq, n, t, ldt, q, ldq, ifst, ilst, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrexc_ ZTREXC
#else
#define  ZTREXC ztrexc_
#endif
extern void NAG_CALL ZTREXC(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST Integer REFPTR n,
  Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST Integer REFPTR ifst,
  CONST Integer REFPTR ilst,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qtf_(compq, n, t, ldt, q, ldq, ifst, ilst, info, length_compq)  \
F08QTF(compq, length_compq, n, t, ldt, q, ldq, ifst, ilst, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qtf_ F08QTF
#else
#define  F08QTF f08qtf_
#endif
extern void NAG_CALL F08QTF(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST Integer REFPTR n,
  Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST Integer REFPTR ifst,
  CONST Integer REFPTR ilst,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrsen_(job, compq, sel, n, t, ldt, q, ldq, w, m, s, sep, work, lwork, info, length_job, length_compq)  \
ZTRSEN(job, length_job, compq, length_compq, sel, n, t, ldt, q, ldq, w, m, s, sep, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrsen_ ZTRSEN
#else
#define  ZTRSEN ztrsen_
#endif
extern void NAG_CALL ZTRSEN(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex w[] /* 1 dimension */,
  Integer REFPTR m,
  double REFPTR s,
  double REFPTR sep,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08quf_(job, compq, sel, n, t, ldt, q, ldq, w, m, s, sep, work, lwork, info, length_job, length_compq)  \
F08QUF(job, length_job, compq, length_compq, sel, n, t, ldt, q, ldq, w, m, s, sep, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08quf_ F08QUF
#else
#define  F08QUF f08quf_
#endif
extern void NAG_CALL F08QUF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex w[] /* 1 dimension */,
  Integer REFPTR m,
  double REFPTR s,
  double REFPTR sep,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrsyl_(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info, length_trana, length_tranb)  \
ZTRSYL(trana, length_trana, tranb, length_tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrsyl_ ZTRSYL
#else
#define  ZTRSYL ztrsyl_
#endif
extern void NAG_CALL ZTRSYL(
  CONST char * trana
#ifdef USE_STDCALL
,  CONST Charlen length_trana
#endif
,
  CONST char * tranb
#ifdef USE_STDCALL
,  CONST Charlen length_tranb
#endif
,
  CONST Integer REFPTR isgn,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR scal,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trana,
 CONST Charlen length_tranb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qvf_(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info, length_trana, length_tranb)  \
F08QVF(trana, length_trana, tranb, length_tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scal, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qvf_ F08QVF
#else
#define  F08QVF f08qvf_
#endif
extern void NAG_CALL F08QVF(
  CONST char * trana
#ifdef USE_STDCALL
,  CONST Charlen length_trana
#endif
,
  CONST char * tranb
#ifdef USE_STDCALL
,  CONST Charlen length_tranb
#endif
,
  CONST Integer REFPTR isgn,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR scal,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trana,
 CONST Charlen length_tranb
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrevc_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, rwork, info, length_job, length_howmny)  \
ZTREVC(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrevc_ ZTREVC
#else
#define  ZTREVC ztrevc_
#endif
extern void NAG_CALL ZTREVC(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qxf_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, rwork, info, length_job, length_howmny)  \
F08QXF(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qxf_ F08QXF
#else
#define  F08QXF f08qxf_
#endif
extern void NAG_CALL F08QXF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztrsna_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, rwork, info, length_job, length_howmny)  \
ZTRSNA(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztrsna_ ZTRSNA
#else
#define  ZTRSNA ztrsna_
#endif
extern void NAG_CALL ZTRSNA(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  CONST Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double sep[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 2 dimension */,
  CONST Integer REFPTR ldwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08qyf_(job, howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, rwork, info, length_job, length_howmny)  \
F08QYF(job, length_job, howmny, length_howmny, sel, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08qyf_ F08QYF
#else
#define  F08QYF f08qyf_
#endif
extern void NAG_CALL F08QYF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  CONST Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double sep[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 2 dimension */,
  CONST Integer REFPTR ldwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsygv_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, info, length_jobz, length_uplo)  \
DSYGV(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsygv_ DSYGV
#else
#define  DSYGV dsygv_
#endif
extern void NAG_CALL DSYGV(
  CONST Integer REFPTR itype,
  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 b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
f08saf_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, info, length_jobz, length_uplo)  \
F08SAF(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08saf_ F08SAF
#else
#define  F08SAF f08saf_
#endif
extern void NAG_CALL F08SAF(
  CONST Integer REFPTR itype,
  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 b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
dsygvx_(itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
DSYGVX(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsygvx_ DSYGVX
#else
#define  DSYGVX dsygvx_
#endif
extern void NAG_CALL DSYGVX(
  CONST Integer REFPTR itype,
  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,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
f08sbf_(itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08SBF(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08sbf_ F08SBF
#else
#define  F08SBF f08sbf_
#endif
extern void NAG_CALL F08SBF(
  CONST Integer REFPTR itype,
  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,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
dsygvd_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, iwork, liwork, info, length_jobz, length_uplo)  \
DSYGVD(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsygvd_ DSYGVD
#else
#define  DSYGVD dsygvd_
#endif
extern void NAG_CALL DSYGVD(
  CONST Integer REFPTR itype,
  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 b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08scf_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, iwork, liwork, info, length_jobz, length_uplo)  \
F08SCF(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08scf_ F08SCF
#else
#define  F08SCF f08scf_
#endif
extern void NAG_CALL F08SCF(
  CONST Integer REFPTR itype,
  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 b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsygst_(itype, uplo, n, a, lda, b, ldb, info, length_uplo)  \
DSYGST(itype, uplo, length_uplo, n, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsygst_ DSYGST
#else
#define  DSYGST dsygst_
#endif
extern void NAG_CALL DSYGST(
  CONST Integer REFPTR itype,
  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 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 \
f08sef_(itype, uplo, n, a, lda, b, ldb, info, length_uplo)  \
F08SEF(itype, uplo, length_uplo, n, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08sef_ F08SEF
#else
#define  F08SEF f08sef_
#endif
extern void NAG_CALL F08SEF(
  CONST Integer REFPTR itype,
  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 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 \
zhegv_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, info, length_jobz, length_uplo)  \
ZHEGV(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhegv_ ZHEGV
#else
#define  ZHEGV zhegv_
#endif
extern void NAG_CALL ZHEGV(
  CONST Integer REFPTR itype,
  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,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
f08snf_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, info, length_jobz, length_uplo)  \
F08SNF(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08snf_ F08SNF
#else
#define  F08SNF f08snf_
#endif
extern void NAG_CALL F08SNF(
  CONST Integer REFPTR itype,
  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,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
zhegvx_(itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
ZHEGVX(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhegvx_ ZHEGVX
#else
#define  ZHEGVX zhegvx_
#endif
extern void NAG_CALL ZHEGVX(
  CONST Integer REFPTR itype,
  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,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
f08spf_(itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08SPF(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08spf_ F08SPF
#else
#define  F08SPF f08spf_
#endif
extern void NAG_CALL F08SPF(
  CONST Integer REFPTR itype,
  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,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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 \
zhegvd_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_uplo)  \
ZHEGVD(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhegvd_ ZHEGVD
#else
#define  ZHEGVD zhegvd_
#endif
extern void NAG_CALL ZHEGVD(
  CONST Integer REFPTR itype,
  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,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08sqf_(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_uplo)  \
F08SQF(itype, jobz, length_jobz, uplo, length_uplo, n, a, lda, b, ldb, w, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08sqf_ F08SQF
#else
#define  F08SQF f08sqf_
#endif
extern void NAG_CALL F08SQF(
  CONST Integer REFPTR itype,
  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,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhegst_(itype, uplo, n, a, lda, b, ldb, info, length_uplo)  \
ZHEGST(itype, uplo, length_uplo, n, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhegst_ ZHEGST
#else
#define  ZHEGST zhegst_
#endif
extern void NAG_CALL ZHEGST(
  CONST Integer REFPTR itype,
  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,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ssf_(itype, uplo, n, a, lda, b, ldb, info, length_uplo)  \
F08SSF(itype, uplo, length_uplo, n, a, lda, b, ldb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ssf_ F08SSF
#else
#define  F08SSF f08ssf_
#endif
extern void NAG_CALL F08SSF(
  CONST Integer REFPTR itype,
  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,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspgv_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, info, length_jobz, length_uplo)  \
DSPGV(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspgv_ DSPGV
#else
#define  DSPGV dspgv_
#endif
extern void NAG_CALL DSPGV(
  CONST Integer REFPTR itype,
  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 bp[] /* 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 \
f08taf_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, info, length_jobz, length_uplo)  \
F08TAF(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08taf_ F08TAF
#else
#define  F08TAF f08taf_
#endif
extern void NAG_CALL F08TAF(
  CONST Integer REFPTR itype,
  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 bp[] /* 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 \
dspgvx_(itype, jobz, range, uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
DSPGVX(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspgvx_ DSPGVX
#else
#define  DSPGVX dspgvx_
#endif
extern void NAG_CALL DSPGVX(
  CONST Integer REFPTR itype,
  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 */,
  double bp[] /* 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 \
f08tbf_(itype, jobz, range, uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08TBF(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08tbf_ F08TBF
#else
#define  F08TBF f08tbf_
#endif
extern void NAG_CALL F08TBF(
  CONST Integer REFPTR itype,
  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 */,
  double bp[] /* 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 \
dspgvd_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork, iwork, liwork, info, length_jobz, length_uplo)  \
DSPGVD(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspgvd_ DSPGVD
#else
#define  DSPGVD dspgvd_
#endif
extern void NAG_CALL DSPGVD(
  CONST Integer REFPTR itype,
  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 bp[] /* 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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08tcf_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork, iwork, liwork, info, length_jobz, length_uplo)  \
F08TCF(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08tcf_ F08TCF
#else
#define  F08TCF f08tcf_
#endif
extern void NAG_CALL F08TCF(
  CONST Integer REFPTR itype,
  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 bp[] /* 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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dspgst_(itype, uplo, n, ap, bp, info, length_uplo)  \
DSPGST(itype, uplo, length_uplo, n, ap, bp, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dspgst_ DSPGST
#else
#define  DSPGST dspgst_
#endif
extern void NAG_CALL DSPGST(
  CONST Integer REFPTR itype,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST double bp[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08tef_(itype, uplo, n, ap, bp, info, length_uplo)  \
F08TEF(itype, uplo, length_uplo, n, ap, bp, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08tef_ F08TEF
#else
#define  F08TEF f08tef_
#endif
extern void NAG_CALL F08TEF(
  CONST Integer REFPTR itype,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  double ap[] /* 1 dimension */,
  CONST double bp[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpgv_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
ZHPGV(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpgv_ ZHPGV
#else
#define  ZHPGV zhpgv_
#endif
extern void NAG_CALL ZHPGV(
  CONST Integer REFPTR itype,
  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 */,
  Complex bp[] /* 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 \
f08tnf_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
F08TNF(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08tnf_ F08TNF
#else
#define  F08TNF f08tnf_
#endif
extern void NAG_CALL F08TNF(
  CONST Integer REFPTR itype,
  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 */,
  Complex bp[] /* 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 \
zhpgvx_(itype, jobz, range, uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
ZHPGVX(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpgvx_ ZHPGVX
#else
#define  ZHPGVX zhpgvx_
#endif
extern void NAG_CALL ZHPGVX(
  CONST Integer REFPTR itype,
  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 */,
  Complex bp[] /* 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 \
f08tpf_(itype, jobz, range, uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08TPF(itype, jobz, length_jobz, range, length_range, uplo, length_uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08tpf_ F08TPF
#else
#define  F08TPF f08tpf_
#endif
extern void NAG_CALL F08TPF(
  CONST Integer REFPTR itype,
  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 */,
  Complex bp[] /* 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 \
zhpgvd_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_uplo)  \
ZHPGVD(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpgvd_ ZHPGVD
#else
#define  ZHPGVD zhpgvd_
#endif
extern void NAG_CALL ZHPGVD(
  CONST Integer REFPTR itype,
  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 */,
  Complex bp[] /* 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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08tqf_(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_uplo)  \
F08TQF(itype, jobz, length_jobz, uplo, length_uplo, n, ap, bp, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08tqf_ F08TQF
#else
#define  F08TQF f08tqf_
#endif
extern void NAG_CALL F08TQF(
  CONST Integer REFPTR itype,
  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 */,
  Complex bp[] /* 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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhpgst_(itype, uplo, n, ap, bp, info, length_uplo)  \
ZHPGST(itype, uplo, length_uplo, n, ap, bp, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhpgst_ ZHPGST
#else
#define  ZHPGST zhpgst_
#endif
extern void NAG_CALL ZHPGST(
  CONST Integer REFPTR itype,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Complex bp[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08tsf_(itype, uplo, n, ap, bp, info, length_uplo)  \
F08TSF(itype, uplo, length_uplo, n, ap, bp, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08tsf_ F08TSF
#else
#define  F08TSF f08tsf_
#endif
extern void NAG_CALL F08TSF(
  CONST Integer REFPTR itype,
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  Complex ap[] /* 1 dimension */,
  CONST Complex bp[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsbgv_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, info, length_jobz, length_uplo)  \
DSBGV(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbgv_ DSBGV
#else
#define  DSBGV dsbgv_
#endif
extern void NAG_CALL DSBGV(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
f08uaf_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, info, length_jobz, length_uplo)  \
F08UAF(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08uaf_ F08UAF
#else
#define  F08UAF f08uaf_
#endif
extern void NAG_CALL F08UAF(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
dsbgvx_(jobz, range, uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
DSBGVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbgvx_ DSBGVX
#else
#define  DSBGVX dsbgvx_
#endif
extern void NAG_CALL DSBGVX(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
f08ubf_(jobz, range, uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08UBF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ubf_ F08UBF
#else
#define  F08UBF f08ubf_
#endif
extern void NAG_CALL F08UBF(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
dsbgvd_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, iwork, liwork, info, length_jobz, length_uplo)  \
DSBGVD(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbgvd_ DSBGVD
#else
#define  DSBGVD dsbgvd_
#endif
extern void NAG_CALL DSBGVD(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ucf_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, iwork, liwork, info, length_jobz, length_uplo)  \
F08UCF(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ucf_ F08UCF
#else
#define  F08UCF f08ucf_
#endif
extern void NAG_CALL F08UCF(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dsbgst_(vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, info, length_vect, length_uplo)  \
DSBGST(vect, length_vect, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dsbgst_ DSBGST
#else
#define  DSBGST dsbgst_
#endif
extern void NAG_CALL DSBGST(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  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 \
f08uef_(vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, info, length_vect, length_uplo)  \
F08UEF(vect, length_vect, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08uef_ F08UEF
#else
#define  F08UEF f08uef_
#endif
extern void NAG_CALL F08UEF(
  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 ka,
  CONST Integer REFPTR kb,
  double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  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 \
dpbstf_(uplo, n, kb, bb, ldbb, info, length_uplo)  \
DPBSTF(uplo, length_uplo, n, kb, bb, ldbb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dpbstf_ DPBSTF
#else
#define  DPBSTF dpbstf_
#endif
extern void NAG_CALL DPBSTF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kb,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08uff_(uplo, n, kb, bb, ldbb, info, length_uplo)  \
F08UFF(uplo, length_uplo, n, kb, bb, ldbb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08uff_ F08UFF
#else
#define  F08UFF f08uff_
#endif
extern void NAG_CALL F08UFF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kb,
  double bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhbgv_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
ZHBGV(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbgv_ ZHBGV
#else
#define  ZHBGV zhbgv_
#endif
extern void NAG_CALL ZHBGV(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
f08unf_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, rwork, info, length_jobz, length_uplo)  \
F08UNF(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08unf_ F08UNF
#else
#define  F08UNF f08unf_
#endif
extern void NAG_CALL F08UNF(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
zhbgvx_(jobz, range, uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
ZHBGVX(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbgvx_ ZHBGVX
#else
#define  ZHBGVX zhbgvx_
#endif
extern void NAG_CALL ZHBGVX(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
f08upf_(jobz, range, uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info, length_jobz, length_range, length_uplo)  \
F08UPF(jobz, length_jobz, range, length_range, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, jfail, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08upf_ F08UPF
#else
#define  F08UPF f08upf_
#endif
extern void NAG_CALL F08UPF(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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 \
zhbgvd_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_uplo)  \
ZHBGVD(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbgvd_ ZHBGVD
#else
#define  ZHBGVD zhbgvd_
#endif
extern void NAG_CALL ZHBGVD(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08uqf_(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info, length_jobz, length_uplo)  \
F08UQF(jobz, length_jobz, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08uqf_ F08UQF
#else
#define  F08UQF f08uqf_
#endif
extern void NAG_CALL F08UQF(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  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_jobz,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhbgst_(vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, rwork, info, length_vect, length_uplo)  \
ZHBGST(vect, length_vect, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhbgst_ ZHBGST
#else
#define  ZHBGST zhbgst_
#endif
extern void NAG_CALL ZHBGST(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08usf_(vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, rwork, info, length_vect, length_uplo)  \
F08USF(vect, length_vect, uplo, length_uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08usf_ F08USF
#else
#define  F08USF f08usf_
#endif
extern void NAG_CALL F08USF(
  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 ka,
  CONST Integer REFPTR kb,
  Complex ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Complex x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_vect,
 CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zpbstf_(uplo, n, kb, bb, ldbb, info, length_uplo)  \
ZPBSTF(uplo, length_uplo, n, kb, bb, ldbb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zpbstf_ ZPBSTF
#else
#define  ZPBSTF zpbstf_
#endif
extern void NAG_CALL ZPBSTF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kb,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08utf_(uplo, n, kb, bb, ldbb, info, length_uplo)  \
F08UTF(uplo, length_uplo, n, kb, bb, ldbb, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08utf_ F08UTF
#else
#define  F08UTF f08utf_
#endif
extern void NAG_CALL F08UTF(
  CONST char * uplo
#ifdef USE_STDCALL
,  CONST Charlen length_uplo
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kb,
  Complex bb[] /* 2 dimension */,
  CONST Integer REFPTR ldbb,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_uplo
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggsvd_(jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, iwork, info, length_jobu, length_jobv, length_jobq)  \
DGGSVD(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggsvd_ DGGSVD
#else
#define  DGGSVD dggsvd_
#endif
extern void NAG_CALL DGGSVD(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  Integer REFPTR k,
  Integer REFPTR l,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08vaf_(jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, iwork, info, length_jobu, length_jobv, length_jobq)  \
F08VAF(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08vaf_ F08VAF
#else
#define  F08VAF f08vaf_
#endif
extern void NAG_CALL F08VAF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  Integer REFPTR k,
  Integer REFPTR l,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggsvp_(jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, tau, work, info, length_jobu, length_jobv, length_jobq)  \
DGGSVP(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, tau, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggsvp_ DGGSVP
#else
#define  DGGSVP dggsvp_
#endif
extern void NAG_CALL DGGSVP(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  Integer REFPTR k,
  Integer REFPTR l,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Integer iwork[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08vef_(jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, tau, work, info, length_jobu, length_jobv, length_jobq)  \
F08VEF(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, tau, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08vef_ F08VEF
#else
#define  F08VEF f08vef_
#endif
extern void NAG_CALL F08VEF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  Integer REFPTR k,
  Integer REFPTR l,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Integer iwork[] /* 1 dimension */,
  double tau[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggsvd_(jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, rwork, iwork, info, length_jobu, length_jobv, length_jobq)  \
ZGGSVD(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, rwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggsvd_ ZGGSVD
#else
#define  ZGGSVD zggsvd_
#endif
extern void NAG_CALL ZGGSVD(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  Integer REFPTR k,
  Integer REFPTR l,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08vnf_(jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, rwork, iwork, info, length_jobu, length_jobv, length_jobq)  \
F08VNF(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, rwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08vnf_ F08VNF
#else
#define  F08VNF f08vnf_
#endif
extern void NAG_CALL F08VNF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR p,
  Integer REFPTR k,
  Integer REFPTR l,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggsvp_(jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, rwork, tau, work, info, length_jobu, length_jobv, length_jobq)  \
ZGGSVP(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, rwork, tau, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggsvp_ ZGGSVP
#else
#define  ZGGSVP zggsvp_
#endif
extern void NAG_CALL ZGGSVP(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  Integer REFPTR k,
  Integer REFPTR l,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Integer iwork[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08vsf_(jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, rwork, tau, work, info, length_jobu, length_jobv, length_jobq)  \
F08VSF(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, rwork, tau, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08vsf_ F08VSF
#else
#define  F08VSF f08vsf_
#endif
extern void NAG_CALL F08VSF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  Integer REFPTR k,
  Integer REFPTR l,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Integer iwork[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Complex tau[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggev_(jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info, length_jobvl, length_jobvr)  \
DGGEV(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggev_ DGGEV
#else
#define  DGGEV dggev_
#endif
extern void NAG_CALL DGGEV(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08waf_(jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info, length_jobvl, length_jobvr)  \
F08WAF(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08waf_ F08WAF
#else
#define  F08WAF f08waf_
#endif
extern void NAG_CALL F08WAF(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggevx_(balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, iwork, bwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
DGGEVX(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, iwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggevx_ DGGEVX
#else
#define  DGGEVX dggevx_
#endif
extern void NAG_CALL DGGEVX(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double REFPTR abnrm,
  double REFPTR bbnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wbf_(balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, iwork, bwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
F08WBF(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, iwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wbf_ F08WBF
#else
#define  F08WBF f08wbf_
#endif
extern void NAG_CALL F08WBF(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double REFPTR abnrm,
  double REFPTR bbnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgghrd_(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info, length_compq, length_compz)  \
DGGHRD(compq, length_compq, compz, length_compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgghrd_ DGGHRD
#else
#define  DGGHRD dgghrd_
#endif
extern void NAG_CALL DGGHRD(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wef_(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info, length_compq, length_compz)  \
F08WEF(compq, length_compq, compz, length_compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wef_ F08WEF
#else
#define  F08WEF f08wef_
#endif
extern void NAG_CALL F08WEF(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggbal_(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info, length_job)  \
DGGBAL(job, length_job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggbal_ DGGBAL
#else
#define  DGGBAL dggbal_
#endif
extern void NAG_CALL DGGBAL(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08whf_(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info, length_job)  \
F08WHF(job, length_job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08whf_ F08WHF
#else
#define  F08WHF f08whf_
#endif
extern void NAG_CALL F08WHF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggbak_(job, side, n, ilo, ihi, lscale, rscale, m, v, ldv, info, length_job, length_side)  \
DGGBAK(job, length_job, side, length_side, n, ilo, ihi, lscale, rscale, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggbak_ DGGBAK
#else
#define  DGGBAK dggbak_
#endif
extern void NAG_CALL DGGBAK(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double lscale[] /* 1 dimension */,
  CONST double rscale[] /* 1 dimension */,
  CONST Integer REFPTR m,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wjf_(job, side, n, ilo, ihi, lscale, rscale, m, v, ldv, info, length_job, length_side)  \
F08WJF(job, length_job, side, length_side, n, ilo, ihi, lscale, rscale, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wjf_ F08WJF
#else
#define  F08WJF f08wjf_
#endif
extern void NAG_CALL F08WJF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double lscale[] /* 1 dimension */,
  CONST double rscale[] /* 1 dimension */,
  CONST Integer REFPTR m,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggev_(jobvl, jobvr, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, work, lwork, rwork, info, length_jobvl, length_jobvr)  \
ZGGEV(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggev_ ZGGEV
#else
#define  ZGGEV zggev_
#endif
extern void NAG_CALL ZGGEV(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wnf_(jobvl, jobvr, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, work, lwork, rwork, info, length_jobvl, length_jobvr)  \
F08WNF(jobvl, length_jobvl, jobvr, length_jobvr, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wnf_ F08WNF
#else
#define  F08WNF f08wnf_
#endif
extern void NAG_CALL F08WNF(
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvl,
 CONST Charlen length_jobvr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggevx_(balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, rwork, iwork, bwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
ZGGEVX(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, rwork, iwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggevx_ ZGGEVX
#else
#define  ZGGEVX zggevx_
#endif
extern void NAG_CALL ZGGEVX(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double REFPTR abnrm,
  double REFPTR bbnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wpf_(balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, rwork, iwork, bwork, info, length_balanc, length_jobvl, length_jobvr, length_sense)  \
F08WPF(balanc, length_balanc, jobvl, length_jobvl, jobvr, length_jobvr, sense, length_sense, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, rwork, iwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wpf_ F08WPF
#else
#define  F08WPF f08wpf_
#endif
extern void NAG_CALL F08WPF(
  CONST char * balanc
#ifdef USE_STDCALL
,  CONST Charlen length_balanc
#endif
,
  CONST char * jobvl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvl
#endif
,
  CONST char * jobvr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvr
#endif
,
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double REFPTR abnrm,
  double REFPTR bbnrm,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_balanc,
 CONST Charlen length_jobvl,
 CONST Charlen length_jobvr,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgghrd_(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info, length_compq, length_compz)  \
ZGGHRD(compq, length_compq, compz, length_compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgghrd_ ZGGHRD
#else
#define  ZGGHRD zgghrd_
#endif
extern void NAG_CALL ZGGHRD(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wsf_(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info, length_compq, length_compz)  \
F08WSF(compq, length_compq, compz, length_compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wsf_ F08WSF
#else
#define  F08WSF f08wsf_
#endif
extern void NAG_CALL F08WSF(
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggbal_(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info, length_job)  \
ZGGBAL(job, length_job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggbal_ ZGGBAL
#else
#define  ZGGBAL zggbal_
#endif
extern void NAG_CALL ZGGBAL(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wvf_(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info, length_job)  \
F08WVF(job, length_job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wvf_ F08WVF
#else
#define  F08WVF f08wvf_
#endif
extern void NAG_CALL F08WVF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR ilo,
  Integer REFPTR ihi,
  double lscale[] /* 1 dimension */,
  double rscale[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggbak_(job, side, n, ilo, ihi, lscale, rscale, m, v, ldv, info, length_job, length_side)  \
ZGGBAK(job, length_job, side, length_side, n, ilo, ihi, lscale, rscale, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggbak_ ZGGBAK
#else
#define  ZGGBAK zggbak_
#endif
extern void NAG_CALL ZGGBAK(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double lscale[] /* 1 dimension */,
  CONST double rscale[] /* 1 dimension */,
  CONST Integer REFPTR m,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08wwf_(job, side, n, ilo, ihi, lscale, rscale, m, v, ldv, info, length_job, length_side)  \
F08WWF(job, length_job, side, length_side, n, ilo, ihi, lscale, rscale, m, v, ldv, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08wwf_ F08WWF
#else
#define  F08WWF f08wwf_
#endif
extern void NAG_CALL F08WWF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  CONST double lscale[] /* 1 dimension */,
  CONST double rscale[] /* 1 dimension */,
  CONST Integer REFPTR m,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_side
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgges_(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork, info, length_jobvsl, length_jobvsr, length_sort)  \
DGGES(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgges_ DGGES
#else
#define  DGGES dgges_
#endif
extern void NAG_CALL DGGES(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST double REFPTR ,
                             CONST double REFPTR ,
                             CONST double REFPTR ),
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  double vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xaf_(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork, info, length_jobvsl, length_jobvsr, length_sort)  \
F08XAF(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xaf_ F08XAF
#else
#define  F08XAF f08xaf_
#endif
extern void NAG_CALL F08XAF(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST double REFPTR ,
                             CONST double REFPTR ,
                             CONST double REFPTR ),
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  double vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xaz_(ar, ai, b)  \
F08XAZ(ar, ai, b) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xaz_ F08XAZ
#else
#define  F08XAZ f08xaz_
#endif
extern logical NAG_CALL F08XAZ(
  CONST double REFPTR ar,
  CONST double REFPTR ai,
  CONST double REFPTR b
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggesx_(jobvsl, jobvsr, sort, selctg, sense, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, iwork, liwork, bwork, info, length_jobvsl, length_jobvsr, length_sort, length_sense)  \
DGGESX(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, sense, length_sense, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, iwork, liwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggesx_ DGGESX
#else
#define  DGGESX dggesx_
#endif
extern void NAG_CALL DGGESX(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST double REFPTR ,
                             CONST double REFPTR ,
                             CONST double REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  double vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xbf_(jobvsl, jobvsr, sort, selctg, sense, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, iwork, liwork, bwork, info, length_jobvsl, length_jobvsr, length_sort, length_sense)  \
F08XBF(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, sense, length_sense, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, iwork, liwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xbf_ F08XBF
#else
#define  F08XBF f08xbf_
#endif
extern void NAG_CALL F08XBF(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST double REFPTR ,
                             CONST double REFPTR ,
                             CONST double REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  double vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dhgeqz_(job, compq, compz, n, ilo, ihi, h, ldh, t, ldt, alphar, alphai, beta, q, ldq, z, ldz, work, lwork, info, length_job, length_compq, length_compz)  \
DHGEQZ(job, length_job, compq, length_compq, compz, length_compz, n, ilo, ihi, h, ldh, t, ldt, alphar, alphai, beta, q, ldq, z, ldz, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dhgeqz_ DHGEQZ
#else
#define  DHGEQZ dhgeqz_
#endif
extern void NAG_CALL DHGEQZ(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xef_(job, compq, compz, n, ilo, ihi, h, ldh, t, ldt, alphar, alphai, beta, q, ldq, z, ldz, work, lwork, info, length_job, length_compq, length_compz)  \
F08XEF(job, length_job, compq, length_compq, compz, length_compz, n, ilo, ihi, h, ldh, t, ldt, alphar, alphai, beta, q, ldq, z, ldz, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xef_ F08XEF
#else
#define  F08XEF f08xef_
#endif
extern void NAG_CALL F08XEF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgges_(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, rwork, bwork, info, length_jobvsl, length_jobvsr, length_sort)  \
ZGGES(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, rwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgges_ ZGGES
#else
#define  ZGGES zgges_
#endif
extern void NAG_CALL ZGGES(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST Complex REFPTR ,
                             CONST Complex REFPTR ),
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  Complex vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xnf_(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, rwork, bwork, info, length_jobvsl, length_jobvsr, length_sort)  \
F08XNF(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, rwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xnf_ F08XNF
#else
#define  F08XNF f08xnf_
#endif
extern void NAG_CALL F08XNF(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST Complex REFPTR ,
                             CONST Complex REFPTR ),
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  Complex vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xnz_(a, b)  \
F08XNZ(a, b) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xnz_ F08XNZ
#else
#define  F08XNZ f08xnz_
#endif
extern logical NAG_CALL F08XNZ(
  CONST Complex REFPTR a,
  CONST Complex REFPTR b
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggesx_(jobvsl, jobvsr, sort, selctg, sense, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, rwork, iwork, liwork, bwork, info, length_jobvsl, length_jobvsr, length_sort, length_sense)  \
ZGGESX(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, sense, length_sense, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, rwork, iwork, liwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggesx_ ZGGESX
#else
#define  ZGGESX zggesx_
#endif
extern void NAG_CALL ZGGESX(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST Complex REFPTR ,
                             CONST Complex REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  Complex vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xpf_(jobvsl, jobvsr, sort, selctg, sense, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, rwork, iwork, liwork, bwork, info, length_jobvsl, length_jobvsr, length_sort, length_sense)  \
F08XPF(jobvsl, length_jobvsl, jobvsr, length_jobvsr, sort, length_sort, selctg, sense, length_sense, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, rwork, iwork, liwork, bwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xpf_ F08XPF
#else
#define  F08XPF f08xpf_
#endif
extern void NAG_CALL F08XPF(
  CONST char * jobvsl
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsl
#endif
,
  CONST char * jobvsr
#ifdef USE_STDCALL
,  CONST Charlen length_jobvsr
#endif
,
  CONST char * sort
#ifdef USE_STDCALL
,  CONST Charlen length_sort
#endif
,
  logical (NAG_CALL *selctg)(
                             CONST Complex REFPTR ,
                             CONST Complex REFPTR ),
  CONST char * sense
#ifdef USE_STDCALL
,  CONST Charlen length_sense
#endif
,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR sdim,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex vsl[] /* 2 dimension */,
  CONST Integer REFPTR ldvsl,
  Complex vsr[] /* 2 dimension */,
  CONST Integer REFPTR ldvsr,
  double rconde[] /* 1 dimension */,
  double rcondv[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  logical bwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobvsl,
 CONST Charlen length_jobvsr,
 CONST Charlen length_sort,
 CONST Charlen length_sense
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zhgeqz_(job, compq, compz, n, ilo, ihi, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, work, lwork, rwork, info, length_job, length_compq, length_compz)  \
ZHGEQZ(job, length_job, compq, length_compq, compz, length_compz, n, ilo, ihi, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zhgeqz_ ZHGEQZ
#else
#define  ZHGEQZ zhgeqz_
#endif
extern void NAG_CALL ZHGEQZ(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08xsf_(job, compq, compz, n, ilo, ihi, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, work, lwork, rwork, info, length_job, length_compq, length_compz)  \
F08XSF(job, length_job, compq, length_compq, compz, length_compz, n, ilo, ihi, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, work, lwork, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08xsf_ F08XSF
#else
#define  F08XSF f08xsf_
#endif
extern void NAG_CALL F08XSF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * compq
#ifdef USE_STDCALL
,  CONST Charlen length_compq
#endif
,
  CONST char * compz
#ifdef USE_STDCALL
,  CONST Charlen length_compz
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ilo,
  CONST Integer REFPTR ihi,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_compq,
 CONST Charlen length_compz
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtgsja_(jobu, jobv, jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info, length_jobu, length_jobv, length_jobq)  \
DTGSJA(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtgsja_ DTGSJA
#else
#define  DTGSJA dtgsja_
#endif
extern void NAG_CALL DTGSJA(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer REFPTR ncycle,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08yef_(jobu, jobv, jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info, length_jobu, length_jobv, length_jobq)  \
F08YEF(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08yef_ F08YEF
#else
#define  F08YEF f08yef_
#endif
extern void NAG_CALL F08YEF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double work[] /* 1 dimension */,
  Integer REFPTR ncycle,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtgexc_(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, work, lwork, info)  \
DTGEXC(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtgexc_ DTGEXC
#else
#define  DTGEXC dtgexc_
#endif
extern void NAG_CALL DTGEXC(
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR ifst,
  Integer REFPTR ilst,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08yff_(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, work, lwork, info)  \
F08YFF(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08yff_ F08YFF
#else
#define  F08YFF f08yff_
#endif
extern void NAG_CALL F08YFF(
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR ifst,
  Integer REFPTR ilst,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtgsen_(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alphar, alphai, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info)  \
DTGSEN(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alphar, alphai, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtgsen_ DTGSEN
#else
#define  DTGSEN dtgsen_
#endif
extern void NAG_CALL DTGSEN(
  CONST Integer REFPTR ijob,
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR m,
  double REFPTR pl,
  double REFPTR pr,
  double dif[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ygf_(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alphar, alphai, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info)  \
F08YGF(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alphar, alphai, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ygf_ F08YGF
#else
#define  F08YGF f08ygf_
#endif
extern void NAG_CALL F08YGF(
  CONST Integer REFPTR ijob,
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double alphar[] /* 1 dimension */,
  double alphai[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR m,
  double REFPTR pl,
  double REFPTR pr,
  double dif[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtgsyl_(trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info, length_trans)  \
DTGSYL(trans, length_trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtgsyl_ DTGSYL
#else
#define  DTGSYL dtgsyl_
#endif
extern void NAG_CALL DTGSYL(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR ijob,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST double d[] /* 2 dimension */,
  CONST Integer REFPTR ldd,
  CONST double e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  double f[] /* 2 dimension */,
  CONST Integer REFPTR ldf,
  double REFPTR scal,
  double REFPTR dif,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08yhf_(trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info, length_trans)  \
F08YHF(trans, length_trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08yhf_ F08YHF
#else
#define  F08YHF f08yhf_
#endif
extern void NAG_CALL F08YHF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR ijob,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST double d[] /* 2 dimension */,
  CONST Integer REFPTR ldd,
  CONST double e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  double f[] /* 2 dimension */,
  CONST Integer REFPTR ldf,
  double REFPTR scal,
  double REFPTR dif,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtgevc_(side, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, info, length_side, length_howmny)  \
DTGEVC(side, length_side, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtgevc_ DTGEVC
#else
#define  DTGEVC dtgevc_
#endif
extern void NAG_CALL DTGEVC(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ykf_(side, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, info, length_side, length_howmny)  \
F08YKF(side, length_side, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ykf_ F08YKF
#else
#define  F08YKF f08ykf_
#endif
extern void NAG_CALL F08YKF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dtgsna_(job, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info, length_job, length_howmny)  \
DTGSNA(job, length_job, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dtgsna_ DTGSNA
#else
#define  DTGSNA dtgsna_
#endif
extern void NAG_CALL DTGSNA(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double dif[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ylf_(job, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info, length_job, length_howmny)  \
F08YLF(job, length_job, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ylf_ F08YLF
#else
#define  F08YLF f08ylf_
#endif
extern void NAG_CALL F08YLF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST double vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double dif[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztgsja_(jobu, jobv, jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info, length_jobu, length_jobv, length_jobq)  \
ZTGSJA(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztgsja_ ZTGSJA
#else
#define  ZTGSJA ztgsja_
#endif
extern void NAG_CALL ZTGSJA(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ncycle,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ysf_(jobu, jobv, jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info, length_jobu, length_jobv, length_jobq)  \
F08YSF(jobu, length_jobu, jobv, length_jobv, jobq, length_jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ysf_ F08YSF
#else
#define  F08YSF f08ysf_
#endif
extern void NAG_CALL F08YSF(
  CONST char * jobu
#ifdef USE_STDCALL
,  CONST Charlen length_jobu
#endif
,
  CONST char * jobv
#ifdef USE_STDCALL
,  CONST Charlen length_jobv
#endif
,
  CONST char * jobq
#ifdef USE_STDCALL
,  CONST Charlen length_jobq
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer REFPTR l,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR tola,
  CONST double REFPTR tolb,
  double alpha[] /* 1 dimension */,
  double beta[] /* 1 dimension */,
  Complex u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ncycle,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_jobu,
 CONST Charlen length_jobv,
 CONST Charlen length_jobq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztgexc_(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info)  \
ZTGEXC(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztgexc_ ZTGEXC
#else
#define  ZTGEXC ztgexc_
#endif
extern void NAG_CALL ZTGEXC(
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST Integer REFPTR ifst,
  Integer REFPTR ilst,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ytf_(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info)  \
F08YTF(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ytf_ F08YTF
#else
#define  F08YTF f08ytf_
#endif
extern void NAG_CALL F08YTF(
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST Integer REFPTR ifst,
  Integer REFPTR ilst,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztgsen_(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info)  \
ZTGSEN(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztgsen_ ZTGSEN
#else
#define  ZTGSEN ztgsen_
#endif
extern void NAG_CALL ZTGSEN(
  CONST Integer REFPTR ijob,
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR m,
  double REFPTR pl,
  double REFPTR pr,
  double dif[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08yuf_(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info)  \
F08YUF(ijob, wantq, wantz, sel, n, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08yuf_ F08YUF
#else
#define  F08YUF f08yuf_
#endif
extern void NAG_CALL F08YUF(
  CONST Integer REFPTR ijob,
  CONST logical REFPTR wantq,
  CONST logical REFPTR wantz,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex alpha[] /* 1 dimension */,
  Complex beta[] /* 1 dimension */,
  Complex q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR m,
  double REFPTR pl,
  double REFPTR pr,
  double dif[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztgsyl_(trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info, length_trans)  \
ZTGSYL(trans, length_trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztgsyl_ ZTGSYL
#else
#define  ZTGSYL ztgsyl_
#endif
extern void NAG_CALL ZTGSYL(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR ijob,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST Complex d[] /* 2 dimension */,
  CONST Integer REFPTR ldd,
  CONST Complex e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  Complex f[] /* 2 dimension */,
  CONST Integer REFPTR ldf,
  double REFPTR scal,
  double REFPTR dif,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08yvf_(trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info, length_trans)  \
F08YVF(trans, length_trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scal, dif, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08yvf_ F08YVF
#else
#define  F08YVF f08yvf_
#endif
extern void NAG_CALL F08YVF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR ijob,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST Complex d[] /* 2 dimension */,
  CONST Integer REFPTR ldd,
  CONST Complex e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  Complex f[] /* 2 dimension */,
  CONST Integer REFPTR ldf,
  double REFPTR scal,
  double REFPTR dif,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztgevc_(side, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, rwork, info, length_side, length_howmny)  \
ZTGEVC(side, length_side, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztgevc_ ZTGEVC
#else
#define  ZTGEVC ztgevc_
#endif
extern void NAG_CALL ZTGEVC(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08yxf_(side, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, rwork, info, length_side, length_howmny)  \
F08YXF(side, length_side, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, mm, m, work, rwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08yxf_ F08YXF
#else
#define  F08YXF f08yxf_
#endif
extern void NAG_CALL F08YXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  double rwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
ztgsna_(job, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info, length_job, length_howmny)  \
ZTGSNA(job, length_job, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  ztgsna_ ZTGSNA
#else
#define  ZTGSNA ztgsna_
#endif
extern void NAG_CALL ZTGSNA(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double dif[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08yyf_(job, howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info, length_job, length_howmny)  \
F08YYF(job, length_job, howmny, length_howmny, sel, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08yyf_ F08YYF
#else
#define  F08YYF f08yyf_
#endif
extern void NAG_CALL F08YYF(
  CONST char * job
#ifdef USE_STDCALL
,  CONST Charlen length_job
#endif
,
  CONST char * howmny
#ifdef USE_STDCALL
,  CONST Charlen length_howmny
#endif
,
  CONST logical sel[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Complex vl[] /* 2 dimension */,
  CONST Integer REFPTR ldvl,
  CONST Complex vr[] /* 2 dimension */,
  CONST Integer REFPTR ldvr,
  double s[] /* 1 dimension */,
  double dif[] /* 1 dimension */,
  CONST Integer REFPTR mm,
  Integer REFPTR m,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR info
#ifndef USE_STDCALL
, CONST Charlen length_job,
 CONST Charlen length_howmny
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dgglse_(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info)  \
DGGLSE(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dgglse_ DGGLSE
#else
#define  DGGLSE dgglse_
#endif
extern void NAG_CALL DGGLSE(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08zaf_(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info)  \
F08ZAF(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08zaf_ F08ZAF
#else
#define  F08ZAF f08zaf_
#endif
extern void NAG_CALL F08ZAF(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggglm_(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info)  \
DGGGLM(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggglm_ DGGGLM
#else
#define  DGGGLM dggglm_
#endif
extern void NAG_CALL DGGGLM(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08zbf_(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info)  \
F08ZBF(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08zbf_ F08ZBF
#else
#define  F08ZBF f08zbf_
#endif
extern void NAG_CALL F08ZBF(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggqrf_(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info)  \
DGGQRF(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggqrf_ DGGQRF
#else
#define  DGGQRF dggqrf_
#endif
extern void NAG_CALL DGGQRF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double taua[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double taub[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08zef_(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info)  \
F08ZEF(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08zef_ F08ZEF
#else
#define  F08ZEF f08zef_
#endif
extern void NAG_CALL F08ZEF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double taua[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double taub[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
dggrqf_(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info)  \
DGGRQF(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  dggrqf_ DGGRQF
#else
#define  DGGRQF dggrqf_
#endif
extern void NAG_CALL DGGRQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double taua[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double taub[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08zff_(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info)  \
F08ZFF(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08zff_ F08ZFF
#else
#define  F08ZFF f08zff_
#endif
extern void NAG_CALL F08ZFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double taua[] /* 1 dimension */,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  double taub[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zgglse_(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info)  \
ZGGLSE(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zgglse_ ZGGLSE
#else
#define  ZGGLSE zgglse_
#endif
extern void NAG_CALL ZGGLSE(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08znf_(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info)  \
F08ZNF(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08znf_ F08ZNF
#else
#define  F08ZNF f08znf_
#endif
extern void NAG_CALL F08ZNF(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggglm_(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info)  \
ZGGGLM(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggglm_ ZGGGLM
#else
#define  ZGGGLM zggglm_
#endif
extern void NAG_CALL ZGGGLM(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08zpf_(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info)  \
F08ZPF(m, n, p, a, lda, b, ldb, d, x, y, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08zpf_ F08ZPF
#else
#define  F08ZPF f08zpf_
#endif
extern void NAG_CALL F08ZPF(
  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 info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggqrf_(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info)  \
ZGGQRF(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggqrf_ ZGGQRF
#else
#define  ZGGQRF zggqrf_
#endif
extern void NAG_CALL ZGGQRF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex taua[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex taub[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08zsf_(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info)  \
F08ZSF(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08zsf_ F08ZSF
#else
#define  F08ZSF f08zsf_
#endif
extern void NAG_CALL F08ZSF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex taua[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex taub[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
zggrqf_(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info)  \
ZGGRQF(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  zggrqf_ ZGGRQF
#else
#define  ZGGRQF zggrqf_
#endif
extern void NAG_CALL ZGGRQF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex taua[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex taub[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f08ztf_(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info)  \
F08ZTF(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f08ztf_ F08ZTF
#else
#define  F08ZTF f08ztf_
#endif
extern void NAG_CALL F08ZTF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR p,
  CONST Integer REFPTR n,
  Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Complex taua[] /* 1 dimension */,
  Complex b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Complex taub[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR info
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11bdf_(method, precon, norm, weight, iterm, n, m, tol, maxitn, anorm, sigmax, monit, lwreq, work, lwork, ifail, length_method, length_precon, length_norm, length_weight)  \
F11BDF(method, length_method, precon, length_precon, norm, length_norm, weight, length_weight, iterm, n, m, tol, maxitn, anorm, sigmax, monit, lwreq, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11bdf_ F11BDF
#else
#define  F11BDF f11bdf_
#endif
extern void NAG_CALL F11BDF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR iterm,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  CONST double REFPTR anorm,
  CONST double REFPTR sigmax,
  CONST Integer REFPTR monit,
  Integer REFPTR lwreq,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon,
 CONST Charlen length_norm,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11bef_(irevcm, u, v, wgt, work, lwork, ifail)  \
F11BEF(irevcm, u, v, wgt, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11bef_ F11BEF
#else
#define  F11BEF f11bef_
#endif
extern void NAG_CALL F11BEF(
  Integer REFPTR irevcm,
  double u[] /* 1 dimension */,
  double v[] /* 1 dimension */,
  CONST double wgt[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11bff_(itn, stplhs, stprhs, anorm, sigmax, work, lwork, ifail)  \
F11BFF(itn, stplhs, stprhs, anorm, sigmax, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11bff_ F11BFF
#else
#define  F11BFF f11bff_
#endif
extern void NAG_CALL F11BFF(
  Integer REFPTR itn,
  double REFPTR stplhs,
  double REFPTR stprhs,
  double REFPTR anorm,
  double REFPTR sigmax,
  CONST double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11brf_(method, precon, norm, weight, iterm, n, m, tol, maxitn, anorm, sigmax, monit, lwreq, work, lwork, ifail, length_method, length_precon, length_norm, length_weight)  \
F11BRF(method, length_method, precon, length_precon, norm, length_norm, weight, length_weight, iterm, n, m, tol, maxitn, anorm, sigmax, monit, lwreq, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11brf_ F11BRF
#else
#define  F11BRF f11brf_
#endif
extern void NAG_CALL F11BRF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR iterm,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  CONST double REFPTR anorm,
  CONST double REFPTR sigmax,
  CONST Integer REFPTR monit,
  Integer REFPTR lwreq,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon,
 CONST Charlen length_norm,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11bsf_(irevcm, u, v, wgt, work, lwork, ifail)  \
F11BSF(irevcm, u, v, wgt, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11bsf_ F11BSF
#else
#define  F11BSF f11bsf_
#endif
extern void NAG_CALL F11BSF(
  Integer REFPTR irevcm,
  Complex u[] /* 1 dimension */,
  Complex v[] /* 1 dimension */,
  CONST double wgt[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11btf_(itn, stplhs, stprhs, anorm, sigmax, work, lwork, ifail)  \
F11BTF(itn, stplhs, stprhs, anorm, sigmax, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11btf_ F11BTF
#else
#define  F11BTF f11btf_
#endif
extern void NAG_CALL F11BTF(
  Integer REFPTR itn,
  double REFPTR stplhs,
  double REFPTR stprhs,
  double REFPTR anorm,
  double REFPTR sigmax,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11daf_(n, nnz, a, la, irow, icol, lfill, dtol, pstrat, milu, ipivp, ipivq, istr, idiag, nnzc, npivm, iwork, liwork, ifail, length_pstrat, length_milu)  \
F11DAF(n, nnz, a, la, irow, icol, lfill, dtol, pstrat, length_pstrat, milu, length_milu, ipivp, ipivq, istr, idiag, nnzc, npivm, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11daf_ F11DAF
#else
#define  F11DAF f11daf_
#endif
extern void NAG_CALL F11DAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST Integer REFPTR lfill,
  CONST double REFPTR dtol,
  CONST char * pstrat
#ifdef USE_STDCALL
,  CONST Charlen length_pstrat
#endif
,
  CONST char * milu
#ifdef USE_STDCALL
,  CONST Charlen length_milu
#endif
,
  Integer ipivp[] /* 1 dimension */,
  Integer ipivq[] /* 1 dimension */,
  Integer istr[] /* 1 dimension */,
  Integer idiag[] /* 1 dimension */,
  Integer REFPTR nnzc,
  Integer REFPTR npivm,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_pstrat,
 CONST Charlen length_milu
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dbf_(trans, n, a, la, irow, icol, ipivp, ipivq, istr, idiag, check, y, x, ifail, length_trans, length_check)  \
F11DBF(trans, length_trans, n, a, la, irow, icol, ipivp, ipivq, istr, idiag, check, length_check, y, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dbf_ F11DBF
#else
#define  F11DBF f11dbf_
#endif
extern void NAG_CALL F11DBF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipivp[] /* 1 dimension */,
  Integer ipivq[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST Integer idiag[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dcf_(method, n, nnz, a, la, irow, icol, ipivp, ipivq, istr, idiag, b, m, tol, maxitn, x, rnorm, itn, work, lwork, ifail, length_method)  \
F11DCF(method, length_method, n, nnz, a, la, irow, icol, ipivp, ipivq, istr, idiag, b, m, tol, maxitn, x, rnorm, itn, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dcf_ F11DCF
#else
#define  F11DCF f11dcf_
#endif
extern void NAG_CALL F11DCF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipivp[] /* 1 dimension */,
  Integer ipivq[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST Integer idiag[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  double x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11ddf_(trans, n, nnz, a, irow, icol, rdiag, omega, check, y, x, iwork, ifail, length_trans, length_check)  \
F11DDF(trans, length_trans, n, nnz, a, irow, icol, rdiag, omega, check, length_check, y, x, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11ddf_ F11DDF
#else
#define  F11DDF f11ddf_
#endif
extern void NAG_CALL F11DDF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST double rdiag[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11def_(method, precon, n, nnz, a, irow, icol, omega, b, m, tol, maxitn, x, rnorm, itn, work, lwork, iwork, ifail, length_method, length_precon)  \
F11DEF(method, length_method, precon, length_precon, n, nnz, a, irow, icol, omega, b, m, tol, maxitn, x, rnorm, itn, work, lwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11def_ F11DEF
#else
#define  F11DEF f11def_
#endif
extern void NAG_CALL F11DEF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST double b[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  double x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dkf_(store, trans, init, niter, n, nnz, a, irow, icol, check, b, x, diag, work, ifail, length_store, length_trans, length_init, length_check)  \
F11DKF(store, length_store, trans, length_trans, init, length_init, niter, n, nnz, a, irow, icol, check, length_check, b, x, diag, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dkf_ F11DKF
#else
#define  F11DKF f11dkf_
#endif
extern void NAG_CALL F11DKF(
  CONST char * store
#ifdef USE_STDCALL
,  CONST Charlen length_store
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  CONST Integer REFPTR niter,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST double b[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  double diag[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_store,
 CONST Charlen length_trans,
 CONST Charlen length_init,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dnf_(n, nnz, a, la, irow, icol, lfill, dtol, pstrat, milu, ipivp, ipivq, istr, idiag, nnzc, npivm, iwork, liwork, ifail, length_pstrat, length_milu)  \
F11DNF(n, nnz, a, la, irow, icol, lfill, dtol, pstrat, length_pstrat, milu, length_milu, ipivp, ipivq, istr, idiag, nnzc, npivm, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dnf_ F11DNF
#else
#define  F11DNF f11dnf_
#endif
extern void NAG_CALL F11DNF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  Complex a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST Integer REFPTR lfill,
  CONST double REFPTR dtol,
  CONST char * pstrat
#ifdef USE_STDCALL
,  CONST Charlen length_pstrat
#endif
,
  CONST char * milu
#ifdef USE_STDCALL
,  CONST Charlen length_milu
#endif
,
  Integer ipivp[] /* 1 dimension */,
  Integer ipivq[] /* 1 dimension */,
  Integer istr[] /* 1 dimension */,
  Integer idiag[] /* 1 dimension */,
  Integer REFPTR nnzc,
  Integer REFPTR npivm,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_pstrat,
 CONST Charlen length_milu
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dpf_(trans, n, a, la, irow, icol, ipivp, ipivq, istr, idiag, check, y, x, ifail, length_trans, length_check)  \
F11DPF(trans, length_trans, n, a, la, irow, icol, ipivp, ipivq, istr, idiag, check, length_check, y, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dpf_ F11DPF
#else
#define  F11DPF f11dpf_
#endif
extern void NAG_CALL F11DPF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipivp[] /* 1 dimension */,
  Integer ipivq[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST Integer idiag[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dqf_(method, n, nnz, a, la, irow, icol, ipivp, ipivq, istr, idiag, b, m, tol, maxitn, x, rnorm, itn, work, lwork, ifail, length_method)  \
F11DQF(method, length_method, n, nnz, a, la, irow, icol, ipivp, ipivq, istr, idiag, b, m, tol, maxitn, x, rnorm, itn, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dqf_ F11DQF
#else
#define  F11DQF f11dqf_
#endif
extern void NAG_CALL F11DQF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipivp[] /* 1 dimension */,
  Integer ipivq[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST Integer idiag[] /* 1 dimension */,
  CONST Complex b[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  Complex x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11drf_(trans, n, nnz, a, irow, icol, rdiag, omega, check, y, x, iwork, ifail, length_trans, length_check)  \
F11DRF(trans, length_trans, n, nnz, a, irow, icol, rdiag, omega, check, length_check, y, x, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11drf_ F11DRF
#else
#define  F11DRF f11drf_
#endif
extern void NAG_CALL F11DRF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST Complex rdiag[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dsf_(method, precon, n, nnz, a, irow, icol, omega, b, m, tol, maxitn, x, rnorm, itn, work, lwork, iwork, ifail, length_method, length_precon)  \
F11DSF(method, length_method, precon, length_precon, n, nnz, a, irow, icol, omega, b, m, tol, maxitn, x, rnorm, itn, work, lwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dsf_ F11DSF
#else
#define  F11DSF f11dsf_
#endif
extern void NAG_CALL F11DSF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST Complex b[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  Complex x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11dxf_(store, trans, init, niter, n, nnz, a, irow, icol, check, b, x, diag, work, ifail, length_store, length_trans, length_init, length_check)  \
F11DXF(store, length_store, trans, length_trans, init, length_init, niter, n, nnz, a, irow, icol, check, length_check, b, x, diag, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11dxf_ F11DXF
#else
#define  F11DXF f11dxf_
#endif
extern void NAG_CALL F11DXF(
  CONST char * store
#ifdef USE_STDCALL
,  CONST Charlen length_store
#endif
,
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  CONST Integer REFPTR niter,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST Complex b[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  Complex diag[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_store,
 CONST Charlen length_trans,
 CONST Charlen length_init,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11gdf_(method, precon, sigcmp, norm, weight, iterm, n, tol, maxitn, anorm, sigmax, sigtol, maxits, monit, lwreq, work, lwork, ifail, length_method, length_precon, length_sigcmp, length_norm, length_weight)  \
F11GDF(method, length_method, precon, length_precon, sigcmp, length_sigcmp, norm, length_norm, weight, length_weight, iterm, n, tol, maxitn, anorm, sigmax, sigtol, maxits, monit, lwreq, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11gdf_ F11GDF
#else
#define  F11GDF f11gdf_
#endif
extern void NAG_CALL F11GDF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST char * sigcmp
#ifdef USE_STDCALL
,  CONST Charlen length_sigcmp
#endif
,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR iterm,
  CONST Integer REFPTR n,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  CONST double REFPTR anorm,
  CONST double REFPTR sigmax,
  CONST double REFPTR sigtol,
  CONST Integer REFPTR maxits,
  CONST Integer REFPTR monit,
  Integer REFPTR lwreq,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon,
 CONST Charlen length_sigcmp,
 CONST Charlen length_norm,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11gef_(irevcm, u, v, wgt, work, lwork, ifail)  \
F11GEF(irevcm, u, v, wgt, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11gef_ F11GEF
#else
#define  F11GEF f11gef_
#endif
extern void NAG_CALL F11GEF(
  Integer REFPTR irevcm,
  double u[] /* 1 dimension */,
  double v[] /* 1 dimension */,
  CONST double wgt[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11gff_(itn, stplhs, stprhs, anorm, sigmax, its, sigerr, work, lwork, ifail)  \
F11GFF(itn, stplhs, stprhs, anorm, sigmax, its, sigerr, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11gff_ F11GFF
#else
#define  F11GFF f11gff_
#endif
extern void NAG_CALL F11GFF(
  Integer REFPTR itn,
  double REFPTR stplhs,
  double REFPTR stprhs,
  double REFPTR anorm,
  double REFPTR sigmax,
  Integer REFPTR its,
  double REFPTR sigerr,
  CONST double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11grf_(method, precon, sigcmp, norm, weight, iterm, n, tol, maxitn, anorm, sigmax, sigtol, maxits, monit, lwreq, work, lwork, ifail, length_method, length_precon, length_sigcmp, length_norm, length_weight)  \
F11GRF(method, length_method, precon, length_precon, sigcmp, length_sigcmp, norm, length_norm, weight, length_weight, iterm, n, tol, maxitn, anorm, sigmax, sigtol, maxits, monit, lwreq, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11grf_ F11GRF
#else
#define  F11GRF f11grf_
#endif
extern void NAG_CALL F11GRF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST char * sigcmp
#ifdef USE_STDCALL
,  CONST Charlen length_sigcmp
#endif
,
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR iterm,
  CONST Integer REFPTR n,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  CONST double REFPTR anorm,
  CONST double REFPTR sigmax,
  CONST double REFPTR sigtol,
  CONST Integer REFPTR maxits,
  CONST Integer REFPTR monit,
  Integer REFPTR lwreq,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon,
 CONST Charlen length_sigcmp,
 CONST Charlen length_norm,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11gsf_(irevcm, u, v, wgt, work, lwork, ifail)  \
F11GSF(irevcm, u, v, wgt, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11gsf_ F11GSF
#else
#define  F11GSF f11gsf_
#endif
extern void NAG_CALL F11GSF(
  Integer REFPTR irevcm,
  Complex u[] /* 1 dimension */,
  Complex v[] /* 1 dimension */,
  CONST double wgt[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11gtf_(itn, stplhs, stprhs, anorm, sigmax, its, sigerr, work, lwork, ifail)  \
F11GTF(itn, stplhs, stprhs, anorm, sigmax, its, sigerr, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11gtf_ F11GTF
#else
#define  F11GTF f11gtf_
#endif
extern void NAG_CALL F11GTF(
  Integer REFPTR itn,
  double REFPTR stplhs,
  double REFPTR stprhs,
  double REFPTR anorm,
  double REFPTR sigmax,
  Integer REFPTR its,
  double REFPTR sigerr,
  CONST Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jaf_(n, nnz, a, la, irow, icol, lfill, dtol, mic, dscale, pstrat, ipiv, istr, nnzc, npivm, iwork, liwork, ifail, length_mic, length_pstrat)  \
F11JAF(n, nnz, a, la, irow, icol, lfill, dtol, mic, length_mic, dscale, pstrat, length_pstrat, ipiv, istr, nnzc, npivm, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jaf_ F11JAF
#else
#define  F11JAF f11jaf_
#endif
extern void NAG_CALL F11JAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  double a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST Integer REFPTR lfill,
  CONST double REFPTR dtol,
  CONST char * mic
#ifdef USE_STDCALL
,  CONST Charlen length_mic
#endif
,
  CONST double REFPTR dscale,
  CONST char * pstrat
#ifdef USE_STDCALL
,  CONST Charlen length_pstrat
#endif
,
  Integer ipiv[] /* 1 dimension */,
  Integer istr[] /* 1 dimension */,
  Integer REFPTR nnzc,
  Integer REFPTR npivm,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mic,
 CONST Charlen length_pstrat
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jbf_(n, a, la, irow, icol, ipiv, istr, check, y, x, ifail, length_check)  \
F11JBF(n, a, la, irow, icol, ipiv, istr, check, length_check, y, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jbf_ F11JBF
#else
#define  F11JBF f11jbf_
#endif
extern void NAG_CALL F11JBF(
  CONST Integer REFPTR n,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jcf_(method, n, nnz, a, la, irow, icol, ipiv, istr, b, tol, maxitn, x, rnorm, itn, work, lwork, ifail, length_method)  \
F11JCF(method, length_method, n, nnz, a, la, irow, icol, ipiv, istr, b, tol, maxitn, x, rnorm, itn, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jcf_ F11JCF
#else
#define  F11JCF f11jcf_
#endif
extern void NAG_CALL F11JCF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  double x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jdf_(n, nnz, a, irow, icol, rdiag, omega, check, y, x, iwork, ifail, length_check)  \
F11JDF(n, nnz, a, irow, icol, rdiag, omega, check, length_check, y, x, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jdf_ F11JDF
#else
#define  F11JDF f11jdf_
#endif
extern void NAG_CALL F11JDF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST double rdiag[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST double y[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jef_(method, precon, n, nnz, a, irow, icol, omega, b, tol, maxitn, x, rnorm, itn, work, lwork, iwork, ifail, length_method, length_precon)  \
F11JEF(method, length_method, precon, length_precon, n, nnz, a, irow, icol, omega, b, tol, maxitn, x, rnorm, itn, work, lwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jef_ F11JEF
#else
#define  F11JEF f11jef_
#endif
extern void NAG_CALL F11JEF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST double b[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  double x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jnf_(n, nnz, a, la, irow, icol, lfill, dtol, mic, dscale, pstrat, ipiv, istr, nnzc, npivm, iwork, liwork, ifail, length_mic, length_pstrat)  \
F11JNF(n, nnz, a, la, irow, icol, lfill, dtol, mic, length_mic, dscale, pstrat, length_pstrat, ipiv, istr, nnzc, npivm, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jnf_ F11JNF
#else
#define  F11JNF f11jnf_
#endif
extern void NAG_CALL F11JNF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  Complex a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST Integer REFPTR lfill,
  CONST double REFPTR dtol,
  CONST char * mic
#ifdef USE_STDCALL
,  CONST Charlen length_mic
#endif
,
  CONST double REFPTR dscale,
  CONST char * pstrat
#ifdef USE_STDCALL
,  CONST Charlen length_pstrat
#endif
,
  Integer ipiv[] /* 1 dimension */,
  Integer istr[] /* 1 dimension */,
  Integer REFPTR nnzc,
  Integer REFPTR npivm,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mic,
 CONST Charlen length_pstrat
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jpf_(n, a, la, irow, icol, ipiv, istr, check, y, x, ifail, length_check)  \
F11JPF(n, a, la, irow, icol, ipiv, istr, check, length_check, y, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jpf_ F11JPF
#else
#define  F11JPF f11jpf_
#endif
extern void NAG_CALL F11JPF(
  CONST Integer REFPTR n,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jqf_(method, n, nnz, a, la, irow, icol, ipiv, istr, b, tol, maxitn, x, rnorm, itn, work, lwork, ifail, length_method)  \
F11JQF(method, length_method, n, nnz, a, la, irow, icol, ipiv, istr, b, tol, maxitn, x, rnorm, itn, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jqf_ F11JQF
#else
#define  F11JQF f11jqf_
#endif
extern void NAG_CALL F11JQF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer REFPTR la,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  Integer ipiv[] /* 1 dimension */,
  CONST Integer istr[] /* 1 dimension */,
  CONST Complex b[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  Complex x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jrf_(n, nnz, a, irow, icol, rdiag, omega, check, y, x, iwork, ifail, length_check)  \
F11JRF(n, nnz, a, irow, icol, rdiag, omega, check, length_check, y, x, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jrf_ F11JRF
#else
#define  F11JRF f11jrf_
#endif
extern void NAG_CALL F11JRF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST double rdiag[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST Complex y[] /* 1 dimension */,
  Complex x[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11jsf_(method, precon, n, nnz, a, irow, icol, omega, b, tol, maxitn, x, rnorm, itn, rdiag, work, lwork, iwork, ifail, length_method, length_precon)  \
F11JSF(method, length_method, precon, length_precon, n, nnz, a, irow, icol, omega, b, tol, maxitn, x, rnorm, itn, rdiag, work, lwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11jsf_ F11JSF
#else
#define  F11JSF f11jsf_
#endif
extern void NAG_CALL F11JSF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * precon
#ifdef USE_STDCALL
,  CONST Charlen length_precon
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST double REFPTR omega,
  CONST Complex b[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxitn,
  Complex x[] /* 1 dimension */,
  double REFPTR rnorm,
  Integer REFPTR itn,
  double rdiag[] /* 1 dimension */,
  Complex work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_precon
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mdf_(spec, n, icolzp, irowix, iprm, ifail, length_spec)  \
F11MDF(spec, length_spec, n, icolzp, irowix, iprm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mdf_ F11MDF
#else
#define  F11MDF f11mdf_
#endif
extern void NAG_CALL F11MDF(
  CONST char * spec
#ifdef USE_STDCALL
,  CONST Charlen length_spec
#endif
,
  CONST Integer REFPTR n,
  CONST Integer icolzp[] /* 1 dimension */,
  CONST Integer irowix[] /* 1 dimension */,
  Integer iprm[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_spec
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mef_(n, irowix, a, iprm, thresh, nzlmx, nzlumx, nzumx, il, lval, iu, uval, nnzl, nnzu, flop, ifail)  \
F11MEF(n, irowix, a, iprm, thresh, nzlmx, nzlumx, nzumx, il, lval, iu, uval, nnzl, nnzu, flop, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mef_ F11MEF
#else
#define  F11MEF f11mef_
#endif
extern void NAG_CALL F11MEF(
  CONST Integer REFPTR n,
  CONST Integer irowix[] /* 1 dimension */,
  CONST double a[] /* 1 dimension */,
  Integer iprm[] /* 1 dimension */,
  CONST double REFPTR thresh,
  CONST Integer REFPTR nzlmx,
  Integer REFPTR nzlumx,
  CONST Integer REFPTR nzumx,
  Integer il[] /* 1 dimension */,
  double lval[] /* 1 dimension */,
  Integer iu[] /* 1 dimension */,
  double uval[] /* 1 dimension */,
  Integer REFPTR nnzl,
  Integer REFPTR nnzu,
  double REFPTR flop,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mff_(trans, n, iprm, il, lval, iu, uval, nrhs, b, ldb, ifail, length_trans)  \
F11MFF(trans, length_trans, n, iprm, il, lval, iu, uval, nrhs, b, ldb, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mff_ F11MFF
#else
#define  F11MFF f11mff_
#endif
extern void NAG_CALL F11MFF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer iprm[] /* 1 dimension */,
  CONST Integer il[] /* 1 dimension */,
  CONST double lval[] /* 1 dimension */,
  CONST Integer iu[] /* 1 dimension */,
  CONST double uval[] /* 1 dimension */,
  CONST Integer REFPTR nrhs,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mgf_(norm, n, il, lval, iu, uval, anorm, rcond, ifail, length_norm)  \
F11MGF(norm, length_norm, n, il, lval, iu, uval, anorm, rcond, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mgf_ F11MGF
#else
#define  F11MGF f11mgf_
#endif
extern void NAG_CALL F11MGF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  CONST Integer REFPTR n,
  CONST Integer il[] /* 1 dimension */,
  CONST double lval[] /* 1 dimension */,
  CONST Integer iu[] /* 1 dimension */,
  CONST double uval[] /* 1 dimension */,
  CONST double REFPTR anorm,
  double REFPTR rcond,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mhf_(trans, n, icolzp, irowix, a, iprm, il, lval, iu, uval, nrhs, b, ldb, x, ldx, ferr, berr, ifail, length_trans)  \
F11MHF(trans, length_trans, n, icolzp, irowix, a, iprm, il, lval, iu, uval, nrhs, b, ldb, x, ldx, ferr, berr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mhf_ F11MHF
#else
#define  F11MHF f11mhf_
#endif
extern void NAG_CALL F11MHF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer icolzp[] /* 1 dimension */,
  CONST Integer irowix[] /* 1 dimension */,
  CONST double a[] /* 1 dimension */,
  CONST Integer iprm[] /* 1 dimension */,
  CONST Integer il[] /* 1 dimension */,
  CONST double lval[] /* 1 dimension */,
  CONST Integer iu[] /* 1 dimension */,
  CONST double uval[] /* 1 dimension */,
  CONST Integer REFPTR nrhs,
  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 */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mkf_(trans, n, m, alpha, icolzp, irowix, a, b, ldb, beta, c, ldc, ifail, length_trans)  \
F11MKF(trans, length_trans, n, m, alpha, icolzp, irowix, a, b, ldb, beta, c, ldc, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mkf_ F11MKF
#else
#define  F11MKF f11mkf_
#endif
extern void NAG_CALL F11MKF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double REFPTR alpha,
  CONST Integer icolzp[] /* 1 dimension */,
  CONST Integer irowix[] /* 1 dimension */,
  CONST double a[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double REFPTR beta,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mlf_(norm, anorm, n, icolzp, irowix, a, ifail, length_norm)  \
F11MLF(norm, length_norm, anorm, n, icolzp, irowix, a, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mlf_ F11MLF
#else
#define  F11MLF f11mlf_
#endif
extern void NAG_CALL F11MLF(
  CONST char * norm
#ifdef USE_STDCALL
,  CONST Charlen length_norm
#endif
,
  double REFPTR anorm,
  CONST Integer REFPTR n,
  CONST Integer icolzp[] /* 1 dimension */,
  CONST Integer irowix[] /* 1 dimension */,
  CONST double a[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_norm
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11mmf_(n, icolzp, a, iprm, il, lval, iu, uval, rpg, ifail)  \
F11MMF(n, icolzp, a, iprm, il, lval, iu, uval, rpg, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11mmf_ F11MMF
#else
#define  F11MMF f11mmf_
#endif
extern void NAG_CALL F11MMF(
  CONST Integer REFPTR n,
  CONST Integer icolzp[] /* 1 dimension */,
  CONST double a[] /* 1 dimension */,
  CONST Integer iprm[] /* 1 dimension */,
  CONST Integer il[] /* 1 dimension */,
  CONST double lval[] /* 1 dimension */,
  CONST Integer iu[] /* 1 dimension */,
  CONST double uval[] /* 1 dimension */,
  double REFPTR rpg,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11xaf_(trans, n, nnz, a, irow, icol, check, x, y, ifail, length_trans, length_check)  \
F11XAF(trans, length_trans, n, nnz, a, irow, icol, check, length_check, x, y, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11xaf_ F11XAF
#else
#define  F11XAF f11xaf_
#endif
extern void NAG_CALL F11XAF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11xef_(n, nnz, a, irow, icol, check, x, y, ifail, length_check)  \
F11XEF(n, nnz, a, irow, icol, check, length_check, x, y, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11xef_ F11XEF
#else
#define  F11XEF f11xef_
#endif
extern void NAG_CALL F11XEF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST double a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11xnf_(trans, n, nnz, a, irow, icol, check, x, y, ifail, length_trans, length_check)  \
F11XNF(trans, length_trans, n, nnz, a, irow, icol, check, length_check, x, y, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11xnf_ F11XNF
#else
#define  F11XNF f11xnf_
#endif
extern void NAG_CALL F11XNF(
  CONST char * trans
#ifdef USE_STDCALL
,  CONST Charlen length_trans
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST Complex x[] /* 1 dimension */,
  Complex y[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_trans,
 CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11xsf_(n, nnz, a, irow, icol, check, x, y, ifail, length_check)  \
F11XSF(n, nnz, a, irow, icol, check, length_check, x, y, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11xsf_ F11XSF
#else
#define  F11XSF f11xsf_
#endif
extern void NAG_CALL F11XSF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nnz,
  CONST Complex a[] /* 1 dimension */,
  CONST Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  CONST char * check
#ifdef USE_STDCALL
,  CONST Charlen length_check
#endif
,
  CONST Complex x[] /* 1 dimension */,
  Complex y[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_check
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11zaf_(n, nnz, a, irow, icol, dup, zero, istr, iwork, ifail, length_dup, length_zero)  \
F11ZAF(n, nnz, a, irow, icol, dup, length_dup, zero, length_zero, istr, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11zaf_ F11ZAF
#else
#define  F11ZAF f11zaf_
#endif
extern void NAG_CALL F11ZAF(
  CONST Integer REFPTR n,
  Integer REFPTR nnz,
  double a[] /* 1 dimension */,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST char * dup
#ifdef USE_STDCALL
,  CONST Charlen length_dup
#endif
,
  CONST char * zero
#ifdef USE_STDCALL
,  CONST Charlen length_zero
#endif
,
  Integer istr[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dup,
 CONST Charlen length_zero
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11zbf_(n, nnz, a, irow, icol, dup, zero, istr, iwork, ifail, length_dup, length_zero)  \
F11ZBF(n, nnz, a, irow, icol, dup, length_dup, zero, length_zero, istr, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11zbf_ F11ZBF
#else
#define  F11ZBF f11zbf_
#endif
extern void NAG_CALL F11ZBF(
  CONST Integer REFPTR n,
  Integer REFPTR nnz,
  double a[] /* 1 dimension */,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST char * dup
#ifdef USE_STDCALL
,  CONST Charlen length_dup
#endif
,
  CONST char * zero
#ifdef USE_STDCALL
,  CONST Charlen length_zero
#endif
,
  Integer istr[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dup,
 CONST Charlen length_zero
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11znf_(n, nnz, a, irow, icol, dup, zero, istr, iwork, ifail, length_dup, length_zero)  \
F11ZNF(n, nnz, a, irow, icol, dup, length_dup, zero, length_zero, istr, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11znf_ F11ZNF
#else
#define  F11ZNF f11znf_
#endif
extern void NAG_CALL F11ZNF(
  CONST Integer REFPTR n,
  Integer REFPTR nnz,
  Complex a[] /* 1 dimension */,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST char * dup
#ifdef USE_STDCALL
,  CONST Charlen length_dup
#endif
,
  CONST char * zero
#ifdef USE_STDCALL
,  CONST Charlen length_zero
#endif
,
  Integer istr[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dup,
 CONST Charlen length_zero
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f11zpf_(n, nnz, a, irow, icol, dup, zero, istr, iwork, ifail, length_dup, length_zero)  \
F11ZPF(n, nnz, a, irow, icol, dup, length_dup, zero, length_zero, istr, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f11zpf_ F11ZPF
#else
#define  F11ZPF f11zpf_
#endif
extern void NAG_CALL F11ZPF(
  CONST Integer REFPTR n,
  Integer REFPTR nnz,
  Complex a[] /* 1 dimension */,
  Integer irow[] /* 1 dimension */,
  Integer icol[] /* 1 dimension */,
  CONST char * dup
#ifdef USE_STDCALL
,  CONST Charlen length_dup
#endif
,
  CONST char * zero
#ifdef USE_STDCALL
,  CONST Charlen length_zero
#endif
,
  Integer istr[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dup,
 CONST Charlen length_zero
#endif

);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12abf_(irevcm, resid, v, ldv, x, mx, nshift, comm, icomm, ifail)  \
F12ABF(irevcm, resid, v, ldv, x, mx, nshift, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12abf_ F12ABF
#else
#define  F12ABF f12abf_
#endif
extern void NAG_CALL F12ABF(
  Integer REFPTR irevcm,
  double resid[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double x[] /* 1 dimension */,
  double mx[] /* 1 dimension */,
  Integer REFPTR nshift,
  double comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12acf_(nconv, dr, di, z, ldz, sigmar, sigmai, resid, v, ldv, comm, icomm, ifail)  \
F12ACF(nconv, dr, di, z, ldz, sigmar, sigmai, resid, v, ldv, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12acf_ F12ACF
#else
#define  F12ACF f12acf_
#endif
extern void NAG_CALL F12ACF(
  Integer REFPTR nconv,
  double dr[] /* 1 dimension */,
  double di[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST double REFPTR sigmar,
  CONST double REFPTR sigmai,
  CONST double resid[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12adf_(str, icomm, comm, ifail, length_str)  \
F12ADF(str, length_str, icomm, comm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12adf_ F12ADF
#else
#define  F12ADF f12adf_
#endif
extern void NAG_CALL F12ADF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  Integer icomm[] /* 1 dimension */,
  double comm[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12aef_(niter, nconv, ritzr, ritzi, rzest, icomm, comm)  \
F12AEF(niter, nconv, ritzr, ritzi, rzest, icomm, comm) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12aef_ F12AEF
#else
#define  F12AEF f12aef_
#endif
extern void NAG_CALL F12AEF(
  Integer REFPTR niter,
  Integer REFPTR nconv,
  double ritzr[] /* 1 dimension */,
  double ritzi[] /* 1 dimension */,
  double rzest[] /* 1 dimension */,
  CONST Integer icomm[] /* 1 dimension */,
  CONST double comm[] /* 1 dimension */
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12agf_(kl, ku, ab, ldab, mb, ldmb, sigmar, sigmai, nconv, dr, di, z, ldz, resid, v, ldv, comm, icomm, ifail)  \
F12AGF(kl, ku, ab, ldab, mb, ldmb, sigmar, sigmai, nconv, dr, di, z, ldz, resid, v, ldv, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12agf_ F12AGF
#else
#define  F12AGF f12agf_
#endif
extern void NAG_CALL F12AGF(
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double mb[] /* 2 dimension */,
  CONST Integer REFPTR ldmb,
  CONST double REFPTR sigmar,
  CONST double REFPTR sigmai,
  Integer REFPTR nconv,
  double dr[] /* 1 dimension */,
  double di[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double resid[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12anf_(n, nev, ncv, icomm, licomm, comm, lcomm, ifail)  \
F12ANF(n, nev, ncv, icomm, licomm, comm, lcomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12anf_ F12ANF
#else
#define  F12ANF f12anf_
#endif
extern void NAG_CALL F12ANF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nev,
  CONST Integer REFPTR ncv,
  Integer icomm[] /* 1 dimension */,
  CONST Integer REFPTR licomm,
  Complex comm[] /* 1 dimension */,
  CONST Integer REFPTR lcomm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12apf_(irevcm, resid, v, ldv, x, mx, nshift, comm, icomm, ifail)  \
F12APF(irevcm, resid, v, ldv, x, mx, nshift, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12apf_ F12APF
#else
#define  F12APF f12apf_
#endif
extern void NAG_CALL F12APF(
  Integer REFPTR irevcm,
  Complex resid[] /* 1 dimension */,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex x[] /* 1 dimension */,
  Complex mx[] /* 1 dimension */,
  Integer REFPTR nshift,
  Complex comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12aqf_(nconv, d, z, ldz, sigma, resid, v, ldv, comm, icomm, ifail)  \
F12AQF(nconv, d, z, ldz, sigma, resid, v, ldv, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12aqf_ F12AQF
#else
#define  F12AQF f12aqf_
#endif
extern void NAG_CALL F12AQF(
  Integer REFPTR nconv,
  Complex d[] /* 1 dimension */,
  Complex z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST Complex REFPTR sigma,
  CONST Complex resid[] /* 1 dimension */,
  Complex v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  Complex comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12arf_(str, icomm, comm, ifail, length_str)  \
F12ARF(str, length_str, icomm, comm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12arf_ F12ARF
#else
#define  F12ARF f12arf_
#endif
extern void NAG_CALL F12ARF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  Integer icomm[] /* 1 dimension */,
  Complex comm[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12asf_(niter, nconv, ritz, rzest, icomm, comm)  \
F12ASF(niter, nconv, ritz, rzest, icomm, comm) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12asf_ F12ASF
#else
#define  F12ASF f12asf_
#endif
extern void NAG_CALL F12ASF(
  Integer REFPTR niter,
  Integer REFPTR nconv,
  Complex ritz[] /* 1 dimension */,
  Complex rzest[] /* 1 dimension */,
  CONST Integer icomm[] /* 1 dimension */,
  CONST Complex comm[] /* 1 dimension */
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12fbf_(irevcm, resid, v, ldv, x, mx, nshift, comm, icomm, ifail)  \
F12FBF(irevcm, resid, v, ldv, x, mx, nshift, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12fbf_ F12FBF
#else
#define  F12FBF f12fbf_
#endif
extern void NAG_CALL F12FBF(
  Integer REFPTR irevcm,
  double resid[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double x[] /* 1 dimension */,
  double mx[] /* 1 dimension */,
  Integer REFPTR nshift,
  double comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12fcf_(nconv, d, z, ldz, sigma, resid, v, ldv, comm, icomm, ifail)  \
F12FCF(nconv, d, z, ldz, sigma, resid, v, ldv, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12fcf_ F12FCF
#else
#define  F12FCF f12fcf_
#endif
extern void NAG_CALL F12FCF(
  Integer REFPTR nconv,
  double d[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST double REFPTR sigma,
  CONST double resid[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12fdf_(str, icomm, comm, ifail, length_str)  \
F12FDF(str, length_str, icomm, comm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12fdf_ F12FDF
#else
#define  F12FDF f12fdf_
#endif
extern void NAG_CALL F12FDF(
  CONST char * str
#ifdef USE_STDCALL
,  CONST Charlen length_str
#endif
,
  Integer icomm[] /* 1 dimension */,
  double comm[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_str
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12fef_(niter, nconv, ritz, rzest, icomm, comm)  \
F12FEF(niter, nconv, ritz, rzest, icomm, comm) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12fef_ F12FEF
#else
#define  F12FEF f12fef_
#endif
extern void NAG_CALL F12FEF(
  Integer REFPTR niter,
  Integer REFPTR nconv,
  double ritz[] /* 1 dimension */,
  double rzest[] /* 1 dimension */,
  CONST Integer icomm[] /* 1 dimension */,
  CONST double comm[] /* 1 dimension */
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
f12fgf_(kl, ku, ab, ldab, mb, ldmb, sigma, nconv, d, z, ldz, resid, v, ldv, comm, icomm, ifail)  \
F12FGF(kl, ku, ab, ldab, mb, ldmb, sigma, nconv, d, z, ldz, resid, v, ldv, comm, icomm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  f12fgf_ F12FGF
#else
#define  F12FGF f12fgf_
#endif
extern void NAG_CALL F12FGF(
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double ab[] /* 2 dimension */,
  CONST Integer REFPTR ldab,
  CONST double mb[] /* 2 dimension */,
  CONST Integer REFPTR ldmb,
  CONST double REFPTR sigma,
  Integer REFPTR nconv,
  double d[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double resid[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double comm[] /* 1 dimension */,
  Integer icomm[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

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

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

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

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

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

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

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

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

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

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

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

#define \
blas_zsum_(retval,n, x, incx)  \
BLAS_ZSUM(retval,n, x, incx) 
#else

#define \
blas_zsum_(n, x, incx)  \
BLAS_ZSUM(n, x, incx) 
#endif

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

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

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

#define \
f16glf_(retval,n, x, incx)  \
F16GLF(retval,n, x, incx) 
#else

#define \
f16glf_(n, x, incx)  \
F16GLF(n, x, incx) 
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01aaf_(n, x, iwt, wt, xmean, s2, s3, s4, xmin, xmax, wtsum, ifail)  \
G01AAF(n, x, iwt, wt, xmean, s2, s3, s4, xmin, xmax, wtsum, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01aaf_ G01AAF
#else
#define  G01AAF g01aaf_
#endif
extern void NAG_CALL G01AAF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  Integer REFPTR iwt,
  double wt[] /* 1 dimension */,
  double REFPTR xmean,
  double REFPTR s2,
  double REFPTR s3,
  double REFPTR s4,
  double REFPTR xmin,
  double REFPTR xmax,
  double REFPTR wtsum,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01abf_(n, x1, x2, iwt, wt, res, ifail)  \
G01ABF(n, x1, x2, iwt, wt, res, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01abf_ G01ABF
#else
#define  G01ABF g01abf_
#endif
extern void NAG_CALL G01ABF(
  CONST Integer REFPTR n,
  CONST double x1[] /* 1 dimension */,
  CONST double x2[] /* 1 dimension */,
  Integer REFPTR iwt,
  double wt[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01adf_(k, x, ifreq, xmean, s2, s3, s4, n, ifail)  \
G01ADF(k, x, ifreq, xmean, s2, s3, s4, n, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01adf_ G01ADF
#else
#define  G01ADF g01adf_
#endif
extern void NAG_CALL G01ADF(
  CONST Integer REFPTR k,
  CONST double x[] /* 1 dimension */,
  CONST Integer ifreq[] /* 1 dimension */,
  double REFPTR xmean,
  double REFPTR s2,
  double REFPTR s3,
  double REFPTR s4,
  Integer REFPTR n,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01aef_(n, k, x, iclass, cb, ifreq, xmin, xmax, ifail)  \
G01AEF(n, k, x, iclass, cb, ifreq, xmin, xmax, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01aef_ G01AEF
#else
#define  G01AEF g01aef_
#endif
extern void NAG_CALL G01AEF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR iclass,
  double cb[] /* 1 dimension */,
  Integer ifreq[] /* 1 dimension */,
  double REFPTR xmin,
  double REFPTR xmax,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01aff_(ldnob, ldpred, m, n, nobs, num, pred, chis, p, npos, ndf, m1, n1, ifail)  \
G01AFF(ldnob, ldpred, m, n, nobs, num, pred, chis, p, npos, ndf, m1, n1, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01aff_ G01AFF
#else
#define  G01AFF g01aff_
#endif
extern void NAG_CALL G01AFF(
  CONST Integer REFPTR ldnob,
  CONST Integer REFPTR ldpred,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Integer nobs[] /* 2 dimension */,
  Integer REFPTR num,
  double pred[] /* 2 dimension */,
  double REFPTR chis,
  double p[] /* 1 dimension */,
  Integer REFPTR npos,
  Integer REFPTR ndf,
  Integer REFPTR m1,
  Integer REFPTR n1,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01agf_(x, y, nobs, isort, nstepx, nstepy, ifail)  \
G01AGF(x, y, nobs, isort, nstepx, nstepy, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01agf_ G01AGF
#else
#define  G01AGF g01agf_
#endif
extern void NAG_CALL G01AGF(
  CONST double x[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  CONST Integer REFPTR nobs,
  Integer isort[] /* 1 dimension */,
  CONST Integer REFPTR nstepx,
  CONST Integer REFPTR nstepy,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ahf_(x, nobs, nstepx, nstepy, istand, iwork, work, lwork, xsort, xbar, xstd, ifail)  \
G01AHF(x, nobs, nstepx, nstepy, istand, iwork, work, lwork, xsort, xbar, xstd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ahf_ G01AHF
#else
#define  G01AHF g01ahf_
#endif
extern void NAG_CALL G01AHF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nobs,
  CONST Integer REFPTR nstepx,
  CONST Integer REFPTR nstepy,
  CONST Integer REFPTR istand,
  Integer iwork[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  double xsort[] /* 1 dimension */,
  double REFPTR xbar,
  double REFPTR xstd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ajf_(x, n, nstepx, nstepy, itype, ispace, xmin, xmax, xstep, n1, multy, ifail)  \
G01AJF(x, n, nstepx, nstepy, itype, ispace, xmin, xmax, xstep, n1, multy, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ajf_ G01AJF
#else
#define  G01AJF g01ajf_
#endif
extern void NAG_CALL G01AJF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer REFPTR nstepx,
  Integer REFPTR nstepy,
  CONST Integer REFPTR itype,
  Integer REFPTR ispace,
  double REFPTR xmin,
  double REFPTR xmax,
  double REFPTR xstep,
  Integer REFPTR n1,
  Integer REFPTR multy,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01amf_(n, rv, nq, q, qv, ifail)  \
G01AMF(n, rv, nq, q, qv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01amf_ G01AMF
#else
#define  G01AMF g01amf_
#endif
extern void NAG_CALL G01AMF(
  CONST Integer REFPTR n,
  double rv[] /* 1 dimension */,
  CONST Integer REFPTR nq,
  CONST double q[] /* 1 dimension */,
  double qv[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01arf_(range, prt, n, y, nstepx, nstepy, unit, plot, ldplot, lines, sorty, iwork, ifail, length_range, length_prt, length_plot)  \
G01ARF(range, length_range, prt, length_prt, n, y, nstepx, nstepy, unit, plot, length_plot, ldplot, lines, sorty, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01arf_ G01ARF
#else
#define  G01ARF g01arf_
#endif
extern void NAG_CALL G01ARF(
  CONST char * range
#ifdef USE_STDCALL
,  CONST Charlen length_range
#endif
,
  CONST char * prt
#ifdef USE_STDCALL
,  CONST Charlen length_prt
#endif
,
  CONST Integer REFPTR n,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR nstepx,
  CONST Integer REFPTR nstepy,
  double REFPTR unit,
  char plot[] /* 2 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_plot
#endif
,
  CONST Integer REFPTR ldplot,
  Integer REFPTR lines,
  double sorty[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_range,
 CONST Charlen length_prt,
 CONST Charlen length_plot
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01asf_(prt, m, n, x, ldx, nstepx, nstepy, plot, ldplot, work, iwork, ifail, length_prt, length_plot)  \
G01ASF(prt, length_prt, m, n, x, ldx, nstepx, nstepy, plot, length_plot, ldplot, work, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01asf_ G01ASF
#else
#define  G01ASF g01asf_
#endif
extern void NAG_CALL G01ASF(
  CONST char * prt
#ifdef USE_STDCALL
,  CONST Charlen length_prt
#endif
,
  CONST Integer REFPTR m,
  CONST Integer n[] /* 1 dimension */,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR nstepx,
  CONST Integer REFPTR nstepy,
  char plot[] /* 2 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_plot
#endif
,
  CONST Integer REFPTR ldplot,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_prt,
 CONST Charlen length_plot
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01bjf_(n, p, k, plek, pgtk, peqk, ifail)  \
G01BJF(n, p, k, plek, pgtk, peqk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01bjf_ G01BJF
#else
#define  G01BJF g01bjf_
#endif
extern void NAG_CALL G01BJF(
  CONST Integer REFPTR n,
  CONST double REFPTR p,
  CONST Integer REFPTR k,
  double REFPTR plek,
  double REFPTR pgtk,
  double REFPTR peqk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01bkf_(rlamda, k, plek, pgtk, peqk, ifail)  \
G01BKF(rlamda, k, plek, pgtk, peqk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01bkf_ G01BKF
#else
#define  G01BKF g01bkf_
#endif
extern void NAG_CALL G01BKF(
  CONST double REFPTR rlamda,
  CONST Integer REFPTR k,
  double REFPTR plek,
  double REFPTR pgtk,
  double REFPTR peqk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01blf_(n, l, m, k, plek, pgtk, peqk, ifail)  \
G01BLF(n, l, m, k, plek, pgtk, peqk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01blf_ G01BLF
#else
#define  G01BLF g01blf_
#endif
extern void NAG_CALL G01BLF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR l,
  CONST Integer REFPTR m,
  CONST Integer REFPTR k,
  double REFPTR plek,
  double REFPTR pgtk,
  double REFPTR peqk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01daf_(n, pp, etol, errest, work, iw, ifail)  \
G01DAF(n, pp, etol, errest, work, iw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01daf_ G01DAF
#else
#define  G01DAF g01daf_
#endif
extern void NAG_CALL G01DAF(
  CONST Integer REFPTR n,
  double pp[] /* 1 dimension */,
  CONST double REFPTR etol,
  double REFPTR errest,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR iw,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01dcf_(n, exp1, exp2, sumssq, vec, ifail)  \
G01DCF(n, exp1, exp2, sumssq, vec, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01dcf_ G01DCF
#else
#define  G01DCF g01dcf_
#endif
extern void NAG_CALL G01DCF(
  CONST Integer REFPTR n,
  CONST double REFPTR exp1,
  CONST double REFPTR exp2,
  CONST double REFPTR sumssq,
  double vec[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ddf_(x, n, calwts, a, w, pw, ifail)  \
G01DDF(x, n, calwts, a, w, pw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ddf_ G01DDF
#else
#define  G01DDF g01ddf_
#endif
extern void NAG_CALL G01DDF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST logical REFPTR calwts,
  double a[] /* 1 dimension */,
  double REFPTR w,
  double REFPTR pw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01dhf_(scores, ties, n, x, r, iwrk, ifail, length_scores, length_ties)  \
G01DHF(scores, length_scores, ties, length_ties, n, x, r, iwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01dhf_ G01DHF
#else
#define  G01DHF g01dhf_
#endif
extern void NAG_CALL G01DHF(
  CONST char * scores
#ifdef USE_STDCALL
,  CONST Charlen length_scores
#endif
,
  CONST char * ties
#ifdef USE_STDCALL
,  CONST Charlen length_ties
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  Integer iwrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_scores,
 CONST Charlen length_ties
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01eaf_(tail, x, ifail, length_tail)  \
G01EAF(tail, length_tail, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01eaf_ G01EAF
#else
#define  G01EAF g01eaf_
#endif
extern double NAG_CALL G01EAF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR x,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ebf_(tail, t, df, ifail, length_tail)  \
G01EBF(tail, length_tail, t, df, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ebf_ G01EBF
#else
#define  G01EBF g01ebf_
#endif
extern double NAG_CALL G01EBF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR t,
  CONST double REFPTR df,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ecf_(tail, x, df, ifail, length_tail)  \
G01ECF(tail, length_tail, x, df, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ecf_ G01ECF
#else
#define  G01ECF g01ecf_
#endif
extern double NAG_CALL G01ECF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR x,
  CONST double REFPTR df,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01edf_(tail, f, df1, df2, ifail, length_tail)  \
G01EDF(tail, length_tail, f, df1, df2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01edf_ G01EDF
#else
#define  G01EDF g01edf_
#endif
extern double NAG_CALL G01EDF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR f,
  CONST double REFPTR df1,
  CONST double REFPTR df2,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01eef_(x, a, b, tol, p, q, pdf, ifail)  \
G01EEF(x, a, b, tol, p, q, pdf, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01eef_ G01EEF
#else
#define  G01EEF g01eef_
#endif
extern void NAG_CALL G01EEF(
  CONST double REFPTR x,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR tol,
  double REFPTR p,
  double REFPTR q,
  double REFPTR pdf,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01eff_(tail, g, a, b, ifail, length_tail)  \
G01EFF(tail, length_tail, g, a, b, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01eff_ G01EFF
#else
#define  G01EFF g01eff_
#endif
extern double NAG_CALL G01EFF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR g,
  CONST double REFPTR a,
  CONST double REFPTR b,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01emf_(q, v, ir, ifail)  \
G01EMF(q, v, ir, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01emf_ G01EMF
#else
#define  G01EMF g01emf_
#endif
extern double NAG_CALL G01EMF(
  CONST double REFPTR q,
  CONST double REFPTR v,
  CONST Integer REFPTR ir,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01epf_(n, ip, d, pdl, pdu, work, ifail)  \
G01EPF(n, ip, d, pdl, pdu, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01epf_ G01EPF
#else
#define  G01EPF g01epf_
#endif
extern void NAG_CALL G01EPF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ip,
  CONST double REFPTR d,
  double REFPTR pdl,
  double REFPTR pdu,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01erf_(t, vk, ifail)  \
G01ERF(t, vk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01erf_ G01ERF
#else
#define  G01ERF g01erf_
#endif
extern double NAG_CALL G01ERF(
  CONST double REFPTR t,
  CONST double REFPTR vk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01etf_(x)  \
G01ETF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01etf_ G01ETF
#else
#define  G01ETF g01etf_
#endif
extern double NAG_CALL G01ETF(
  CONST double REFPTR x
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01eyf_(n, d, ifail)  \
G01EYF(n, d, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01eyf_ G01EYF
#else
#define  G01EYF g01eyf_
#endif
extern double NAG_CALL G01EYF(
  CONST Integer REFPTR n,
  CONST double REFPTR d,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ezf_(n1, n2, d, ifail)  \
G01EZF(n1, n2, d, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ezf_ G01EZF
#else
#define  G01EZF g01ezf_
#endif
extern double NAG_CALL G01EZF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST double REFPTR d,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01faf_(tail, p, ifail, length_tail)  \
G01FAF(tail, length_tail, p, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01faf_ G01FAF
#else
#define  G01FAF g01faf_
#endif
extern double NAG_CALL G01FAF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR p,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01fbf_(tail, p, df, ifail, length_tail)  \
G01FBF(tail, length_tail, p, df, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01fbf_ G01FBF
#else
#define  G01FBF g01fbf_
#endif
extern double NAG_CALL G01FBF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR p,
  CONST double REFPTR df,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01fcf_(p, df, ifail)  \
G01FCF(p, df, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01fcf_ G01FCF
#else
#define  G01FCF g01fcf_
#endif
extern double NAG_CALL G01FCF(
  CONST double REFPTR p,
  CONST double REFPTR df,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01fdf_(p, df1, df2, ifail)  \
G01FDF(p, df1, df2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01fdf_ G01FDF
#else
#define  G01FDF g01fdf_
#endif
extern double NAG_CALL G01FDF(
  CONST double REFPTR p,
  CONST double REFPTR df1,
  CONST double REFPTR df2,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01fef_(p, a, b, tol, ifail)  \
G01FEF(p, a, b, tol, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01fef_ G01FEF
#else
#define  G01FEF g01fef_
#endif
extern double NAG_CALL G01FEF(
  CONST double REFPTR p,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR tol,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01fff_(p, a, b, tol, ifail)  \
G01FFF(p, a, b, tol, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01fff_ G01FFF
#else
#define  G01FFF g01fff_
#endif
extern double NAG_CALL G01FFF(
  CONST double REFPTR p,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR tol,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01fmf_(p, v, ir, ifail)  \
G01FMF(p, v, ir, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01fmf_ G01FMF
#else
#define  G01FMF g01fmf_
#endif
extern double NAG_CALL G01FMF(
  CONST double REFPTR p,
  CONST double REFPTR v,
  CONST Integer REFPTR ir,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ftf_(x, ifail)  \
G01FTF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ftf_ G01FTF
#else
#define  G01FTF g01ftf_
#endif
extern double NAG_CALL G01FTF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01gbf_(t, df, delta, tol, maxit, ifail)  \
G01GBF(t, df, delta, tol, maxit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01gbf_ G01GBF
#else
#define  G01GBF g01gbf_
#endif
extern double NAG_CALL G01GBF(
  CONST double REFPTR t,
  CONST double REFPTR df,
  CONST double REFPTR delta,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01gcf_(x, df, rlamda, tol, maxit, ifail)  \
G01GCF(x, df, rlamda, tol, maxit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01gcf_ G01GCF
#else
#define  G01GCF g01gcf_
#endif
extern double NAG_CALL G01GCF(
  CONST double REFPTR x,
  CONST double REFPTR df,
  CONST double REFPTR rlamda,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01gdf_(f, df1, df2, rlamda, tol, maxit, ifail)  \
G01GDF(f, df1, df2, rlamda, tol, maxit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01gdf_ G01GDF
#else
#define  G01GDF g01gdf_
#endif
extern double NAG_CALL G01GDF(
  CONST double REFPTR f,
  CONST double REFPTR df1,
  CONST double REFPTR df2,
  CONST double REFPTR rlamda,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01gef_(x, a, b, rlamda, tol, maxit, ifail)  \
G01GEF(x, a, b, rlamda, tol, maxit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01gef_ G01GEF
#else
#define  G01GEF g01gef_
#endif
extern double NAG_CALL G01GEF(
  CONST double REFPTR x,
  CONST double REFPTR a,
  CONST double REFPTR b,
  CONST double REFPTR rlamda,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01haf_(x, y, rho, ifail)  \
G01HAF(x, y, rho, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01haf_ G01HAF
#else
#define  G01HAF g01haf_
#endif
extern double NAG_CALL G01HAF(
  CONST double REFPTR x,
  CONST double REFPTR y,
  CONST double REFPTR rho,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01hbf_(tail, n, a, b, xmu, sig, ldsig, tol, wk, lwk, ifail, length_tail)  \
G01HBF(tail, length_tail, n, a, b, xmu, sig, ldsig, tol, wk, lwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01hbf_ G01HBF
#else
#define  G01HBF g01hbf_
#endif
extern double NAG_CALL G01HBF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 1 dimension */,
  CONST double b[] /* 1 dimension */,
  CONST double xmu[] /* 1 dimension */,
  CONST double sig[] /* 2 dimension */,
  CONST Integer REFPTR ldsig,
  CONST double REFPTR tol,
  double wk[] /* 1 dimension */,
  CONST Integer REFPTR lwk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01jcf_(a, mult, rlamda, n, c, p, pdf, tol, maxit, wrk, ifail)  \
G01JCF(a, mult, rlamda, n, c, p, pdf, tol, maxit, wrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01jcf_ G01JCF
#else
#define  G01JCF g01jcf_
#endif
extern void NAG_CALL G01JCF(
  CONST double a[] /* 1 dimension */,
  CONST Integer mult[] /* 1 dimension */,
  CONST double rlamda[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double REFPTR c,
  double REFPTR p,
  double REFPTR pdf,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  double wrk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01jdf_(method, n, rlam, d, c, prob, work, ifail, length_method)  \
G01JDF(method, length_method, n, rlam, d, c, prob, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01jdf_ G01JDF
#else
#define  G01JDF g01jdf_
#endif
extern void NAG_CALL G01JDF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST double rlam[] /* 1 dimension */,
  CONST double REFPTR d,
  CONST double REFPTR c,
  double REFPTR prob,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01mbf_(x)  \
G01MBF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01mbf_ G01MBF
#else
#define  G01MBF g01mbf_
#endif
extern double NAG_CALL G01MBF(
  CONST double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01mtf_(x)  \
G01MTF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01mtf_ G01MTF
#else
#define  G01MTF g01mtf_
#endif
extern double NAG_CALL G01MTF(
  CONST double REFPTR x
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01naf_(mom, mean, n, a, lda, emu, sigma, ldsig, l, rkum, rmom, wk, ifail, length_mom, length_mean)  \
G01NAF(mom, length_mom, mean, length_mean, n, a, lda, emu, sigma, ldsig, l, rkum, rmom, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01naf_ G01NAF
#else
#define  G01NAF g01naf_
#endif
extern void NAG_CALL G01NAF(
  CONST char * mom
#ifdef USE_STDCALL
,  CONST Charlen length_mom
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double emu[] /* 1 dimension */,
  CONST double sigma[] /* 2 dimension */,
  CONST Integer REFPTR ldsig,
  CONST Integer REFPTR l,
  double rkum[] /* 1 dimension */,
  double rmom[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mom,
 CONST Charlen length_mean
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01nbf_(cas, mean, n, a, lda, b, ldb, c, ldc, ela, emu, sigma, ldsig, l1, l2, lmax, rmom, abserr, eps, wk, ifail, length_cas, length_mean)  \
G01NBF(cas, length_cas, mean, length_mean, n, a, lda, b, ldb, c, ldc, ela, emu, sigma, ldsig, l1, l2, lmax, rmom, abserr, eps, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01nbf_ G01NBF
#else
#define  G01NBF g01nbf_
#endif
extern void NAG_CALL G01NBF(
  CONST char * cas
#ifdef USE_STDCALL
,  CONST Charlen length_cas
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST Integer REFPTR n,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST double ela[] /* 1 dimension */,
  CONST double emu[] /* 1 dimension */,
  CONST double sigma[] /* 2 dimension */,
  CONST Integer REFPTR ldsig,
  CONST Integer REFPTR l1,
  CONST Integer REFPTR l2,
  Integer REFPTR lmax,
  double rmom[] /* 1 dimension */,
  double REFPTR abserr,
  CONST double REFPTR eps,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cas,
 CONST Charlen length_mean
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01ptf_(x)  \
G01PTF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01ptf_ G01PTF
#else
#define  G01PTF g01ptf_
#endif
extern double NAG_CALL G01PTF(
  CONST double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01qtf_(x)  \
G01QTF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01qtf_ G01QTF
#else
#define  G01QTF g01qtf_
#endif
extern double NAG_CALL G01QTF(
  CONST double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01rtf_(x)  \
G01RTF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01rtf_ G01RTF
#else
#define  G01RTF g01rtf_
#endif
extern double NAG_CALL G01RTF(
  CONST double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g01zuf_(rkappa, beta2, mode, xl, xu, work, ifail)  \
G01ZUF(rkappa, beta2, mode, xl, xu, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g01zuf_ G01ZUF
#else
#define  G01ZUF g01zuf_
#endif
extern void NAG_CALL G01ZUF(
  CONST double REFPTR rkappa,
  CONST double REFPTR beta2,
  CONST Integer REFPTR mode,
  double REFPTR xl,
  double REFPTR xu,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02aaf_(g, ldg, n, errtol, maxits, maxit, x, ldx, iter, feval, nrmgrd, ifail)  \
G02AAF(g, ldg, n, errtol, maxits, maxit, x, ldx, iter, feval, nrmgrd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02aaf_ G02AAF
#else
#define  G02AAF g02aaf_
#endif
extern void NAG_CALL G02AAF(
  double g[] /* 2 dimension */,
  CONST Integer REFPTR ldg,
  CONST Integer REFPTR n,
  CONST double REFPTR errtol,
  CONST Integer REFPTR maxits,
  CONST Integer REFPTR maxit,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR iter,
  Integer REFPTR feval,
  double REFPTR nrmgrd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02baf_(n, m, x, ldx, xbar, std, ssp, ldssp, r, ldr, ifail)  \
G02BAF(n, m, x, ldx, xbar, std, ssp, ldssp, r, ldr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02baf_ G02BAF
#else
#define  G02BAF g02baf_
#endif
extern void NAG_CALL G02BAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bbf_(n, m, x, ldx, miss, xmiss, xbar, std, ssp, ldssp, r, ldr, ncases, ifail)  \
G02BBF(n, m, x, ldx, miss, xmiss, xbar, std, ssp, ldssp, r, ldr, ncases, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bbf_ G02BBF
#else
#define  G02BBF g02bbf_
#endif
extern void NAG_CALL G02BBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer miss[] /* 1 dimension */,
  double xmiss[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  Integer REFPTR ncases,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bcf_(n, m, x, ldx, miss, xmiss, xbar, std, ssp, ldssp, r, ldr, ncases, cnt, ldcnt, ifail)  \
G02BCF(n, m, x, ldx, miss, xmiss, xbar, std, ssp, ldssp, r, ldr, ncases, cnt, ldcnt, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bcf_ G02BCF
#else
#define  G02BCF g02bcf_
#endif
extern void NAG_CALL G02BCF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer miss[] /* 1 dimension */,
  CONST double xmiss[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  Integer REFPTR ncases,
  double cnt[] /* 2 dimension */,
  CONST Integer REFPTR ldcnt,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bdf_(n, m, x, ldx, xbar, std, sspz, ldsspz, rz, ldrz, ifail)  \
G02BDF(n, m, x, ldx, xbar, std, sspz, ldsspz, rz, ldrz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bdf_ G02BDF
#else
#define  G02BDF g02bdf_
#endif
extern void NAG_CALL G02BDF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double sspz[] /* 2 dimension */,
  CONST Integer REFPTR ldsspz,
  double rz[] /* 2 dimension */,
  CONST Integer REFPTR ldrz,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bef_(n, m, x, ldx, miss, xmiss, xbar, std, sspz, ldsspz, rz, ldrz, ncases, ifail)  \
G02BEF(n, m, x, ldx, miss, xmiss, xbar, std, sspz, ldsspz, rz, ldrz, ncases, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bef_ G02BEF
#else
#define  G02BEF g02bef_
#endif
extern void NAG_CALL G02BEF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer miss[] /* 1 dimension */,
  double xmiss[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double sspz[] /* 2 dimension */,
  CONST Integer REFPTR ldsspz,
  double rz[] /* 2 dimension */,
  CONST Integer REFPTR ldrz,
  Integer REFPTR ncases,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bff_(n, m, x, ldx, miss, xmiss, xbar, std, sspz, ldsspz, rz, ldrz, ncases, cnt, ldcnt, ifail)  \
G02BFF(n, m, x, ldx, miss, xmiss, xbar, std, sspz, ldsspz, rz, ldrz, ncases, cnt, ldcnt, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bff_ G02BFF
#else
#define  G02BFF g02bff_
#endif
extern void NAG_CALL G02BFF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer miss[] /* 1 dimension */,
  CONST double xmiss[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double sspz[] /* 2 dimension */,
  CONST Integer REFPTR ldsspz,
  double rz[] /* 2 dimension */,
  CONST Integer REFPTR ldrz,
  Integer REFPTR ncases,
  double cnt[] /* 2 dimension */,
  CONST Integer REFPTR ldcnt,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bgf_(n, m, x, ldx, nvars, kvar, xbar, std, ssp, ldssp, r, ldr, ifail)  \
G02BGF(n, m, x, ldx, nvars, kvar, xbar, std, ssp, ldssp, r, ldr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bgf_ G02BGF
#else
#define  G02BGF g02bgf_
#endif
extern void NAG_CALL G02BGF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR nvars,
  CONST Integer kvar[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bhf_(n, m, x, ldx, miss, xmiss, mistyp, nvars, kvar, xbar, std, ssp, ldssp, r, ldr, ncases, ifail)  \
G02BHF(n, m, x, ldx, miss, xmiss, mistyp, nvars, kvar, xbar, std, ssp, ldssp, r, ldr, ncases, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bhf_ G02BHF
#else
#define  G02BHF g02bhf_
#endif
extern void NAG_CALL G02BHF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer miss[] /* 1 dimension */,
  double xmiss[] /* 1 dimension */,
  CONST Integer REFPTR mistyp,
  CONST Integer REFPTR nvars,
  CONST Integer kvar[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  Integer REFPTR ncases,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bjf_(n, m, x, ldx, miss, xmiss, nvars, kvar, xbar, std, ssp, ldssp, r, ldr, ncases, cnt, ldcnt, ifail)  \
G02BJF(n, m, x, ldx, miss, xmiss, nvars, kvar, xbar, std, ssp, ldssp, r, ldr, ncases, cnt, ldcnt, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bjf_ G02BJF
#else
#define  G02BJF g02bjf_
#endif
extern void NAG_CALL G02BJF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer miss[] /* 1 dimension */,
  CONST double xmiss[] /* 1 dimension */,
  CONST Integer REFPTR nvars,
  CONST Integer kvar[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  Integer REFPTR ncases,
  double cnt[] /* 2 dimension */,
  CONST Integer REFPTR ldcnt,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bkf_(n, m, x, ldx, nvars, kvar, xbar, std, sspz, ldsspz, rz, ldrz, ifail)  \
G02BKF(n, m, x, ldx, nvars, kvar, xbar, std, sspz, ldsspz, rz, ldrz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bkf_ G02BKF
#else
#define  G02BKF g02bkf_
#endif
extern void NAG_CALL G02BKF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR nvars,
  CONST Integer kvar[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double sspz[] /* 2 dimension */,
  CONST Integer REFPTR ldsspz,
  double rz[] /* 2 dimension */,
  CONST Integer REFPTR ldrz,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02blf_(n, m, x, ldx, miss, xmiss, mistyp, nvars, kvar, xbar, std, sspz, ldsspz, rz, ldrz, ncases, ifail)  \
G02BLF(n, m, x, ldx, miss, xmiss, mistyp, nvars, kvar, xbar, std, sspz, ldsspz, rz, ldrz, ncases, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02blf_ G02BLF
#else
#define  G02BLF g02blf_
#endif
extern void NAG_CALL G02BLF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer miss[] /* 1 dimension */,
  double xmiss[] /* 1 dimension */,
  CONST Integer REFPTR mistyp,
  CONST Integer REFPTR nvars,
  CONST Integer kvar[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double sspz[] /* 2 dimension */,
  CONST Integer REFPTR ldsspz,
  double rz[] /* 2 dimension */,
  CONST Integer REFPTR ldrz,
  Integer REFPTR ncases,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bmf_(n, m, x, ldx, miss, xmiss, nvars, kvar, xbar, std, sspz, ldsspz, rz, ldrz, ncases, cnt, ldcnt, ifail)  \
G02BMF(n, m, x, ldx, miss, xmiss, nvars, kvar, xbar, std, sspz, ldsspz, rz, ldrz, ncases, cnt, ldcnt, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bmf_ G02BMF
#else
#define  G02BMF g02bmf_
#endif
extern void NAG_CALL G02BMF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer miss[] /* 1 dimension */,
  CONST double xmiss[] /* 1 dimension */,
  CONST Integer REFPTR nvars,
  CONST Integer kvar[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double sspz[] /* 2 dimension */,
  CONST Integer REFPTR ldsspz,
  double rz[] /* 2 dimension */,
  CONST Integer REFPTR ldrz,
  Integer REFPTR ncases,
  double cnt[] /* 2 dimension */,
  CONST Integer REFPTR ldcnt,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bnf_(n, m, x, ldx, itype, rr, ldrr, kworka, kworkb, work1, work2, ifail)  \
G02BNF(n, m, x, ldx, itype, rr, ldrr, kworka, kworkb, work1, work2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bnf_ G02BNF
#else
#define  G02BNF g02bnf_
#endif
extern void NAG_CALL G02BNF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR itype,
  double rr[] /* 2 dimension */,
  CONST Integer REFPTR ldrr,
  Integer kworka[] /* 1 dimension */,
  Integer kworkb[] /* 1 dimension */,
  double work1[] /* 1 dimension */,
  double work2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bpf_(n, m, x, ldx, miss, xmiss, itype, rr, ldrr, ncases, incase, kworka, kworkb, kworkc, work1, work2, ifail)  \
G02BPF(n, m, x, ldx, miss, xmiss, itype, rr, ldrr, ncases, incase, kworka, kworkb, kworkc, work1, work2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bpf_ G02BPF
#else
#define  G02BPF g02bpf_
#endif
extern void NAG_CALL G02BPF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer miss[] /* 1 dimension */,
  double xmiss[] /* 1 dimension */,
  CONST Integer REFPTR itype,
  double rr[] /* 2 dimension */,
  CONST Integer REFPTR ldrr,
  Integer REFPTR ncases,
  Integer incase[] /* 1 dimension */,
  Integer kworka[] /* 1 dimension */,
  Integer kworkb[] /* 1 dimension */,
  Integer kworkc[] /* 1 dimension */,
  double work1[] /* 1 dimension */,
  double work2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bqf_(n, m, x, ldx, itype, rr, ldrr, kworka, kworkb, work1, work2, ifail)  \
G02BQF(n, m, x, ldx, itype, rr, ldrr, kworka, kworkb, work1, work2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bqf_ G02BQF
#else
#define  G02BQF g02bqf_
#endif
extern void NAG_CALL G02BQF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR itype,
  double rr[] /* 2 dimension */,
  CONST Integer REFPTR ldrr,
  Integer kworka[] /* 1 dimension */,
  Integer kworkb[] /* 1 dimension */,
  double work1[] /* 1 dimension */,
  double work2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02brf_(n, m, x, ldx, miss, xmiss, itype, rr, ldrr, ncases, incase, kworka, kworkb, kworkc, work1, work2, ifail)  \
G02BRF(n, m, x, ldx, miss, xmiss, itype, rr, ldrr, ncases, incase, kworka, kworkb, kworkc, work1, work2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02brf_ G02BRF
#else
#define  G02BRF g02brf_
#endif
extern void NAG_CALL G02BRF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer miss[] /* 1 dimension */,
  double xmiss[] /* 1 dimension */,
  CONST Integer REFPTR itype,
  double rr[] /* 2 dimension */,
  CONST Integer REFPTR ldrr,
  Integer REFPTR ncases,
  Integer incase[] /* 1 dimension */,
  Integer kworka[] /* 1 dimension */,
  Integer kworkb[] /* 1 dimension */,
  Integer kworkc[] /* 1 dimension */,
  double work1[] /* 1 dimension */,
  double work2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bsf_(n, m, x, ldx, miss, xmiss, itype, rr, ldrr, ncases, cnt, ldcnt, kworka, kworkb, kworkc, kworkd, work1, work2, ifail)  \
G02BSF(n, m, x, ldx, miss, xmiss, itype, rr, ldrr, ncases, cnt, ldcnt, kworka, kworkb, kworkc, kworkd, work1, work2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bsf_ G02BSF
#else
#define  G02BSF g02bsf_
#endif
extern void NAG_CALL G02BSF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer miss[] /* 1 dimension */,
  CONST double xmiss[] /* 1 dimension */,
  CONST Integer REFPTR itype,
  double rr[] /* 2 dimension */,
  CONST Integer REFPTR ldrr,
  Integer REFPTR ncases,
  double cnt[] /* 2 dimension */,
  CONST Integer REFPTR ldcnt,
  Integer kworka[] /* 1 dimension */,
  Integer kworkb[] /* 1 dimension */,
  Integer kworkc[] /* 1 dimension */,
  Integer kworkd[] /* 1 dimension */,
  double work1[] /* 1 dimension */,
  double work2[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02btf_(mean, m, wt, x, incx, sw, xbar, c, ifail, length_mean)  \
G02BTF(mean, length_mean, m, wt, x, incx, sw, xbar, c, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02btf_ G02BTF
#else
#define  G02BTF g02btf_
#endif
extern void NAG_CALL G02BTF(
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST Integer REFPTR m,
  CONST double REFPTR wt,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR incx,
  double REFPTR sw,
  double xbar[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mean
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02buf_(mean, weight, n, m, x, ldx, wt, sw, wmean, c, ifail, length_mean, length_weight)  \
G02BUF(mean, length_mean, weight, length_weight, n, m, x, ldx, wt, sw, wmean, c, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02buf_ G02BUF
#else
#define  G02BUF g02buf_
#endif
extern void NAG_CALL G02BUF(
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST double wt[] /* 1 dimension */,
  double REFPTR sw,
  double wmean[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mean,
 CONST Charlen length_weight
#endif

);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02bxf_(weight, n, m, x, ldx, wt, xbar, std, v, ldv, r, ifail, length_weight)  \
G02BXF(weight, length_weight, n, m, x, ldx, wt, xbar, std, v, ldv, r, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02bxf_ G02BXF
#else
#define  G02BXF g02bxf_
#endif
extern void NAG_CALL G02BXF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST double wt[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double r[] /* 2 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02byf_(m, ny, nx, isz, r, ldr, p, ldp, wk, ifail)  \
G02BYF(m, ny, nx, isz, r, ldr, p, ldp, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02byf_ G02BYF
#else
#define  G02BYF g02byf_
#endif
extern void NAG_CALL G02BYF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR ny,
  CONST Integer REFPTR nx,
  CONST Integer isz[] /* 1 dimension */,
  CONST double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

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

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

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02cef_(n, xbar, std, ssp, ldssp, r, ldr, m, korder, xbar2, std2, ssp2, ldssp2, r2, ldr2, ifail)  \
G02CEF(n, xbar, std, ssp, ldssp, r, ldr, m, korder, xbar2, std2, ssp2, ldssp2, r2, ldr2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02cef_ G02CEF
#else
#define  G02CEF g02cef_
#endif
extern void NAG_CALL G02CEF(
  CONST Integer REFPTR n,
  CONST double xbar[] /* 1 dimension */,
  CONST double std[] /* 1 dimension */,
  CONST double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  CONST double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  CONST Integer REFPTR m,
  CONST Integer korder[] /* 1 dimension */,
  double xbar2[] /* 1 dimension */,
  double std2[] /* 1 dimension */,
  double ssp2[] /* 2 dimension */,
  CONST Integer REFPTR ldssp2,
  double r2[] /* 2 dimension */,
  CONST Integer REFPTR ldr2,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02cff_(n, korder, xbar, std, ssp, ldssp, r, ldr, kwork, ifail)  \
G02CFF(n, korder, xbar, std, ssp, ldssp, r, ldr, kwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02cff_ G02CFF
#else
#define  G02CFF g02cff_
#endif
extern void NAG_CALL G02CFF(
  CONST Integer REFPTR n,
  CONST Integer korder[] /* 1 dimension */,
  double xbar[] /* 1 dimension */,
  double std[] /* 1 dimension */,
  double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  Integer kwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02cgf_(n, k1, k, xbar, ssp, ldssp, r, ldr, result, coef, ldcoef, con, rinv, ldrinv, c, ldc, wkz, ldwkz, ifail)  \
G02CGF(n, k1, k, xbar, ssp, ldssp, r, ldr, result, coef, ldcoef, con, rinv, ldrinv, c, ldc, wkz, ldwkz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02cgf_ G02CGF
#else
#define  G02CGF g02cgf_
#endif
extern void NAG_CALL G02CGF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k,
  CONST double xbar[] /* 1 dimension */,
  CONST double ssp[] /* 2 dimension */,
  CONST Integer REFPTR ldssp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  double result[] /* 1 dimension */,
  double coef[] /* 2 dimension */,
  CONST Integer REFPTR ldcoef,
  double con[] /* 1 dimension */,
  double rinv[] /* 2 dimension */,
  CONST Integer REFPTR ldrinv,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double wkz[] /* 2 dimension */,
  CONST Integer REFPTR ldwkz,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02chf_(n, k1, k, sspz, ldsspz, rz, ldrz, result, coef, ldcoef, rznv, ldrznv, cz, ldcz, wkz, ldwkz, ifail)  \
G02CHF(n, k1, k, sspz, ldsspz, rz, ldrz, result, coef, ldcoef, rznv, ldrznv, cz, ldcz, wkz, ldwkz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02chf_ G02CHF
#else
#define  G02CHF g02chf_
#endif
extern void NAG_CALL G02CHF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR k1,
  CONST Integer REFPTR k,
  CONST double sspz[] /* 2 dimension */,
  CONST Integer REFPTR ldsspz,
  double rz[] /* 2 dimension */,
  CONST Integer REFPTR ldrz,
  double result[] /* 1 dimension */,
  double coef[] /* 2 dimension */,
  CONST Integer REFPTR ldcoef,
  double rznv[] /* 2 dimension */,
  CONST Integer REFPTR ldrznv,
  double cz[] /* 2 dimension */,
  CONST Integer REFPTR ldcz,
  double wkz[] /* 2 dimension */,
  CONST Integer REFPTR ldwkz,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02daf_(mean, weight, n, x, ldx, m, isx, ip, y, wt, rss, idf, b, se, cov, res, h, q, ldq, svd, irank, p, tol, wk, ifail, length_mean, length_weight)  \
G02DAF(mean, length_mean, weight, length_weight, n, x, ldx, m, isx, ip, y, wt, rss, idf, b, se, cov, res, h, q, ldq, svd, irank, p, tol, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02daf_ G02DAF
#else
#define  G02DAF g02daf_
#endif
extern void NAG_CALL G02DAF(
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  double REFPTR rss,
  Integer REFPTR idf,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  double h[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  logical REFPTR svd,
  Integer REFPTR irank,
  double p[] /* 1 dimension */,
  CONST double REFPTR tol,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mean,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02dcf_(update, mean, weight, m, isx, q, ldq, ip, x, ix, y, wt, rss, wk, ifail, length_update, length_mean, length_weight)  \
G02DCF(update, length_update, mean, length_mean, weight, length_weight, m, isx, q, ldq, ip, x, ix, y, wt, rss, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02dcf_ G02DCF
#else
#define  G02DCF g02dcf_
#endif
extern void NAG_CALL G02DCF(
  CONST char * update
#ifdef USE_STDCALL
,  CONST Charlen length_update
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST Integer REFPTR ip,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR ix,
  CONST double REFPTR y,
  CONST double REFPTR wt,
  double REFPTR rss,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_update,
 CONST Charlen length_mean,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02ddf_(n, ip, q, ldq, rss, idf, b, se, cov, svd, irank, p, tol, wk, ifail)  \
G02DDF(n, ip, q, ldq, rss, idf, b, se, cov, svd, irank, p, tol, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02ddf_ G02DDF
#else
#define  G02DDF g02ddf_
#endif
extern void NAG_CALL G02DDF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ip,
  CONST double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double REFPTR rss,
  Integer REFPTR idf,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  logical REFPTR svd,
  Integer REFPTR irank,
  double p[] /* 1 dimension */,
  CONST double REFPTR tol,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02def_(weight, n, ip, q, ldq, p, wt, x, rss, tol, ifail, length_weight)  \
G02DEF(weight, length_weight, n, ip, q, ldq, p, wt, x, rss, tol, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02def_ G02DEF
#else
#define  G02DEF g02def_
#endif
extern void NAG_CALL G02DEF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ip,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double p[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  double REFPTR rss,
  CONST double REFPTR tol,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02dff_(ip, q, ldq, indx, rss, wk, ifail)  \
G02DFF(ip, q, ldq, indx, rss, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02dff_ G02DFF
#else
#define  G02DFF g02dff_
#endif
extern void NAG_CALL G02DFF(
  CONST Integer REFPTR ip,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST Integer REFPTR indx,
  double REFPTR rss,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02dgf_(weight, n, wt, rss, ip, irank, cov, q, ldq, svd, p, y, b, se, res, wk, ifail, length_weight)  \
G02DGF(weight, length_weight, n, wt, rss, ip, irank, cov, q, ldq, svd, p, y, b, se, res, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02dgf_ G02DGF
#else
#define  G02DGF g02dgf_
#endif
extern void NAG_CALL G02DGF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double wt[] /* 1 dimension */,
  double REFPTR rss,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR irank,
  double cov[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST logical REFPTR svd,
  CONST double p[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  CONST double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02dkf_(ip, iconst, p, c, ldc, b, rss, idf, se, cov, wk, ifail)  \
G02DKF(ip, iconst, p, c, ldc, b, rss, idf, se, cov, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02dkf_ G02DKF
#else
#define  G02DKF g02dkf_
#endif
extern void NAG_CALL G02DKF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iconst,
  CONST double p[] /* 1 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double b[] /* 1 dimension */,
  CONST double REFPTR rss,
  CONST Integer REFPTR idf,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02dnf_(ip, irank, b, cov, p, f, est, stat, sestat, t, tol, wk, ifail)  \
G02DNF(ip, irank, b, cov, p, f, est, stat, sestat, t, tol, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02dnf_ G02DNF
#else
#define  G02DNF g02dnf_
#endif
extern void NAG_CALL G02DNF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR irank,
  CONST double b[] /* 1 dimension */,
  CONST double cov[] /* 1 dimension */,
  CONST double p[] /* 1 dimension */,
  CONST double f[] /* 1 dimension */,
  logical REFPTR est,
  double REFPTR stat,
  double REFPTR sestat,
  double REFPTR t,
  CONST double REFPTR tol,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02eaf_(mean, weight, n, m, x, ldx, vname, isx, y, wt, nmod, modl, ldmodl, rss, nterms, mrank, wk, ifail, length_mean, length_weight, length_vname, length_modl)  \
G02EAF(mean, length_mean, weight, length_weight, n, m, x, ldx, vname, length_vname, isx, y, wt, nmod, modl, length_modl, ldmodl, rss, nterms, mrank, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02eaf_ G02EAF
#else
#define  G02EAF g02eaf_
#endif
extern void NAG_CALL G02EAF(
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST char vname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_vname
#endif
,
  CONST Integer isx[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  Integer REFPTR nmod,
  char modl[] /* 2 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_modl
#endif
,
  CONST Integer REFPTR ldmodl,
  double rss[] /* 1 dimension */,
  Integer nterms[] /* 1 dimension */,
  Integer mrank[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mean,
 CONST Charlen length_weight,
 CONST Charlen length_vname,
 CONST Charlen length_modl
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02ecf_(mean, n, sigsq, tss, nmod, nterms, rss, rsq, cp, ifail, length_mean)  \
G02ECF(mean, length_mean, n, sigsq, tss, nmod, nterms, rss, rsq, cp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02ecf_ G02ECF
#else
#define  G02ECF g02ecf_
#endif
extern void NAG_CALL G02ECF(
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST Integer REFPTR n,
  CONST double REFPTR sigsq,
  CONST double REFPTR tss,
  CONST Integer REFPTR nmod,
  CONST Integer nterms[] /* 1 dimension */,
  CONST double rss[] /* 1 dimension */,
  double rsq[] /* 1 dimension */,
  double cp[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mean
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02eef_(istep, mean, weight, n, m, x, ldx, vname, isx, maxip, y, wt, fin, addvar, newvar, chrss, f, model, nterm, rss, idf, ifr, free, exss, q, ldq, p, wk, ifail, length_mean, length_weight, length_vname, length_newvar, length_model, length_free)  \
G02EEF(istep, mean, length_mean, weight, length_weight, n, m, x, ldx, vname, length_vname, isx, maxip, y, wt, fin, addvar, newvar, length_newvar, chrss, f, model, length_model, nterm, rss, idf, ifr, free, length_free, exss, q, ldq, p, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02eef_ G02EEF
#else
#define  G02EEF g02eef_
#endif
extern void NAG_CALL G02EEF(
  Integer REFPTR istep,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST char vname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_vname
#endif
,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR maxip,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  CONST double REFPTR fin,
  logical REFPTR addvar,
  char * newvar
#ifdef USE_STDCALL
,  CONST Charlen length_newvar
#endif
,
  double REFPTR chrss,
  double REFPTR f,
  char model[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_model
#endif
,
  Integer REFPTR nterm,
  double REFPTR rss,
  Integer REFPTR idf,
  Integer REFPTR ifr,
  char free[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_free
#endif
,
  double exss[] /* 1 dimension */,
  double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double p[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mean,
 CONST Charlen length_weight,
 CONST Charlen length_vname,
 CONST Charlen length_newvar,
 CONST Charlen length_model,
 CONST Charlen length_free
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02eff_(m, n, wmean, c, sw, isx, fin, fout, tau, b, se, rsq, rms, df, monlev, monfun, iuser, ruser, ifail)  \
G02EFF(m, n, wmean, c, sw, isx, fin, fout, tau, b, se, rsq, rms, df, monlev, monfun, iuser, ruser, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02eff_ G02EFF
#else
#define  G02EFF g02eff_
#endif
extern void NAG_CALL G02EFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double wmean[] /* 1 dimension */,
  CONST double c[] /* 1 dimension */,
  CONST double REFPTR sw,
  Integer isx[] /* 1 dimension */,
  CONST double REFPTR fin,
  CONST double REFPTR fout,
  CONST double REFPTR tau,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double REFPTR rsq,
  double REFPTR rms,
  Integer REFPTR df,
  CONST Integer REFPTR monlev,
  void (NAG_CALL *monfun)(
                          CONST char * 
#ifdef USE_STDCALL
,CONST Charlen 
#endif
,
                          CONST Integer REFPTR ,
                          CONST double REFPTR ,
                          Integer[],
                          double[]
#ifndef USE_STDCALL 
                          ,CONST Charlen
#endif
 ),
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02efh_(flag, var, val, iuser, ruser, length_flag)  \
G02EFH(flag, length_flag, var, val, iuser, ruser) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02efh_ G02EFH
#else
#define  G02EFH g02efh_
#endif
extern void NAG_CALL G02EFH(
  CONST char * flag
#ifdef USE_STDCALL
,  CONST Charlen length_flag
#endif
,
  CONST Integer REFPTR var,
  CONST double REFPTR val,
  Integer iuser[] /* 1 dimension */,
  double ruser[] /* 1 dimension */
#ifndef USE_STDCALL
, CONST Charlen length_flag
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02faf_(n, ip, nres, res, h, rms, sres, ldsres, ifail)  \
G02FAF(n, ip, nres, res, h, rms, sres, ldsres, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02faf_ G02FAF
#else
#define  G02FAF g02faf_
#endif
extern void NAG_CALL G02FAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR nres,
  CONST double res[] /* 1 dimension */,
  CONST double h[] /* 1 dimension */,
  CONST double REFPTR rms,
  double sres[] /* 2 dimension */,
  CONST Integer REFPTR ldsres,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02fcf_(n, ip, res, d, pdl, pdu, work, ifail)  \
G02FCF(n, ip, res, d, pdl, pdu, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02fcf_ G02FCF
#else
#define  G02FCF g02fcf_
#endif
extern void NAG_CALL G02FCF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ip,
  CONST double res[] /* 1 dimension */,
  double REFPTR d,
  double REFPTR pdl,
  double REFPTR pdu,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02gaf_(link, mean, offset, weight, n, x, ldx, m, isx, ip, y, wt, s, a, rss, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail, length_link, length_mean, length_offset, length_weight)  \
G02GAF(link, length_link, mean, length_mean, offset, length_offset, weight, length_weight, n, x, ldx, m, isx, ip, y, wt, s, a, rss, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02gaf_ G02GAF
#else
#define  G02GAF g02gaf_
#endif
extern void NAG_CALL G02GAF(
  CONST char * link
#ifdef USE_STDCALL
,  CONST Charlen length_link
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * offset
#ifdef USE_STDCALL
,  CONST Charlen length_offset
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  double REFPTR s,
  CONST double REFPTR a,
  double REFPTR rss,
  Integer REFPTR idf,
  double b[] /* 1 dimension */,
  Integer REFPTR irank,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR iprint,
  CONST double REFPTR eps,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_link,
 CONST Charlen length_mean,
 CONST Charlen length_offset,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02gbf_(link, mean, offset, weight, n, x, ldx, m, isx, ip, y, t, wt, dev, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail, length_link, length_mean, length_offset, length_weight)  \
G02GBF(link, length_link, mean, length_mean, offset, length_offset, weight, length_weight, n, x, ldx, m, isx, ip, y, t, wt, dev, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02gbf_ G02GBF
#else
#define  G02GBF g02gbf_
#endif
extern void NAG_CALL G02GBF(
  CONST char * link
#ifdef USE_STDCALL
,  CONST Charlen length_link
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * offset
#ifdef USE_STDCALL
,  CONST Charlen length_offset
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double y[] /* 1 dimension */,
  CONST double t[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  double REFPTR dev,
  Integer REFPTR idf,
  double b[] /* 1 dimension */,
  Integer REFPTR irank,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR iprint,
  CONST double REFPTR eps,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_link,
 CONST Charlen length_mean,
 CONST Charlen length_offset,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02gcf_(link, mean, offset, weight, n, x, ldx, m, isx, ip, y, wt, a, dev, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail, length_link, length_mean, length_offset, length_weight)  \
G02GCF(link, length_link, mean, length_mean, offset, length_offset, weight, length_weight, n, x, ldx, m, isx, ip, y, wt, a, dev, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02gcf_ G02GCF
#else
#define  G02GCF g02gcf_
#endif
extern void NAG_CALL G02GCF(
  CONST char * link
#ifdef USE_STDCALL
,  CONST Charlen length_link
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * offset
#ifdef USE_STDCALL
,  CONST Charlen length_offset
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  CONST double REFPTR a,
  double REFPTR dev,
  Integer REFPTR idf,
  double b[] /* 1 dimension */,
  Integer REFPTR irank,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR iprint,
  CONST double REFPTR eps,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_link,
 CONST Charlen length_mean,
 CONST Charlen length_offset,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02gdf_(link, mean, offset, weight, n, x, ldx, m, isx, ip, y, wt, s, a, dev, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail, length_link, length_mean, length_offset, length_weight)  \
G02GDF(link, length_link, mean, length_mean, offset, length_offset, weight, length_weight, n, x, ldx, m, isx, ip, y, wt, s, a, dev, idf, b, irank, se, cov, v, ldv, tol, maxit, iprint, eps, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02gdf_ G02GDF
#else
#define  G02GDF g02gdf_
#endif
extern void NAG_CALL G02GDF(
  CONST char * link
#ifdef USE_STDCALL
,  CONST Charlen length_link
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * offset
#ifdef USE_STDCALL
,  CONST Charlen length_offset
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  double REFPTR s,
  CONST double REFPTR a,
  double REFPTR dev,
  Integer REFPTR idf,
  double b[] /* 1 dimension */,
  Integer REFPTR irank,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR iprint,
  CONST double REFPTR eps,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_link,
 CONST Charlen length_mean,
 CONST Charlen length_offset,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02gkf_(ip, iconst, v, ldv, c, ldc, b, s, se, cov, wk, ifail)  \
G02GKF(ip, iconst, v, ldv, c, ldc, b, s, se, cov, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02gkf_ G02GKF
#else
#define  G02GKF g02gkf_
#endif
extern void NAG_CALL G02GKF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iconst,
  CONST double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double b[] /* 1 dimension */,
  CONST double REFPTR s,
  double se[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02gnf_(ip, irank, b, cov, v, ldv, f, est, stat, sestat, z, tol, wk, ifail)  \
G02GNF(ip, irank, b, cov, v, ldv, f, est, stat, sestat, z, tol, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02gnf_ G02GNF
#else
#define  G02GNF g02gnf_
#endif
extern void NAG_CALL G02GNF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR irank,
  CONST double b[] /* 1 dimension */,
  CONST double cov[] /* 1 dimension */,
  CONST double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  CONST double f[] /* 1 dimension */,
  logical REFPTR est,
  double REFPTR stat,
  double REFPTR sestat,
  double REFPTR z,
  CONST double REFPTR tol,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02gpf_(errfn, link, mean, offset, weight, n, x, ldx, m, isx, ip, t, off, wt, s, a, b, cov, vfobs, eta, seeta, pred, sepred, ifail, length_errfn, length_link, length_mean, length_offset, length_weight)  \
G02GPF(errfn, length_errfn, link, length_link, mean, length_mean, offset, length_offset, weight, length_weight, n, x, ldx, m, isx, ip, t, off, wt, s, a, b, cov, vfobs, eta, seeta, pred, sepred, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02gpf_ G02GPF
#else
#define  G02GPF g02gpf_
#endif
extern void NAG_CALL G02GPF(
  CONST char * errfn
#ifdef USE_STDCALL
,  CONST Charlen length_errfn
#endif
,
  CONST char * link
#ifdef USE_STDCALL
,  CONST Charlen length_link
#endif
,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST char * offset
#ifdef USE_STDCALL
,  CONST Charlen length_offset
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double t[] /* 1 dimension */,
  CONST double off[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double REFPTR a,
  CONST double b[] /* 1 dimension */,
  CONST double cov[] /* 1 dimension */,
  CONST logical REFPTR vfobs,
  double eta[] /* 1 dimension */,
  double seeta[] /* 1 dimension */,
  double pred[] /* 1 dimension */,
  double sepred[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_errfn,
 CONST Charlen length_link,
 CONST Charlen length_mean,
 CONST Charlen length_offset,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02haf_(indw, ipsi, isigma, indc, n, m, x, ldx, y, cpsi, h1, h2, h3, cucv, dchi, theta, sigma, c, ldc, rs, wgt, tol, maxit, nitmon, work, ifail)  \
G02HAF(indw, ipsi, isigma, indc, n, m, x, ldx, y, cpsi, h1, h2, h3, cucv, dchi, theta, sigma, c, ldc, rs, wgt, tol, maxit, nitmon, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02haf_ G02HAF
#else
#define  G02HAF g02haf_
#endif
extern void NAG_CALL G02HAF(
  CONST Integer REFPTR indw,
  CONST Integer REFPTR ipsi,
  CONST Integer REFPTR isigma,
  CONST Integer REFPTR indc,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double y[] /* 1 dimension */,
  CONST double REFPTR cpsi,
  CONST double REFPTR h1,
  CONST double REFPTR h2,
  CONST double REFPTR h3,
  CONST double REFPTR cucv,
  CONST double REFPTR dchi,
  double theta[] /* 1 dimension */,
  double REFPTR sigma,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double rs[] /* 1 dimension */,
  double wgt[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR nitmon,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02hbf_(ucv, n, m, x, ldx, a, z, bl, bd, tol, maxit, nitmon, nit, wk, ifail)  \
G02HBF(ucv, n, m, x, ldx, a, z, bl, bd, tol, maxit, nitmon, nit, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02hbf_ G02HBF
#else
#define  G02HBF g02hbf_
#endif
extern void NAG_CALL G02HBF(
  double (NAG_CALL *ucv)(
                         CONST double REFPTR ),
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double a[] /* 1 dimension */,
  double z[] /* 1 dimension */,
  CONST double REFPTR bl,
  CONST double REFPTR bd,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR nitmon,
  Integer REFPTR nit,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02hdf_(chi, psi, psip0, beta, indw, isigma, n, m, x, ldx, y, wgt, theta, k, sigma, rs, tol, eps, maxit, nitmon, nit, wk, ifail)  \
G02HDF(chi, psi, psip0, beta, indw, isigma, n, m, x, ldx, y, wgt, theta, k, sigma, rs, tol, eps, maxit, nitmon, nit, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02hdf_ G02HDF
#else
#define  G02HDF g02hdf_
#endif
extern void NAG_CALL G02HDF(
  double (NAG_CALL *chi)(
                         CONST double REFPTR ),
  double (NAG_CALL *psi)(
                         CONST double REFPTR ),
  CONST double REFPTR psip0,
  CONST double REFPTR beta,
  CONST Integer REFPTR indw,
  CONST Integer REFPTR isigma,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double y[] /* 1 dimension */,
  double wgt[] /* 1 dimension */,
  double theta[] /* 1 dimension */,
  Integer REFPTR k,
  double REFPTR sigma,
  double rs[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST double REFPTR eps,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR nitmon,
  Integer REFPTR nit,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02hdz_(t)  \
G02HDZ(t) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02hdz_ G02HDZ
#else
#define  G02HDZ g02hdz_
#endif
extern double NAG_CALL G02HDZ(
  CONST double REFPTR t
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02hff_(psi, psp, indw, indc, sigma, n, m, x, ldx, rs, wgt, c, ldc, wk, ifail)  \
G02HFF(psi, psp, indw, indc, sigma, n, m, x, ldx, rs, wgt, c, ldc, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02hff_ G02HFF
#else
#define  G02HFF g02hff_
#endif
extern void NAG_CALL G02HFF(
  double (NAG_CALL *psi)(
                         CONST double REFPTR ),
  double (NAG_CALL *psp)(
                         CONST double REFPTR ),
  CONST Integer REFPTR indw,
  CONST Integer REFPTR indc,
  CONST double REFPTR sigma,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST double rs[] /* 1 dimension */,
  CONST double wgt[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02hkf_(n, m, x, ldx, eps, cov, theta, maxit, nitmon, tol, nit, wk, ifail)  \
G02HKF(n, m, x, ldx, eps, cov, theta, maxit, nitmon, tol, nit, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02hkf_ G02HKF
#else
#define  G02HKF g02hkf_
#endif
extern void NAG_CALL G02HKF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST double REFPTR eps,
  double cov[] /* 1 dimension */,
  double theta[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR nitmon,
  CONST double REFPTR tol,
  Integer REFPTR nit,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02hlf_(ucv, ruser, indm, n, m, x, ldx, cov, a, wt, theta, bl, bd, maxit, nitmon, tol, nit, wk, ifail)  \
G02HLF(ucv, ruser, indm, n, m, x, ldx, cov, a, wt, theta, bl, bd, maxit, nitmon, tol, nit, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02hlf_ G02HLF
#else
#define  G02HLF g02hlf_
#endif
extern void NAG_CALL G02HLF(
  void (NAG_CALL *ucv)(
                       CONST double REFPTR ,
                       double[],
                       double REFPTR ,
                       double REFPTR ,
                       double REFPTR ,
                       double REFPTR ),
  double ruser[] /* 1 dimension */,
  CONST Integer REFPTR indm,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double cov[] /* 1 dimension */,
  double a[] /* 1 dimension */,
  double wt[] /* 1 dimension */,
  double theta[] /* 1 dimension */,
  CONST double REFPTR bl,
  CONST double REFPTR bd,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR nitmon,
  CONST double REFPTR tol,
  Integer REFPTR nit,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02hmf_(ucv, ruser, indm, n, m, x, ldx, cov, a, wt, theta, bl, bd, maxit, nitmon, tol, nit, wk, ifail)  \
G02HMF(ucv, ruser, indm, n, m, x, ldx, cov, a, wt, theta, bl, bd, maxit, nitmon, tol, nit, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02hmf_ G02HMF
#else
#define  G02HMF g02hmf_
#endif
extern void NAG_CALL G02HMF(
  void (NAG_CALL *ucv)(
                       CONST double REFPTR ,
                       double[],
                       double REFPTR ,
                       double REFPTR ),
  double ruser[] /* 1 dimension */,
  CONST Integer REFPTR indm,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double cov[] /* 1 dimension */,
  double a[] /* 1 dimension */,
  double wt[] /* 1 dimension */,
  double theta[] /* 1 dimension */,
  CONST double REFPTR bl,
  CONST double REFPTR bd,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR nitmon,
  CONST double REFPTR tol,
  Integer REFPTR nit,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02jaf_(n, ncol, lddat, dat, levels, yvid, cwid, nfv, fvid, fint, nrv, rvid, nvpr, vpr, rint, svid, gamma, nff, nrf, df, reml, lb, b, se, maxit, tol, warn, ifail)  \
G02JAF(n, ncol, lddat, dat, levels, yvid, cwid, nfv, fvid, fint, nrv, rvid, nvpr, vpr, rint, svid, gamma, nff, nrf, df, reml, lb, b, se, maxit, tol, warn, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02jaf_ G02JAF
#else
#define  G02JAF g02jaf_
#endif
extern void NAG_CALL G02JAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncol,
  CONST Integer REFPTR lddat,
  CONST double dat[] /* 2 dimension */,
  CONST Integer levels[] /* 1 dimension */,
  CONST Integer REFPTR yvid,
  CONST Integer REFPTR cwid,
  CONST Integer REFPTR nfv,
  CONST Integer fvid[] /* 1 dimension */,
  CONST Integer REFPTR fint,
  CONST Integer REFPTR nrv,
  CONST Integer rvid[] /* 1 dimension */,
  CONST Integer REFPTR nvpr,
  CONST Integer vpr[] /* 1 dimension */,
  CONST Integer REFPTR rint,
  CONST Integer REFPTR svid,
  double gamma[] /* 1 dimension */,
  Integer REFPTR nff,
  Integer REFPTR nrf,
  Integer REFPTR df,
  double REFPTR reml,
  CONST Integer REFPTR lb,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  Integer REFPTR warn,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02jbf_(n, ncol, lddat, dat, levels, yvid, cwid, nfv, fvid, fint, nrv, rvid, nvpr, vpr, rint, svid, gamma, nff, nrf, df, ml, lb, b, se, maxit, tol, warn, ifail)  \
G02JBF(n, ncol, lddat, dat, levels, yvid, cwid, nfv, fvid, fint, nrv, rvid, nvpr, vpr, rint, svid, gamma, nff, nrf, df, ml, lb, b, se, maxit, tol, warn, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02jbf_ G02JBF
#else
#define  G02JBF g02jbf_
#endif
extern void NAG_CALL G02JBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ncol,
  CONST Integer REFPTR lddat,
  CONST double dat[] /* 2 dimension */,
  CONST Integer levels[] /* 1 dimension */,
  CONST Integer REFPTR yvid,
  CONST Integer REFPTR cwid,
  CONST Integer REFPTR nfv,
  CONST Integer fvid[] /* 1 dimension */,
  CONST Integer REFPTR fint,
  CONST Integer REFPTR nrv,
  CONST Integer rvid[] /* 1 dimension */,
  CONST Integer REFPTR nvpr,
  CONST Integer vpr[] /* 1 dimension */,
  CONST Integer REFPTR rint,
  CONST Integer REFPTR svid,
  double gamma[] /* 1 dimension */,
  Integer REFPTR nff,
  Integer REFPTR nrf,
  Integer REFPTR df,
  double REFPTR ml,
  CONST Integer REFPTR lb,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  Integer REFPTR warn,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02kaf_(n, m, x, ldx, isx, ip, tau, y, h, opt, niter, tol, nep, orig, b, vif, res, rss, df, optloo, perr, ifail)  \
G02KAF(n, m, x, ldx, isx, ip, tau, y, h, opt, niter, tol, nep, orig, b, vif, res, rss, df, optloo, perr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02kaf_ G02KAF
#else
#define  G02KAF g02kaf_
#endif
extern void NAG_CALL G02KAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double REFPTR tau,
  CONST double y[] /* 1 dimension */,
  double REFPTR h,
  CONST Integer REFPTR opt,
  Integer REFPTR niter,
  CONST double REFPTR tol,
  double REFPTR nep,
  CONST Integer REFPTR orig,
  double b[] /* 1 dimension */,
  double vif[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  double REFPTR rss,
  Integer REFPTR df,
  CONST Integer REFPTR optloo,
  double perr[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02kbf_(n, m, x, ldx, isx, ip, y, lh, h, nep, wantb, b, ldb, wantvf, vf, ldvf, lpec, pec, pe, ldpe, ifail, length_pec)  \
G02KBF(n, m, x, ldx, isx, ip, y, lh, h, nep, wantb, b, ldb, wantvf, vf, ldvf, lpec, pec, length_pec, pe, ldpe, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02kbf_ G02KBF
#else
#define  G02KBF g02kbf_
#endif
extern void NAG_CALL G02KBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR lh,
  CONST double h[] /* 1 dimension */,
  double nep[] /* 1 dimension */,
  CONST Integer REFPTR wantb,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR wantvf,
  double vf[] /* 2 dimension */,
  CONST Integer REFPTR ldvf,
  CONST Integer REFPTR lpec,
  CONST char pec[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_pec
#endif
,
  double pe[] /* 2 dimension */,
  CONST Integer REFPTR ldpe,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_pec
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02laf_(n, mx, x, ldx, isx, ip, my, y, ldy, xbar, ybar, iscale, xstd, ystd, maxfac, xres, ldxres, yres, ldyres, w, ldw, p, ldp, t, ldt, c, ldc, u, ldu, xcv, ycv, ldycv, ifail)  \
G02LAF(n, mx, x, ldx, isx, ip, my, y, ldy, xbar, ybar, iscale, xstd, ystd, maxfac, xres, ldxres, yres, ldyres, w, ldw, p, ldp, t, ldt, c, ldc, u, ldu, xcv, ycv, ldycv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02laf_ G02LAF
#else
#define  G02LAF g02laf_
#endif
extern void NAG_CALL G02LAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR mx,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR my,
  CONST double y[] /* 2 dimension */,
  CONST Integer REFPTR ldy,
  double xbar[] /* 1 dimension */,
  double ybar[] /* 1 dimension */,
  CONST Integer REFPTR iscale,
  double xstd[] /* 1 dimension */,
  double ystd[] /* 1 dimension */,
  CONST Integer REFPTR maxfac,
  double xres[] /* 2 dimension */,
  CONST Integer REFPTR ldxres,
  double yres[] /* 2 dimension */,
  CONST Integer REFPTR ldyres,
  double w[] /* 2 dimension */,
  CONST Integer REFPTR ldw,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double xcv[] /* 1 dimension */,
  double ycv[] /* 2 dimension */,
  CONST Integer REFPTR ldycv,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02lbf_(n, mx, x, ldx, isx, ip, my, y, ldy, xbar, ybar, iscale, xstd, ystd, maxfac, maxit, tau, xres, ldxres, yres, ldyres, w, ldw, p, ldp, t, ldt, c, ldc, u, ldu, xcv, ycv, ldycv, ifail)  \
G02LBF(n, mx, x, ldx, isx, ip, my, y, ldy, xbar, ybar, iscale, xstd, ystd, maxfac, maxit, tau, xres, ldxres, yres, ldyres, w, ldw, p, ldp, t, ldt, c, ldc, u, ldu, xcv, ycv, ldycv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02lbf_ G02LBF
#else
#define  G02LBF g02lbf_
#endif
extern void NAG_CALL G02LBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR mx,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR my,
  CONST double y[] /* 2 dimension */,
  CONST Integer REFPTR ldy,
  double xbar[] /* 1 dimension */,
  double ybar[] /* 1 dimension */,
  CONST Integer REFPTR iscale,
  double xstd[] /* 1 dimension */,
  double ystd[] /* 1 dimension */,
  CONST Integer REFPTR maxfac,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tau,
  double xres[] /* 2 dimension */,
  CONST Integer REFPTR ldxres,
  double yres[] /* 2 dimension */,
  CONST Integer REFPTR ldyres,
  double w[] /* 2 dimension */,
  CONST Integer REFPTR ldw,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double t[] /* 2 dimension */,
  CONST Integer REFPTR ldt,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double u[] /* 2 dimension */,
  CONST Integer REFPTR ldu,
  double xcv[] /* 1 dimension */,
  double ycv[] /* 2 dimension */,
  CONST Integer REFPTR ldycv,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02lcf_(ip, my, maxfac, nfact, p, ldp, c, ldc, w, ldw, rcond, b, ldb, orig, xbar, ybar, iscale, xstd, ystd, ob, ldob, vipopt, ycv, ldycv, vip, ldvip, ifail)  \
G02LCF(ip, my, maxfac, nfact, p, ldp, c, ldc, w, ldw, rcond, b, ldb, orig, xbar, ybar, iscale, xstd, ystd, ob, ldob, vipopt, ycv, ldycv, vip, ldvip, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02lcf_ G02LCF
#else
#define  G02LCF g02lcf_
#endif
extern void NAG_CALL G02LCF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR my,
  CONST Integer REFPTR maxfac,
  CONST Integer REFPTR nfact,
  CONST double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST double w[] /* 2 dimension */,
  CONST Integer REFPTR ldw,
  CONST double REFPTR rcond,
  double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR orig,
  CONST double xbar[] /* 1 dimension */,
  CONST double ybar[] /* 1 dimension */,
  CONST Integer REFPTR iscale,
  CONST double xstd[] /* 1 dimension */,
  CONST double ystd[] /* 1 dimension */,
  double ob[] /* 2 dimension */,
  CONST Integer REFPTR ldob,
  CONST Integer REFPTR vipopt,
  CONST double ycv[] /* 2 dimension */,
  CONST Integer REFPTR ldycv,
  double vip[] /* 2 dimension */,
  CONST Integer REFPTR ldvip,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g02ldf_(ip, my, orig, xbar, ybar, iscale, xstd, ystd, b, ldb, n, mz, isz, z, ldz, yhat, ldyhat, ifail)  \
G02LDF(ip, my, orig, xbar, ybar, iscale, xstd, ystd, b, ldb, n, mz, isz, z, ldz, yhat, ldyhat, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g02ldf_ G02LDF
#else
#define  G02LDF g02ldf_
#endif
extern void NAG_CALL G02LDF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR my,
  CONST Integer REFPTR orig,
  CONST double xbar[] /* 1 dimension */,
  CONST double ybar[] /* 1 dimension */,
  CONST Integer REFPTR iscale,
  CONST double xstd[] /* 1 dimension */,
  CONST double ystd[] /* 1 dimension */,
  CONST double b[] /* 2 dimension */,
  CONST Integer REFPTR ldb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR mz,
  CONST Integer isz[] /* 1 dimension */,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  double yhat[] /* 2 dimension */,
  CONST Integer REFPTR ldyhat,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03aaf_(matrix, std, weight, n, m, x, ldx, isx, s, wt, nvar, e, lde, p, ldp, v, ldv, wk, ifail, length_matrix, length_std, length_weight)  \
G03AAF(matrix, length_matrix, std, length_std, weight, length_weight, n, m, x, ldx, isx, s, wt, nvar, e, lde, p, ldp, v, ldv, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03aaf_ G03AAF
#else
#define  G03AAF g03aaf_
#endif
extern void NAG_CALL G03AAF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST char * std
#ifdef USE_STDCALL
,  CONST Charlen length_std
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  CONST Integer REFPTR nvar,
  double e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double v[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  CONST double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_std,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03acf_(weight, n, m, x, ldx, isx, nx, ing, ng, wt, nig, cvm, ldcvm, e, lde, ncv, cvx, ldcvx, tol, irankx, wk, iwk, ifail, length_weight)  \
G03ACF(weight, length_weight, n, m, x, ldx, isx, nx, ing, ng, wt, nig, cvm, ldcvm, e, lde, ncv, cvx, ldcvx, tol, irankx, wk, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03acf_ G03ACF
#else
#define  G03ACF g03acf_
#endif
extern void NAG_CALL G03ACF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR nx,
  CONST Integer ing[] /* 1 dimension */,
  CONST Integer REFPTR ng,
  CONST double wt[] /* 1 dimension */,
  Integer nig[] /* 1 dimension */,
  double cvm[] /* 2 dimension */,
  CONST Integer REFPTR ldcvm,
  double e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  Integer REFPTR ncv,
  double cvx[] /* 2 dimension */,
  CONST Integer REFPTR ldcvx,
  CONST double REFPTR tol,
  Integer REFPTR irankx,
  double wk[] /* 1 dimension */,
  CONST Integer REFPTR iwk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03adf_(weight, n, m, z, ldz, isz, nx, ny, wt, e, lde, ncv, cvx, ldcvx, mcv, cvy, ldcvy, tol, wk, iwk, ifail, length_weight)  \
G03ADF(weight, length_weight, n, m, z, ldz, isz, nx, ny, wt, e, lde, ncv, cvx, ldcvx, mcv, cvy, ldcvy, tol, wk, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03adf_ G03ADF
#else
#define  G03ADF g03adf_
#endif
extern void NAG_CALL G03ADF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST Integer isz[] /* 1 dimension */,
  CONST Integer REFPTR nx,
  CONST Integer REFPTR ny,
  CONST double wt[] /* 1 dimension */,
  double e[] /* 2 dimension */,
  CONST Integer REFPTR lde,
  Integer REFPTR ncv,
  double cvx[] /* 2 dimension */,
  CONST Integer REFPTR ldcvx,
  CONST Integer REFPTR mcv,
  double cvy[] /* 2 dimension */,
  CONST Integer REFPTR ldcvy,
  CONST double REFPTR tol,
  double wk[] /* 1 dimension */,
  CONST Integer REFPTR iwk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03baf_(stand, g, nvar, k, fl, ldfl, flr, r, ldr, acc, maxit, iter, wk, ifail, length_stand)  \
G03BAF(stand, length_stand, g, nvar, k, fl, ldfl, flr, r, ldr, acc, maxit, iter, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03baf_ G03BAF
#else
#define  G03BAF g03baf_
#endif
extern void NAG_CALL G03BAF(
  CONST char * stand
#ifdef USE_STDCALL
,  CONST Charlen length_stand
#endif
,
  CONST double REFPTR g,
  CONST Integer REFPTR nvar,
  CONST Integer REFPTR k,
  double fl[] /* 2 dimension */,
  CONST Integer REFPTR ldfl,
  double flr[] /* 2 dimension */,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  CONST double REFPTR acc,
  CONST Integer REFPTR maxit,
  Integer REFPTR iter,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_stand
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03bcf_(stand, pscale, n, m, x, ldx, y, ldy, yhat, r, ldr, alpha, rss, res, wk, ifail, length_stand, length_pscale)  \
G03BCF(stand, length_stand, pscale, length_pscale, n, m, x, ldx, y, ldy, yhat, r, ldr, alpha, rss, res, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03bcf_ G03BCF
#else
#define  G03BCF g03bcf_
#endif
extern void NAG_CALL G03BCF(
  CONST char * stand
#ifdef USE_STDCALL
,  CONST Charlen length_stand
#endif
,
  CONST char * pscale
#ifdef USE_STDCALL
,  CONST Charlen length_pscale
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double y[] /* 2 dimension */,
  CONST Integer REFPTR ldy,
  double yhat[] /* 2 dimension */,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  double REFPTR alpha,
  double REFPTR rss,
  double res[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_stand,
 CONST Charlen length_pscale
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03bdf_(stand, n, m, x, ldx, ro, ldro, power, fp, ldfp, r, ldr, phi, ldphi, fs, ldfs, ifail, length_stand)  \
G03BDF(stand, length_stand, n, m, x, ldx, ro, ldro, power, fp, ldfp, r, ldr, phi, ldphi, fs, ldfs, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03bdf_ G03BDF
#else
#define  G03BDF g03bdf_
#endif
extern void NAG_CALL G03BDF(
  CONST char * stand
#ifdef USE_STDCALL
,  CONST Charlen length_stand
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST double ro[] /* 2 dimension */,
  CONST Integer REFPTR ldro,
  CONST double REFPTR power,
  double fp[] /* 2 dimension */,
  CONST Integer REFPTR ldfp,
  double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  double phi[] /* 2 dimension */,
  CONST Integer REFPTR ldphi,
  double fs[] /* 2 dimension */,
  CONST Integer REFPTR ldfs,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_stand
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03caf_(matrix, weight, n, m, x, ldx, nvar, isx, nfac, wt, e, stat, com, psi, res, fl, ldfl, iop, iwk, wk, lwk, ifail, length_matrix, length_weight)  \
G03CAF(matrix, length_matrix, weight, length_weight, n, m, x, ldx, nvar, isx, nfac, wt, e, stat, com, psi, res, fl, ldfl, iop, iwk, wk, lwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03caf_ G03CAF
#else
#define  G03CAF g03caf_
#endif
extern void NAG_CALL G03CAF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR nvar,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR nfac,
  CONST double wt[] /* 1 dimension */,
  double e[] /* 1 dimension */,
  double stat[] /* 1 dimension */,
  double com[] /* 1 dimension */,
  double psi[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  double fl[] /* 2 dimension */,
  CONST Integer REFPTR ldfl,
  CONST Integer iop[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  CONST Integer REFPTR lwk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03ccf_(method, rotate, nvar, nfac, fl, ldfl, psi, e, r, ldr, fs, ldfs, wk, ifail, length_method, length_rotate)  \
G03CCF(method, length_method, rotate, length_rotate, nvar, nfac, fl, ldfl, psi, e, r, ldr, fs, ldfs, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03ccf_ G03CCF
#else
#define  G03CCF g03ccf_
#endif
extern void NAG_CALL G03CCF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * rotate
#ifdef USE_STDCALL
,  CONST Charlen length_rotate
#endif
,
  CONST Integer REFPTR nvar,
  CONST Integer REFPTR nfac,
  CONST double fl[] /* 2 dimension */,
  CONST Integer REFPTR ldfl,
  CONST double psi[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST double r[] /* 2 dimension */,
  CONST Integer REFPTR ldr,
  double fs[] /* 2 dimension */,
  CONST Integer REFPTR ldfs,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_rotate
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03daf_(weight, n, m, x, ldx, isx, nvar, ing, ng, wt, nig, gmn, ldgmn, det, gc, stat, df, sig, wk, iwk, ifail, length_weight)  \
G03DAF(weight, length_weight, n, m, x, ldx, isx, nvar, ing, ng, wt, nig, gmn, ldgmn, det, gc, stat, df, sig, wk, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03daf_ G03DAF
#else
#define  G03DAF g03daf_
#endif
extern void NAG_CALL G03DAF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR nvar,
  CONST Integer ing[] /* 1 dimension */,
  CONST Integer REFPTR ng,
  CONST double wt[] /* 1 dimension */,
  Integer nig[] /* 1 dimension */,
  double gmn[] /* 2 dimension */,
  CONST Integer REFPTR ldgmn,
  double det[] /* 1 dimension */,
  double gc[] /* 1 dimension */,
  double REFPTR stat,
  double REFPTR df,
  double REFPTR sig,
  double wk[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03dbf_(equal, mode, nvar, ng, gmn, ldgmn, gc, nobs, m, isx, x, ldx, d, ldd, wk, ifail, length_equal, length_mode)  \
G03DBF(equal, length_equal, mode, length_mode, nvar, ng, gmn, ldgmn, gc, nobs, m, isx, x, ldx, d, ldd, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03dbf_ G03DBF
#else
#define  G03DBF g03dbf_
#endif
extern void NAG_CALL G03DBF(
  CONST char * equal
#ifdef USE_STDCALL
,  CONST Charlen length_equal
#endif
,
  CONST char * mode
#ifdef USE_STDCALL
,  CONST Charlen length_mode
#endif
,
  CONST Integer REFPTR nvar,
  CONST Integer REFPTR ng,
  CONST double gmn[] /* 2 dimension */,
  CONST Integer REFPTR ldgmn,
  CONST double gc[] /* 1 dimension */,
  CONST Integer REFPTR nobs,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double d[] /* 2 dimension */,
  CONST Integer REFPTR ldd,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_equal,
 CONST Charlen length_mode
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03dcf_(typ, equal, priors, nvar, ng, nig, gmn, ldgmn, gc, det, nobs, m, isx, x, ldx, prior, p, ldp, iag, atiq, ati, wk, ifail, length_typ, length_equal, length_priors)  \
G03DCF(typ, length_typ, equal, length_equal, priors, length_priors, nvar, ng, nig, gmn, ldgmn, gc, det, nobs, m, isx, x, ldx, prior, p, ldp, iag, atiq, ati, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03dcf_ G03DCF
#else
#define  G03DCF g03dcf_
#endif
extern void NAG_CALL G03DCF(
  CONST char * typ
#ifdef USE_STDCALL
,  CONST Charlen length_typ
#endif
,
  CONST char * equal
#ifdef USE_STDCALL
,  CONST Charlen length_equal
#endif
,
  CONST char * priors
#ifdef USE_STDCALL
,  CONST Charlen length_priors
#endif
,
  CONST Integer REFPTR nvar,
  CONST Integer REFPTR ng,
  CONST Integer nig[] /* 1 dimension */,
  CONST double gmn[] /* 2 dimension */,
  CONST Integer REFPTR ldgmn,
  CONST double gc[] /* 1 dimension */,
  CONST double det[] /* 1 dimension */,
  CONST Integer REFPTR nobs,
  CONST Integer REFPTR m,
  CONST Integer isx[] /* 1 dimension */,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double prior[] /* 1 dimension */,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer iag[] /* 1 dimension */,
  CONST logical REFPTR atiq,
  double ati[] /* 2 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_typ,
 CONST Charlen length_equal,
 CONST Charlen length_priors
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03eaf_(update, dist, scal, n, m, x, ldx, isx, s, d, ifail, length_update, length_dist, length_scal)  \
G03EAF(update, length_update, dist, length_dist, scal, length_scal, n, m, x, ldx, isx, s, d, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03eaf_ G03EAF
#else
#define  G03EAF g03eaf_
#endif
extern void NAG_CALL G03EAF(
  CONST char * update
#ifdef USE_STDCALL
,  CONST Charlen length_update
#endif
,
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  double s[] /* 1 dimension */,
  double d[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_update,
 CONST Charlen length_dist,
 CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03ecf_(method, n, d, ilc, iuc, cd, iord, dord, iwk, ifail)  \
G03ECF(method, n, d, ilc, iuc, cd, iord, dord, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03ecf_ G03ECF
#else
#define  G03ECF g03ecf_
#endif
extern void NAG_CALL G03ECF(
  CONST Integer REFPTR method,
  CONST Integer REFPTR n,
  double d[] /* 1 dimension */,
  Integer ilc[] /* 1 dimension */,
  Integer iuc[] /* 1 dimension */,
  double cd[] /* 1 dimension */,
  Integer iord[] /* 1 dimension */,
  double dord[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03eff_(weight, n, m, x, ldx, isx, nvar, k, cmeans, ldc, wt, inc, nic, css, csw, maxit, iwk, wk, ifail, length_weight)  \
G03EFF(weight, length_weight, n, m, x, ldx, isx, nvar, k, cmeans, ldc, wt, inc, nic, css, csw, maxit, iwk, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03eff_ G03EFF
#else
#define  G03EFF g03eff_
#endif
extern void NAG_CALL G03EFF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer isx[] /* 1 dimension */,
  CONST Integer REFPTR nvar,
  CONST Integer REFPTR k,
  double cmeans[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST double wt[] /* 1 dimension */,
  Integer inc[] /* 1 dimension */,
  Integer nic[] /* 1 dimension */,
  double css[] /* 1 dimension */,
  double csw[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  Integer iwk[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03ehf_(orient, n, dord, dmin, dstep, nsym, c, lenc, ifail, length_orient, length_c)  \
G03EHF(orient, length_orient, n, dord, dmin, dstep, nsym, c, length_c, lenc, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03ehf_ G03EHF
#else
#define  G03EHF g03ehf_
#endif
extern void NAG_CALL G03EHF(
  CONST char * orient
#ifdef USE_STDCALL
,  CONST Charlen length_orient
#endif
,
  CONST Integer REFPTR n,
  CONST double dord[] /* 1 dimension */,
  CONST double REFPTR dmin,
  CONST double REFPTR dstep,
  CONST Integer REFPTR nsym,
  char c[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_c
#endif
,
  CONST Integer REFPTR lenc,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_orient,
 CONST Charlen length_c
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03ejf_(n, cd, iord, dord, k, dlevel, ic, ifail)  \
G03EJF(n, cd, iord, dord, k, dlevel, ic, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03ejf_ G03EJF
#else
#define  G03EJF g03ejf_
#endif
extern void NAG_CALL G03EJF(
  CONST Integer REFPTR n,
  CONST double cd[] /* 1 dimension */,
  CONST Integer iord[] /* 1 dimension */,
  CONST double dord[] /* 1 dimension */,
  Integer REFPTR k,
  double REFPTR dlevel,
  Integer ic[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03faf_(roots, n, d, ndim, x, ldx, eval, wk, iwk, ifail, length_roots)  \
G03FAF(roots, length_roots, n, d, ndim, x, ldx, eval, wk, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03faf_ G03FAF
#else
#define  G03FAF g03faf_
#endif
extern void NAG_CALL G03FAF(
  CONST char * roots
#ifdef USE_STDCALL
,  CONST Charlen length_roots
#endif
,
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST Integer REFPTR ndim,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double eval[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_roots
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03fcf_(typ, n, ndim, d, x, ldx, stress, dfit, iter, iopt, wk, iwk, ifail, length_typ)  \
G03FCF(typ, length_typ, n, ndim, d, x, ldx, stress, dfit, iter, iopt, wk, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03fcf_ G03FCF
#else
#define  G03FCF g03fcf_
#endif
extern void NAG_CALL G03FCF(
  CONST char * typ
#ifdef USE_STDCALL
,  CONST Charlen length_typ
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ndim,
  CONST double d[] /* 1 dimension */,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR stress,
  double dfit[] /* 1 dimension */,
  CONST Integer REFPTR iter,
  CONST Integer REFPTR iopt,
  double wk[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_typ
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g03zaf_(n, m, x, ldx, nvar, isx, s, e, z, ldz, ifail)  \
G03ZAF(n, m, x, ldx, nvar, isx, s, e, z, ldz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g03zaf_ G03ZAF
#else
#define  G03ZAF g03zaf_
#endif
extern void NAG_CALL G03ZAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR nvar,
  CONST Integer isx[] /* 1 dimension */,
  CONST double s[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g04agf_(y, n, k, lsub, nobs, l, ngp, gbar, sgbar, gm, ss, idf, f, fp, ifail)  \
G04AGF(y, n, k, lsub, nobs, l, ngp, gbar, sgbar, gm, ss, idf, f, fp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g04agf_ G04AGF
#else
#define  G04AGF g04agf_
#endif
extern void NAG_CALL G04AGF(
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST Integer lsub[] /* 1 dimension */,
  CONST Integer nobs[] /* 1 dimension */,
  CONST Integer REFPTR l,
  Integer ngp[] /* 1 dimension */,
  double gbar[] /* 1 dimension */,
  double sgbar[] /* 1 dimension */,
  double REFPTR gm,
  double ss[] /* 1 dimension */,
  Integer idf[] /* 1 dimension */,
  double f[] /* 1 dimension */,
  double fp[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g04bbf_(n, y, iblock, nt, it, gmean, bmean, tmean, tabl, ldtabl, c, ldc, irep, r, ef, tol, irdf, wk, ifail)  \
G04BBF(n, y, iblock, nt, it, gmean, bmean, tmean, tabl, ldtabl, c, ldc, irep, r, ef, tol, irdf, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g04bbf_ G04BBF
#else
#define  G04BBF g04bbf_
#endif
extern void NAG_CALL G04BBF(
  CONST Integer REFPTR n,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR iblock,
  CONST Integer REFPTR nt,
  CONST Integer it[] /* 1 dimension */,
  double REFPTR gmean,
  double bmean[] /* 1 dimension */,
  double tmean[] /* 1 dimension */,
  double tabl[] /* 2 dimension */,
  CONST Integer REFPTR ldtabl,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Integer irep[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  double ef[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR irdf,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g04bcf_(nrep, nrow, ncol, y, nt, it, gmean, tmean, tabl, ldtabl, c, ldc, irep, rpmean, rmean, cmean, r, ef, tol, irdf, wk, ifail)  \
G04BCF(nrep, nrow, ncol, y, nt, it, gmean, tmean, tabl, ldtabl, c, ldc, irep, rpmean, rmean, cmean, r, ef, tol, irdf, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g04bcf_ G04BCF
#else
#define  G04BCF g04bcf_
#endif
extern void NAG_CALL G04BCF(
  CONST Integer REFPTR nrep,
  CONST Integer REFPTR nrow,
  CONST Integer REFPTR ncol,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR nt,
  CONST Integer it[] /* 1 dimension */,
  double REFPTR gmean,
  double tmean[] /* 1 dimension */,
  double tabl[] /* 2 dimension */,
  CONST Integer REFPTR ldtabl,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Integer irep[] /* 1 dimension */,
  double rpmean[] /* 1 dimension */,
  double rmean[] /* 1 dimension */,
  double cmean[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  double ef[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR irdf,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g04caf_(n, y, nfac, lfac, nblock, inter, irdf, mterm, table, itotal, tmean, maxt, e, imean, semean, bmean, r, iwk, ifail)  \
G04CAF(n, y, nfac, lfac, nblock, inter, irdf, mterm, table, itotal, tmean, maxt, e, imean, semean, bmean, r, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g04caf_ G04CAF
#else
#define  G04CAF g04caf_
#endif
extern void NAG_CALL G04CAF(
  CONST Integer REFPTR n,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR nfac,
  CONST Integer lfac[] /* 1 dimension */,
  CONST Integer REFPTR nblock,
  CONST Integer REFPTR inter,
  CONST Integer REFPTR irdf,
  CONST Integer REFPTR mterm,
  double table[] /* 2 dimension */,
  Integer REFPTR itotal,
  double tmean[] /* 1 dimension */,
  CONST Integer REFPTR maxt,
  double e[] /* 1 dimension */,
  Integer imean[] /* 1 dimension */,
  double semean[] /* 1 dimension */,
  double bmean[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g04daf_(nt, tmean, irep, rms, rdf, nc, ct, ldct, est, tabl, ldtabl, tol, usetx, tx, ifail)  \
G04DAF(nt, tmean, irep, rms, rdf, nc, ct, ldct, est, tabl, ldtabl, tol, usetx, tx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g04daf_ G04DAF
#else
#define  G04DAF g04daf_
#endif
extern void NAG_CALL G04DAF(
  CONST Integer REFPTR nt,
  CONST double tmean[] /* 1 dimension */,
  CONST Integer irep[] /* 1 dimension */,
  CONST double REFPTR rms,
  CONST double REFPTR rdf,
  CONST Integer REFPTR nc,
  CONST double ct[] /* 2 dimension */,
  CONST Integer REFPTR ldct,
  double est[] /* 1 dimension */,
  double tabl[] /* 2 dimension */,
  CONST Integer REFPTR ldtabl,
  CONST double REFPTR tol,
  CONST logical REFPTR usetx,
  CONST double tx[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g04dbf_(typ, nt, tmean, rdf, c, ldc, clevel, cil, ciu, isig, ifail, length_typ)  \
G04DBF(typ, length_typ, nt, tmean, rdf, c, ldc, clevel, cil, ciu, isig, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g04dbf_ G04DBF
#else
#define  G04DBF g04dbf_
#endif
extern void NAG_CALL G04DBF(
  CONST char * typ
#ifdef USE_STDCALL
,  CONST Charlen length_typ
#endif
,
  CONST Integer REFPTR nt,
  CONST double tmean[] /* 1 dimension */,
  CONST double REFPTR rdf,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST double REFPTR clevel,
  double cil[] /* 1 dimension */,
  double ciu[] /* 1 dimension */,
  Integer isig[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_typ
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g04eaf_(typ, n, levels, ifact, x, ldx, v, rep, ifail, length_typ)  \
G04EAF(typ, length_typ, n, levels, ifact, x, ldx, v, rep, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g04eaf_ G04EAF
#else
#define  G04EAF g04eaf_
#endif
extern void NAG_CALL G04EAF(
  CONST char * typ
#ifdef USE_STDCALL
,  CONST Charlen length_typ
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR levels,
  CONST Integer ifact[] /* 1 dimension */,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST double v[] /* 1 dimension */,
  double rep[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_typ
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05hkf_(dist, num, ip, iq, theta, gamma, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail, length_dist)  \
G05HKF(dist, length_dist, num, ip, iq, theta, gamma, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05hkf_ G05HKF
#else
#define  G05HKF g05hkf_
#endif
extern void NAG_CALL G05HKF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST double REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double rvec[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05hlf_(dist, num, ip, iq, theta, gamma, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail, length_dist)  \
G05HLF(dist, length_dist, num, ip, iq, theta, gamma, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05hlf_ G05HLF
#else
#define  G05HLF g05hlf_
#endif
extern void NAG_CALL G05HLF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST double REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double rvec[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05hmf_(dist, num, ip, iq, theta, gamma, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail, length_dist)  \
G05HMF(dist, length_dist, num, ip, iq, theta, gamma, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05hmf_ G05HMF
#else
#define  G05HMF g05hmf_
#endif
extern void NAG_CALL G05HMF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST double REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double rvec[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05hnf_(dist, num, ip, iq, theta, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail, length_dist)  \
G05HNF(dist, length_dist, num, ip, iq, theta, df, ht, et, fcall, rvec, igen, iseed, rwsav, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05hnf_ G05HNF
#else
#define  G05HNF g05hnf_
#endif
extern void NAG_CALL G05HNF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double rvec[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double rwsav[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05kaf_(igen, iseed)  \
G05KAF(igen, iseed) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05kaf_ G05KAF
#else
#define  G05KAF g05kaf_
#endif
extern double NAG_CALL G05KAF(
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05kbf_(igen, iseed)  \
G05KBF(igen, iseed) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05kbf_ G05KBF
#else
#define  G05KBF g05kbf_
#endif
extern void NAG_CALL G05KBF(
  Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05kcf_(igen, iseed)  \
G05KCF(igen, iseed) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05kcf_ G05KCF
#else
#define  G05KCF g05kcf_
#endif
extern void NAG_CALL G05KCF(
  Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05kef_(p, igen, iseed, ifail)  \
G05KEF(p, igen, iseed, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05kef_ G05KEF
#else
#define  G05KEF g05kef_
#endif
extern logical NAG_CALL G05KEF(
  CONST double REFPTR p,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05kff_(genid, subid, seed, lseed, state, lstate, ifail)  \
G05KFF(genid, subid, seed, lseed, state, lstate, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05kff_ G05KFF
#else
#define  G05KFF g05kff_
#endif
extern void NAG_CALL G05KFF(
  CONST Integer REFPTR genid,
  CONST Integer REFPTR subid,
  CONST Integer seed[] /* 1 dimension */,
  CONST Integer REFPTR lseed,
  Integer state[] /* 1 dimension */,
  Integer REFPTR lstate,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05kgf_(genid, subid, state, lstate, ifail)  \
G05KGF(genid, subid, state, lstate, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05kgf_ G05KGF
#else
#define  G05KGF g05kgf_
#endif
extern void NAG_CALL G05KGF(
  CONST Integer REFPTR genid,
  CONST Integer REFPTR subid,
  Integer state[] /* 1 dimension */,
  Integer REFPTR lstate,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05khf_(n, k, state, ifail)  \
G05KHF(n, k, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05khf_ G05KHF
#else
#define  G05KHF g05khf_
#endif
extern void NAG_CALL G05KHF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

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

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

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

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

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

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

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05lhf_(xmin, xmax, xmed, n, x, igen, iseed, ifail)  \
G05LHF(xmin, xmax, xmed, n, x, igen, iseed, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05lhf_ G05LHF
#else
#define  G05LHF g05lhf_
#endif
extern void NAG_CALL G05LHF(
  CONST double REFPTR xmin,
  CONST double REFPTR xmax,
  CONST double REFPTR xmed,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

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

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

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

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

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05lqf_(nmix, a, wgt, n, x, igen, iseed, ifail)  \
G05LQF(nmix, a, wgt, n, x, igen, iseed, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05lqf_ G05LQF
#else
#define  G05LQF g05lqf_
#endif
extern void NAG_CALL G05LQF(
  CONST Integer REFPTR nmix,
  CONST double a[] /* 1 dimension */,
  double wgt[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05lxf_(mode, df, m, xmu, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail)  \
G05LXF(mode, df, m, xmu, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05lxf_ G05LXF
#else
#define  G05LXF g05lxf_
#endif
extern void NAG_CALL G05LXF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR df,
  CONST Integer REFPTR m,
  CONST double xmu[] /* 1 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST Integer REFPTR n,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05lyf_(mode, m, xmu, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail)  \
G05LYF(mode, m, xmu, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05lyf_ G05LYF
#else
#define  G05LYF g05lyf_
#endif
extern void NAG_CALL G05LYF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR m,
  CONST double xmu[] /* 1 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST Integer REFPTR n,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05lzf_(mode, n, xmu, c, ldc, x, igen, iseed, r, nr, ifail)  \
G05LZF(mode, n, xmu, c, ldc, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05lzf_ G05LZF
#else
#define  G05LZF g05lzf_
#endif
extern void NAG_CALL G05LZF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST double xmu[] /* 1 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05maf_(a, b, n, x, igen, iseed, ifail)  \
G05MAF(a, b, n, x, igen, iseed, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05maf_ G05MAF
#else
#define  G05MAF g05maf_
#endif
extern void NAG_CALL G05MAF(
  CONST Integer REFPTR a,
  CONST Integer REFPTR b,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mbf_(mode, p, n, x, igen, iseed, r, nr, ifail)  \
G05MBF(mode, p, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mbf_ G05MBF
#else
#define  G05MBF g05mbf_
#endif
extern void NAG_CALL G05MBF(
  CONST Integer REFPTR mode,
  CONST double REFPTR p,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mcf_(mode, m, p, n, x, igen, iseed, r, nr, ifail)  \
G05MCF(mode, m, p, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mcf_ G05MCF
#else
#define  G05MCF g05mcf_
#endif
extern void NAG_CALL G05MCF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR m,
  CONST double REFPTR p,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mdf_(mode, a, n, x, igen, iseed, r, nr, ifail)  \
G05MDF(mode, a, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mdf_ G05MDF
#else
#define  G05MDF g05mdf_
#endif
extern void NAG_CALL G05MDF(
  CONST Integer REFPTR mode,
  CONST double REFPTR a,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mjf_(mode, m, p, n, x, igen, iseed, r, nr, ifail)  \
G05MJF(mode, m, p, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mjf_ G05MJF
#else
#define  G05MJF g05mjf_
#endif
extern void NAG_CALL G05MJF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR m,
  CONST double REFPTR p,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mkf_(mode, lambda, n, x, igen, iseed, r, nr, ifail)  \
G05MKF(mode, lambda, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mkf_ G05MKF
#else
#define  G05MKF g05mkf_
#endif
extern void NAG_CALL G05MKF(
  CONST Integer REFPTR mode,
  CONST double REFPTR lambda,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mlf_(mode, ns, np, m, n, x, igen, iseed, r, nr, ifail)  \
G05MLF(mode, ns, np, m, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mlf_ G05MLF
#else
#define  G05MLF g05mlf_
#endif
extern void NAG_CALL G05MLF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR ns,
  CONST Integer REFPTR np,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mrf_(mode, m, k, p, n, x, ldx, igen, iseed, r, nr, ifail)  \
G05MRF(mode, m, k, p, n, x, ldx, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mrf_ G05MRF
#else
#define  G05MRF g05mrf_
#endif
extern void NAG_CALL G05MRF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR m,
  CONST Integer REFPTR k,
  CONST double p[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05mzf_(mode, p, np, ip1, itype, n, x, igen, iseed, r, nr, ifail)  \
G05MZF(mode, p, np, ip1, itype, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05mzf_ G05MZF
#else
#define  G05MZF g05mzf_
#endif
extern void NAG_CALL G05MZF(
  CONST Integer REFPTR mode,
  CONST double p[] /* 1 dimension */,
  CONST Integer REFPTR np,
  CONST Integer REFPTR ip1,
  CONST Integer REFPTR itype,
  CONST Integer REFPTR n,
  Integer x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05naf_(index, n, igen, iseed, ifail)  \
G05NAF(index, n, igen, iseed, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05naf_ G05NAF
#else
#define  G05NAF g05naf_
#endif
extern void NAG_CALL G05NAF(
  Integer index[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05nbf_(ipop, n, isampl, m, igen, iseed, ifail)  \
G05NBF(ipop, n, isampl, m, igen, iseed, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05nbf_ G05NBF
#else
#define  G05NBF g05nbf_
#endif
extern void NAG_CALL G05NBF(
  CONST Integer ipop[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer isampl[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ncf_(index, n, state, ifail)  \
G05NCF(index, n, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ncf_ G05NCF
#else
#define  G05NCF g05ncf_
#endif
extern void NAG_CALL G05NCF(
  Integer index[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ndf_(ipop, n, isampl, m, state, ifail)  \
G05NDF(ipop, n, isampl, m, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ndf_ G05NDF
#else
#define  G05NDF g05ndf_
#endif
extern void NAG_CALL G05NDF(
  CONST Integer ipop[] /* 1 dimension */,
  CONST Integer REFPTR n,
  Integer isampl[] /* 1 dimension */,
  CONST Integer REFPTR m,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05paf_(mode, xmean, ip, phi, iq, theta, avar, var, n, x, igen, iseed, r, nr, ifail)  \
G05PAF(mode, xmean, ip, phi, iq, theta, avar, var, n, x, igen, iseed, r, nr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05paf_ G05PAF
#else
#define  G05PAF g05paf_
#endif
extern void NAG_CALL G05PAF(
  CONST Integer REFPTR mode,
  CONST double REFPTR xmean,
  CONST Integer REFPTR ip,
  CONST double phi[] /* 1 dimension */,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR avar,
  double REFPTR var,
  CONST Integer REFPTR n,
  double x[] /* 1 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pcf_(mode, k, xmean, ip, phi, iq, theta, var, ldvar, n, x, igen, iseed, r, nr, iwork, liwork, ifail)  \
G05PCF(mode, k, xmean, ip, phi, iq, theta, var, ldvar, n, x, igen, iseed, r, nr, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pcf_ G05PCF
#else
#define  G05PCF g05pcf_
#endif
extern void NAG_CALL G05PCF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR k,
  CONST double xmean[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double phi[] /* 1 dimension */,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  double var[] /* 2 dimension */,
  CONST Integer REFPTR ldvar,
  CONST Integer REFPTR n,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pdf_(dist, num, ip, iq, theta, gamma, df, ht, et, fcall, r, lr, state, ifail, length_dist)  \
G05PDF(dist, length_dist, num, ip, iq, theta, gamma, df, ht, et, fcall, r, lr, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pdf_ G05PDF
#else
#define  G05PDF g05pdf_
#endif
extern void NAG_CALL G05PDF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST Integer REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pef_(dist, num, ip, iq, theta, gamma, df, ht, et, fcall, r, lr, state, ifail, length_dist)  \
G05PEF(dist, length_dist, num, ip, iq, theta, gamma, df, ht, et, fcall, r, lr, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pef_ G05PEF
#else
#define  G05PEF g05pef_
#endif
extern void NAG_CALL G05PEF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST Integer REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pff_(dist, num, ip, iq, theta, gamma, df, ht, et, fcall, r, lr, state, ifail, length_dist)  \
G05PFF(dist, length_dist, num, ip, iq, theta, gamma, df, ht, et, fcall, r, lr, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pff_ G05PFF
#else
#define  G05PFF g05pff_
#endif
extern void NAG_CALL G05PFF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST Integer REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pgf_(dist, num, ip, iq, theta, df, ht, et, fcall, r, lr, state, ifail, length_dist)  \
G05PGF(dist, length_dist, num, ip, iq, theta, df, ht, et, fcall, r, lr, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pgf_ G05PGF
#else
#define  G05PGF g05pgf_
#endif
extern void NAG_CALL G05PGF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST Integer REFPTR df,
  double ht[] /* 1 dimension */,
  double et[] /* 1 dimension */,
  CONST logical REFPTR fcall,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05phf_(mode, n, xmean, ip, phi, iq, theta, avar, r, lr, state, var, x, ifail)  \
G05PHF(mode, n, xmean, ip, phi, iq, theta, avar, r, lr, state, var, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05phf_ G05PHF
#else
#define  G05PHF g05phf_
#endif
extern void NAG_CALL G05PHF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST double REFPTR xmean,
  CONST Integer REFPTR ip,
  CONST double phi[] /* 1 dimension */,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR avar,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  double REFPTR var,
  double x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pjf_(mode, n, k, xmean, ip, phi, iq, theta, var, ldv, r, lr, state, x, ldx, ifail)  \
G05PJF(mode, n, k, xmean, ip, phi, iq, theta, var, ldv, r, lr, state, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pjf_ G05PJF
#else
#define  G05PJF g05pjf_
#endif
extern void NAG_CALL G05PJF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double xmean[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double phi[] /* 1 dimension */,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double var[] /* 2 dimension */,
  CONST Integer REFPTR ldv,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pmf_(mode, n, itype, p, param, init, var, r, state, e, en, x, ifail)  \
G05PMF(mode, n, itype, p, param, init, var, r, state, e, en, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pmf_ G05PMF
#else
#define  G05PMF g05pmf_
#endif
extern void NAG_CALL G05PMF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR itype,
  CONST Integer REFPTR p,
  CONST double param[] /* 1 dimension */,
  CONST double init[] /* 1 dimension */,
  CONST double REFPTR var,
  double r[] /* 1 dimension */,
  Integer state[] /* 1 dimension */,
  CONST double e[] /* 1 dimension */,
  CONST Integer REFPTR en,
  double x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pxf_(side, init, m, n, state, a, lda, ifail, length_side, length_init)  \
G05PXF(side, length_side, init, length_init, m, n, state, a, lda, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pxf_ G05PXF
#else
#define  G05PXF g05pxf_
#endif
extern void NAG_CALL G05PXF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  Integer state[] /* 1 dimension */,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pyf_(n, d, eps, state, c, ldc, ifail)  \
G05PYF(n, d, eps, state, c, ldc, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pyf_ G05PYF
#else
#define  G05PYF g05pyf_
#endif
extern void NAG_CALL G05PYF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  CONST double REFPTR eps,
  Integer state[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05pzf_(mode, nrow, ncol, totr, totc, r, lr, state, x, ldx, ifail)  \
G05PZF(mode, nrow, ncol, totr, totc, r, lr, state, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05pzf_ G05PZF
#else
#define  G05PZF g05pzf_
#endif
extern void NAG_CALL G05PZF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR nrow,
  CONST Integer REFPTR ncol,
  CONST Integer totr[] /* 1 dimension */,
  CONST Integer totc[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05qaf_(side, init, m, n, a, lda, igen, iseed, wk, ifail, length_side, length_init)  \
G05QAF(side, length_side, init, length_init, m, n, a, lda, igen, iseed, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05qaf_ G05QAF
#else
#define  G05QAF g05qaf_
#endif
extern void NAG_CALL G05QAF(
  CONST char * side
#ifdef USE_STDCALL
,  CONST Charlen length_side
#endif
,
  CONST char * init
#ifdef USE_STDCALL
,  CONST Charlen length_init
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_side,
 CONST Charlen length_init
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05qbf_(n, d, c, ldc, eps, igen, iseed, wk, ifail)  \
G05QBF(n, d, c, ldc, eps, igen, iseed, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05qbf_ G05QBF
#else
#define  G05QBF g05qbf_
#endif
extern void NAG_CALL G05QBF(
  CONST Integer REFPTR n,
  CONST double d[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST double REFPTR eps,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05qdf_(mode, nrow, ncol, totr, totc, x, ldx, igen, iseed, r, nr, iw, liw, ifail)  \
G05QDF(mode, nrow, ncol, totr, totc, x, ldx, igen, iseed, r, nr, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05qdf_ G05QDF
#else
#define  G05QDF g05qdf_
#endif
extern void NAG_CALL G05QDF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR nrow,
  CONST Integer REFPTR ncol,
  CONST Integer totr[] /* 1 dimension */,
  CONST Integer totc[] /* 1 dimension */,
  Integer x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR nr,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05raf_(mode, m, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail)  \
G05RAF(mode, m, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05raf_ G05RAF
#else
#define  G05RAF g05raf_
#endif
extern void NAG_CALL G05RAF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR m,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST Integer REFPTR n,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05rbf_(mode, df, m, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail)  \
G05RBF(mode, df, m, c, ldc, n, x, ldx, igen, iseed, r, lr, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05rbf_ G05RBF
#else
#define  G05RBF g05rbf_
#endif
extern void NAG_CALL G05RBF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR df,
  CONST Integer REFPTR m,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  CONST Integer REFPTR n,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR igen,
  Integer iseed[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05rcf_(mode, n, df, m, c, ldc, r, lr, state, x, ldx, ifail)  \
G05RCF(mode, n, df, m, c, ldc, r, lr, state, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05rcf_ G05RCF
#else
#define  G05RCF g05rcf_
#endif
extern void NAG_CALL G05RCF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR df,
  CONST Integer REFPTR m,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05rdf_(mode, n, m, c, ldc, r, lr, state, x, ldx, ifail)  \
G05RDF(mode, n, m, c, ldc, r, lr, state, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05rdf_ G05RDF
#else
#define  G05RDF g05rdf_
#endif
extern void NAG_CALL G05RDF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ryf_(mode, n, df, m, xmu, c, ldc, r, lr, state, x, ldx, ifail)  \
G05RYF(mode, n, df, m, xmu, c, ldc, r, lr, state, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ryf_ G05RYF
#else
#define  G05RYF g05ryf_
#endif
extern void NAG_CALL G05RYF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR df,
  CONST Integer REFPTR m,
  CONST double xmu[] /* 1 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05rzf_(mode, n, m, xmu, c, ldc, r, lr, state, x, ldx, ifail)  \
G05RZF(mode, n, m, xmu, c, ldc, r, lr, state, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05rzf_ G05RZF
#else
#define  G05RZF g05rzf_
#endif
extern void NAG_CALL G05RZF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double xmu[] /* 1 dimension */,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05taf_(mode, n, m, p, r, lr, state, x, ifail)  \
G05TAF(mode, n, m, p, r, lr, state, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05taf_ G05TAF
#else
#define  G05TAF g05taf_
#endif
extern void NAG_CALL G05TAF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double REFPTR p,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05tcf_(mode, n, p, r, lr, state, x, ifail)  \
G05TCF(mode, n, p, r, lr, state, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05tcf_ G05TCF
#else
#define  G05TCF g05tcf_
#endif
extern void NAG_CALL G05TCF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST double REFPTR p,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05tdf_(mode, n, p, np, ip1, itype, r, lr, state, x, ifail)  \
G05TDF(mode, n, p, np, ip1, itype, r, lr, state, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05tdf_ G05TDF
#else
#define  G05TDF g05tdf_
#endif
extern void NAG_CALL G05TDF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST double p[] /* 1 dimension */,
  CONST Integer REFPTR np,
  CONST Integer REFPTR ip1,
  CONST Integer REFPTR itype,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05tef_(mode, n, ns, np, m, r, lr, state, x, ifail)  \
G05TEF(mode, n, ns, np, m, r, lr, state, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05tef_ G05TEF
#else
#define  G05TEF g05tef_
#endif
extern void NAG_CALL G05TEF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ns,
  CONST Integer REFPTR np,
  CONST Integer REFPTR m,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05tff_(mode, n, a, r, lr, state, x, ifail)  \
G05TFF(mode, n, a, r, lr, state, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05tff_ G05TFF
#else
#define  G05TFF g05tff_
#endif
extern void NAG_CALL G05TFF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST double REFPTR a,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05tgf_(mode, n, m, k, p, r, lr, state, x, ldx, ifail)  \
G05TGF(mode, n, m, k, p, r, lr, state, x, ldx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05tgf_ G05TGF
#else
#define  G05TGF g05tgf_
#endif
extern void NAG_CALL G05TGF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR k,
  CONST double p[] /* 1 dimension */,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05thf_(mode, n, m, p, r, lr, state, x, ifail)  \
G05THF(mode, n, m, p, r, lr, state, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05thf_ G05THF
#else
#define  G05THF g05thf_
#endif
extern void NAG_CALL G05THF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double REFPTR p,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05tjf_(mode, n, lambda, r, lr, state, x, ifail)  \
G05TJF(mode, n, lambda, r, lr, state, x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05tjf_ G05TJF
#else
#define  G05TJF g05tjf_
#endif
extern void NAG_CALL G05TJF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR n,
  CONST double REFPTR lambda,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR lr,
  Integer state[] /* 1 dimension */,
  Integer x[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05yaf_(fcall, seq, iskip, idim, quasi, iref, ifail, length_seq)  \
G05YAF(fcall, seq, length_seq, iskip, idim, quasi, iref, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05yaf_ G05YAF
#else
#define  G05YAF g05yaf_
#endif
extern void NAG_CALL G05YAF(
  CONST logical REFPTR fcall,
  CONST char * seq
#ifdef USE_STDCALL
,  CONST Charlen length_seq
#endif
,
  CONST Integer REFPTR iskip,
  CONST Integer REFPTR idim,
  double quasi[] /* 1 dimension */,
  Integer iref[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_seq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ybf_(fcall, seq, lnorm, mean, std, iskip, idim, quasi, iref, ifail, length_seq)  \
G05YBF(fcall, seq, length_seq, lnorm, mean, std, iskip, idim, quasi, iref, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ybf_ G05YBF
#else
#define  G05YBF g05ybf_
#endif
extern void NAG_CALL G05YBF(
  CONST logical REFPTR fcall,
  CONST char * seq
#ifdef USE_STDCALL
,  CONST Charlen length_seq
#endif
,
  CONST logical REFPTR lnorm,
  CONST double mean[] /* 1 dimension */,
  CONST double std[] /* 1 dimension */,
  CONST Integer REFPTR iskip,
  CONST Integer REFPTR idim,
  double quasi[] /* 1 dimension */,
  Integer iref[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_seq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ycf_(idim, iref, ifail)  \
G05YCF(idim, iref, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ycf_ G05YCF
#else
#define  G05YCF g05ycf_
#endif
extern void NAG_CALL G05YCF(
  CONST Integer REFPTR idim,
  Integer iref[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05yef_(idim, iref, iskip, ifail)  \
G05YEF(idim, iref, iskip, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05yef_ G05YEF
#else
#define  G05YEF g05yef_
#endif
extern void NAG_CALL G05YEF(
  CONST Integer REFPTR idim,
  Integer iref[] /* 1 dimension */,
  CONST Integer REFPTR iskip,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ygf_(idim, iref, iskip, ifail)  \
G05YGF(idim, iref, iskip, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ygf_ G05YGF
#else
#define  G05YGF g05ygf_
#endif
extern void NAG_CALL G05YGF(
  CONST Integer REFPTR idim,
  Integer iref[] /* 1 dimension */,
  CONST Integer REFPTR iskip,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05yjf_(xmean, std, n, quas, iref, ifail)  \
G05YJF(xmean, std, n, quas, iref, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05yjf_ G05YJF
#else
#define  G05YJF g05yjf_
#endif
extern void NAG_CALL G05YJF(
  CONST double xmean[] /* 1 dimension */,
  CONST double std[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double quas[] /* 2 dimension */,
  Integer iref[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ykf_(xmean, std, n, quasi, iref, ifail)  \
G05YKF(xmean, std, n, quasi, iref, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ykf_ G05YKF
#else
#define  G05YKF g05ykf_
#endif
extern void NAG_CALL G05YKF(
  CONST double xmean[] /* 1 dimension */,
  CONST double std[] /* 1 dimension */,
  CONST Integer REFPTR n,
  double quasi[] /* 2 dimension */,
  Integer iref[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ylf_(genid, idim, iref, liref, iskip, ifail)  \
G05YLF(genid, idim, iref, liref, iskip, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ylf_ G05YLF
#else
#define  G05YLF g05ylf_
#endif
extern void NAG_CALL G05YLF(
  CONST Integer REFPTR genid,
  CONST Integer REFPTR idim,
  Integer iref[] /* 1 dimension */,
  CONST Integer REFPTR liref,
  CONST Integer REFPTR iskip,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ymf_(n, rcord, quas, ldquas, iref, ifail)  \
G05YMF(n, rcord, quas, ldquas, iref, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ymf_ G05YMF
#else
#define  G05YMF g05ymf_
#endif
extern void NAG_CALL G05YMF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR rcord,
  double quas[] /* 2 dimension */,
  CONST Integer REFPTR ldquas,
  Integer iref[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g05ynf_(genid, stype, idim, iref, liref, iskip, nsdigi, state, ifail)  \
G05YNF(genid, stype, idim, iref, liref, iskip, nsdigi, state, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g05ynf_ G05YNF
#else
#define  G05YNF g05ynf_
#endif
extern void NAG_CALL G05YNF(
  CONST Integer REFPTR genid,
  CONST Integer REFPTR stype,
  CONST Integer REFPTR idim,
  Integer iref[] /* 1 dimension */,
  CONST Integer REFPTR liref,
  CONST Integer REFPTR iskip,
  CONST Integer REFPTR nsdigi,
  Integer state[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07aaf_(n, k, clevel, pl, pu, ifail)  \
G07AAF(n, k, clevel, pl, pu, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07aaf_ G07AAF
#else
#define  G07AAF g07aaf_
#endif
extern void NAG_CALL G07AAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double REFPTR clevel,
  double REFPTR pl,
  double REFPTR pu,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07abf_(n, xmean, clevel, tl, tu, ifail)  \
G07ABF(n, xmean, clevel, tl, tu, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07abf_ G07ABF
#else
#define  G07ABF g07abf_
#endif
extern void NAG_CALL G07ABF(
  CONST Integer REFPTR n,
  CONST double REFPTR xmean,
  CONST double REFPTR clevel,
  double REFPTR tl,
  double REFPTR tu,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07bbf_(method, n, x, xc, ic, xmu, xsig, tol, maxit, sexmu, sexsig, corr, dev, nobs, nit, wk, ifail, length_method)  \
G07BBF(method, length_method, n, x, xc, ic, xmu, xsig, tol, maxit, sexmu, sexsig, corr, dev, nobs, nit, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07bbf_ G07BBF
#else
#define  G07BBF g07bbf_
#endif
extern void NAG_CALL G07BBF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double xc[] /* 1 dimension */,
  CONST Integer ic[] /* 1 dimension */,
  double REFPTR xmu,
  double REFPTR xsig,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  double REFPTR sexmu,
  double REFPTR sexsig,
  double REFPTR corr,
  double REFPTR dev,
  Integer nobs[] /* 1 dimension */,
  Integer REFPTR nit,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07bef_(cens, n, x, ic, beta, gamma, tol, maxit, sebeta, segam, corr, dev, nit, wk, ifail, length_cens)  \
G07BEF(cens, length_cens, n, x, ic, beta, gamma, tol, maxit, sebeta, segam, corr, dev, nit, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07bef_ G07BEF
#else
#define  G07BEF g07bef_
#endif
extern void NAG_CALL G07BEF(
  CONST char * cens
#ifdef USE_STDCALL
,  CONST Charlen length_cens
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer ic[] /* 1 dimension */,
  double REFPTR beta,
  double REFPTR gamma,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  double REFPTR sebeta,
  double REFPTR segam,
  double REFPTR corr,
  double REFPTR dev,
  Integer REFPTR nit,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cens
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07caf_(tail, equal, nx, ny, xmean, ymean, xstd, ystd, clevel, t, df, prob, dl, du, ifail, length_tail, length_equal)  \
G07CAF(tail, length_tail, equal, length_equal, nx, ny, xmean, ymean, xstd, ystd, clevel, t, df, prob, dl, du, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07caf_ G07CAF
#else
#define  G07CAF g07caf_
#endif
extern void NAG_CALL G07CAF(
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST char * equal
#ifdef USE_STDCALL
,  CONST Charlen length_equal
#endif
,
  CONST Integer REFPTR nx,
  CONST Integer REFPTR ny,
  CONST double REFPTR xmean,
  CONST double REFPTR ymean,
  CONST double REFPTR xstd,
  CONST double REFPTR ystd,
  CONST double REFPTR clevel,
  double REFPTR t,
  double REFPTR df,
  double REFPTR prob,
  double REFPTR dl,
  double REFPTR du,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail,
 CONST Charlen length_equal
#endif

);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07dbf_(isigma, n, x, ipsi, c, h1, h2, h3, dchi, theta, sigma, maxit, tol, rs, nit, wrk, ifail)  \
G07DBF(isigma, n, x, ipsi, c, h1, h2, h3, dchi, theta, sigma, maxit, tol, rs, nit, wrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07dbf_ G07DBF
#else
#define  G07DBF g07dbf_
#endif
extern void NAG_CALL G07DBF(
  CONST Integer REFPTR isigma,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR ipsi,
  CONST double REFPTR c,
  CONST double REFPTR h1,
  CONST double REFPTR h2,
  CONST double REFPTR h3,
  CONST double REFPTR dchi,
  double REFPTR theta,
  double REFPTR sigma,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  double rs[] /* 1 dimension */,
  Integer REFPTR nit,
  double wrk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07dcf_(chi, psi, isigma, n, x, beta, theta, sigma, maxit, tol, rs, nit, wrk, ifail)  \
G07DCF(chi, psi, isigma, n, x, beta, theta, sigma, maxit, tol, rs, nit, wrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07dcf_ G07DCF
#else
#define  G07DCF g07dcf_
#endif
extern void NAG_CALL G07DCF(
  double (NAG_CALL *chi)(
                         CONST double REFPTR ),
  double (NAG_CALL *psi)(
                         CONST double REFPTR ),
  CONST Integer REFPTR isigma,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR beta,
  double REFPTR theta,
  double REFPTR sigma,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  double rs[] /* 1 dimension */,
  Integer REFPTR nit,
  double wrk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07ddf_(n, x, alpha, tmean, wmean, tvar, wvar, k, sx, ifail)  \
G07DDF(n, x, alpha, tmean, wmean, tvar, wvar, k, sx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07ddf_ G07DDF
#else
#define  G07DDF g07ddf_
#endif
extern void NAG_CALL G07DDF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR alpha,
  double REFPTR tmean,
  double REFPTR wmean,
  double REFPTR tvar,
  double REFPTR wvar,
  Integer REFPTR k,
  double sx[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07eaf_(method, n, x, clevel, theta, thetal, thetau, estcl, wlower, wupper, wrk, iwrk, ifail, length_method)  \
G07EAF(method, length_method, n, x, clevel, theta, thetal, thetau, estcl, wlower, wupper, wrk, iwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07eaf_ G07EAF
#else
#define  G07EAF g07eaf_
#endif
extern void NAG_CALL G07EAF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR clevel,
  double REFPTR theta,
  double REFPTR thetal,
  double REFPTR thetau,
  double REFPTR estcl,
  double REFPTR wlower,
  double REFPTR wupper,
  double wrk[] /* 1 dimension */,
  Integer iwrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g07ebf_(method, n, x, m, y, clevel, theta, thetal, thetau, estcl, ulower, uupper, wrk, iwrk, ifail, length_method)  \
G07EBF(method, length_method, n, x, m, y, clevel, theta, thetal, thetau, estcl, ulower, uupper, wrk, iwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g07ebf_ G07EBF
#else
#define  G07EBF g07ebf_
#endif
extern void NAG_CALL G07EBF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double y[] /* 1 dimension */,
  CONST double REFPTR clevel,
  double REFPTR theta,
  double REFPTR thetal,
  double REFPTR thetau,
  double REFPTR estcl,
  double REFPTR ulower,
  double REFPTR uupper,
  double wrk[] /* 1 dimension */,
  Integer iwrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method
#endif

);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08acf_(x, n, n1, w, i1, i2, p, ifail)  \
G08ACF(x, n, n1, w, i1, i2, p, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08acf_ G08ACF
#else
#define  G08ACF g08acf_
#endif
extern void NAG_CALL G08ACF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR n1,
  double w[] /* 1 dimension */,
  Integer REFPTR i1,
  Integer REFPTR i2,
  double REFPTR p,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08aef_(x, ldx, k, n, w1, w2, fr, p, ifail)  \
G08AEF(x, ldx, k, n, w1, w2, fr, p, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08aef_ G08AEF
#else
#define  G08AEF g08aef_
#endif
extern void NAG_CALL G08AEF(
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  double w1[] /* 1 dimension */,
  double w2[] /* 1 dimension */,
  double REFPTR fr,
  double REFPTR p,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08aff_(x, lx, l, k, w, h, p, ifail)  \
G08AFF(x, lx, l, k, w, h, p, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08aff_ G08AFF
#else
#define  G08AFF g08aff_
#endif
extern void NAG_CALL G08AFF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR lx,
  CONST Integer l[] /* 1 dimension */,
  CONST Integer REFPTR k,
  double w[] /* 1 dimension */,
  double REFPTR h,
  double REFPTR p,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08agf_(n, x, xme, tail, zeros, w, wnor, p, n1, wrk, ifail, length_tail, length_zeros)  \
G08AGF(n, x, xme, tail, length_tail, zeros, length_zeros, w, wnor, p, n1, wrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08agf_ G08AGF
#else
#define  G08AGF g08agf_
#endif
extern void NAG_CALL G08AGF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR xme,
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST char * zeros
#ifdef USE_STDCALL
,  CONST Charlen length_zeros
#endif
,
  double REFPTR w,
  double REFPTR wnor,
  double REFPTR p,
  Integer REFPTR n1,
  double wrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail,
 CONST Charlen length_zeros
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08ahf_(n1, x, n2, y, tail, u, unor, p, ties, ranks, wrk, ifail, length_tail)  \
G08AHF(n1, x, n2, y, tail, length_tail, u, unor, p, ties, ranks, wrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08ahf_ G08AHF
#else
#define  G08AHF g08ahf_
#endif
extern void NAG_CALL G08AHF(
  CONST Integer REFPTR n1,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR n2,
  CONST double y[] /* 1 dimension */,
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  double REFPTR u,
  double REFPTR unor,
  double REFPTR p,
  logical REFPTR ties,
  double ranks[] /* 1 dimension */,
  double wrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08ajf_(n1, n2, tail, u, p, wrk, lwrk, ifail, length_tail)  \
G08AJF(n1, n2, tail, length_tail, u, p, wrk, lwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08ajf_ G08AJF
#else
#define  G08AJF g08ajf_
#endif
extern void NAG_CALL G08AJF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double REFPTR u,
  double REFPTR p,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08akf_(n1, n2, tail, ranks, u, p, wrk, lwrk, iwrk, ifail, length_tail)  \
G08AKF(n1, n2, tail, length_tail, ranks, u, p, wrk, lwrk, iwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08akf_ G08AKF
#else
#define  G08AKF g08akf_
#endif
extern void NAG_CALL G08AKF(
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST char * tail
#ifdef USE_STDCALL
,  CONST Charlen length_tail
#endif
,
  CONST double ranks[] /* 1 dimension */,
  CONST double REFPTR u,
  double REFPTR p,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer iwrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tail
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08alf_(n, k, x, ldx, q, prob, ifail)  \
G08ALF(n, k, x, ldx, q, prob, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08alf_ G08ALF
#else
#define  G08ALF g08alf_
#endif
extern void NAG_CALL G08ALF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR k,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  double REFPTR q,
  double REFPTR prob,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08baf_(x, n, n1, r, itest, w, v, pw, pv, ifail)  \
G08BAF(x, n, n1, r, itest, w, v, pw, pv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08baf_ G08BAF
#else
#define  G08BAF g08baf_
#endif
extern void NAG_CALL G08BAF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST Integer REFPTR n1,
  double r[] /* 1 dimension */,
  CONST Integer REFPTR itest,
  double REFPTR w,
  double REFPTR v,
  double REFPTR pw,
  double REFPTR pv,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08cbf_(n, x, dist, par, estima, ntype, d, z, p, sx, ifail, length_dist, length_estima)  \
G08CBF(n, x, dist, length_dist, par, estima, length_estima, ntype, d, z, p, sx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08cbf_ G08CBF
#else
#define  G08CBF g08cbf_
#endif
extern void NAG_CALL G08CBF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  double par[] /* 1 dimension */,
  CONST char * estima
#ifdef USE_STDCALL
,  CONST Charlen length_estima
#endif
,
  CONST Integer REFPTR ntype,
  double REFPTR d,
  double REFPTR z,
  double REFPTR p,
  double sx[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist,
 CONST Charlen length_estima
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08ccf_(n, x, cdf, ntype, d, z, p, sx, ifail)  \
G08CCF(n, x, cdf, ntype, d, z, p, sx, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08ccf_ G08CCF
#else
#define  G08CCF g08ccf_
#endif
extern void NAG_CALL G08CCF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  double (NAG_CALL *cdf)(
                         CONST double REFPTR ),
  CONST Integer REFPTR ntype,
  double REFPTR d,
  double REFPTR z,
  double REFPTR p,
  double sx[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08cdf_(n1, x, n2, y, ntype, d, z, p, sx, sy, ifail)  \
G08CDF(n1, x, n2, y, ntype, d, z, p, sx, sy, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08cdf_ G08CDF
#else
#define  G08CDF g08cdf_
#endif
extern void NAG_CALL G08CDF(
  CONST Integer REFPTR n1,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR n2,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR ntype,
  double REFPTR d,
  double REFPTR z,
  double REFPTR p,
  double sx[] /* 1 dimension */,
  double sy[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08cgf_(nclass, ifreq, cb, dist, par, npest, prob, chisq, p, ndf, eval, chisqi, ifail, length_dist)  \
G08CGF(nclass, ifreq, cb, dist, length_dist, par, npest, prob, chisq, p, ndf, eval, chisqi, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08cgf_ G08CGF
#else
#define  G08CGF g08cgf_
#endif
extern void NAG_CALL G08CGF(
  CONST Integer REFPTR nclass,
  CONST Integer ifreq[] /* 1 dimension */,
  CONST double cb[] /* 1 dimension */,
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npest,
  CONST double prob[] /* 1 dimension */,
  double REFPTR chisq,
  double REFPTR p,
  Integer REFPTR ndf,
  double eval[] /* 1 dimension */,
  double chisqi[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08daf_(x, ldx, k, n, rnk, w, p, ifail)  \
G08DAF(x, ldx, k, n, rnk, w, p, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08daf_ G08DAF
#else
#define  G08DAF g08daf_
#endif
extern void NAG_CALL G08DAF(
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  double rnk[] /* 2 dimension */,
  double REFPTR w,
  double REFPTR p,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08eaf_(cl, n, x, m, maxr, nruns, ncount, ex, cov, ldcov, chi, df, prob, wrk, lwrk, ifail, length_cl)  \
G08EAF(cl, length_cl, n, x, m, maxr, nruns, ncount, ex, cov, ldcov, chi, df, prob, wrk, lwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08eaf_ G08EAF
#else
#define  G08EAF g08eaf_
#endif
extern void NAG_CALL G08EAF(
  CONST char * cl
#ifdef USE_STDCALL
,  CONST Charlen length_cl
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST Integer REFPTR maxr,
  Integer REFPTR nruns,
  Integer ncount[] /* 1 dimension */,
  double ex[] /* 1 dimension */,
  double cov[] /* 2 dimension */,
  CONST Integer REFPTR ldcov,
  double REFPTR chi,
  double REFPTR df,
  double REFPTR prob,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cl
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08ebf_(cl, n, x, msize, lag, ncount, ldc, ex, chi, df, prob, wrk, ifail, length_cl)  \
G08EBF(cl, length_cl, n, x, msize, lag, ncount, ldc, ex, chi, df, prob, wrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08ebf_ G08EBF
#else
#define  G08EBF g08ebf_
#endif
extern void NAG_CALL G08EBF(
  CONST char * cl
#ifdef USE_STDCALL
,  CONST Charlen length_cl
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR msize,
  CONST Integer REFPTR lag,
  Integer ncount[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR ex,
  double REFPTR chi,
  double REFPTR df,
  double REFPTR prob,
  double wrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cl
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08ecf_(cl, n, x, msize, ncount, ldc, ex, chi, df, prob, ifail, length_cl)  \
G08ECF(cl, length_cl, n, x, msize, ncount, ldc, ex, chi, df, prob, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08ecf_ G08ECF
#else
#define  G08ECF g08ecf_
#endif
extern void NAG_CALL G08ECF(
  CONST char * cl
#ifdef USE_STDCALL
,  CONST Charlen length_cl
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR msize,
  Integer ncount[] /* 3 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR ex,
  double REFPTR chi,
  double REFPTR df,
  double REFPTR prob,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cl
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08edf_(cl, n, x, m, maxg, rlo, rup, totlen, ngaps, ncount, ex, chi, df, prob, ifail, length_cl)  \
G08EDF(cl, length_cl, n, x, m, maxg, rlo, rup, totlen, ngaps, ncount, ex, chi, df, prob, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08edf_ G08EDF
#else
#define  G08EDF g08edf_
#endif
extern void NAG_CALL G08EDF(
  CONST char * cl
#ifdef USE_STDCALL
,  CONST Charlen length_cl
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST Integer REFPTR maxg,
  CONST double REFPTR rlo,
  CONST double REFPTR rup,
  CONST double REFPTR totlen,
  Integer REFPTR ngaps,
  Integer ncount[] /* 1 dimension */,
  double ex[] /* 1 dimension */,
  double REFPTR chi,
  double REFPTR df,
  double REFPTR prob,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_cl
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08raf_(ns, nv, nsum, y, ip, x, ldx, idist, nmax, tol, prvr, ldprvr, irank, zin, eta, vapvec, parest, work, lwork, iwa, ifail)  \
G08RAF(ns, nv, nsum, y, ip, x, ldx, idist, nmax, tol, prvr, ldprvr, irank, zin, eta, vapvec, parest, work, lwork, iwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08raf_ G08RAF
#else
#define  G08RAF g08raf_
#endif
extern void NAG_CALL G08RAF(
  CONST Integer REFPTR ns,
  Integer nv[] /* 1 dimension */,
  CONST Integer REFPTR nsum,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR idist,
  CONST Integer REFPTR nmax,
  CONST double REFPTR tol,
  double prvr[] /* 2 dimension */,
  CONST Integer REFPTR ldprvr,
  Integer irank[] /* 1 dimension */,
  double zin[] /* 1 dimension */,
  double eta[] /* 1 dimension */,
  double vapvec[] /* 1 dimension */,
  double parest[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwa[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g08rbf_(ns, nv, nsum, y, ip, x, ldx, icen, gamma, nmax, tol, prvr, ldprvr, irank, zin, eta, vapvec, parest, work, lwork, iwa, ifail)  \
G08RBF(ns, nv, nsum, y, ip, x, ldx, icen, gamma, nmax, tol, prvr, ldprvr, irank, zin, eta, vapvec, parest, work, lwork, iwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g08rbf_ G08RBF
#else
#define  G08RBF g08rbf_
#endif
extern void NAG_CALL G08RBF(
  CONST Integer REFPTR ns,
  CONST Integer nv[] /* 1 dimension */,
  CONST Integer REFPTR nsum,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer icen[] /* 1 dimension */,
  CONST double REFPTR gamma,
  CONST Integer REFPTR nmax,
  CONST double REFPTR tol,
  double prvr[] /* 2 dimension */,
  CONST Integer REFPTR ldprvr,
  Integer irank[] /* 1 dimension */,
  double zin[] /* 1 dimension */,
  double eta[] /* 1 dimension */,
  double vapvec[] /* 1 dimension */,
  double parest[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwa[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g10abf_(mode, weight, n, x, y, wt, rho, yhat, c, ldc, rss, df, res, h, wk, ifail, length_mode, length_weight)  \
G10ABF(mode, length_mode, weight, length_weight, n, x, y, wt, rho, yhat, c, ldc, rss, df, res, h, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g10abf_ G10ABF
#else
#define  G10ABF g10abf_
#endif
extern void NAG_CALL G10ABF(
  CONST char * mode
#ifdef USE_STDCALL
,  CONST Charlen length_mode
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  CONST double REFPTR rho,
  double yhat[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR rss,
  double REFPTR df,
  double res[] /* 1 dimension */,
  double h[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_mode,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g10acf_(method, weight, n, x, y, wt, yhat, c, ldc, rss, df, res, h, crit, rho, u, tol, maxcal, wk, ifail, length_method, length_weight)  \
G10ACF(method, length_method, weight, length_weight, n, x, y, wt, yhat, c, ldc, rss, df, res, h, crit, rho, u, tol, maxcal, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g10acf_ G10ACF
#else
#define  G10ACF g10acf_
#endif
extern void NAG_CALL G10ACF(
  CONST char * method
#ifdef USE_STDCALL
,  CONST Charlen length_method
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  double yhat[] /* 1 dimension */,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldc,
  double REFPTR rss,
  double REFPTR df,
  double res[] /* 1 dimension */,
  double h[] /* 1 dimension */,
  double REFPTR crit,
  double REFPTR rho,
  CONST double REFPTR u,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxcal,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_method,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g10baf_(n, x, window, slo, shi, ns, smooth, t, usefft, fft, ifail)  \
G10BAF(n, x, window, slo, shi, ns, smooth, t, usefft, fft, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g10baf_ G10BAF
#else
#define  G10BAF g10baf_
#endif
extern void NAG_CALL G10BAF(
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR window,
  CONST double REFPTR slo,
  CONST double REFPTR shi,
  CONST Integer REFPTR ns,
  double smooth[] /* 1 dimension */,
  double t[] /* 1 dimension */,
  CONST logical REFPTR usefft,
  double fft[] /* 1 dimension */,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g10zaf_(weight, n, x, y, wt, nord, xord, yord, wtord, rss, iwrk, ifail, length_weight)  \
G10ZAF(weight, length_weight, n, x, y, wt, nord, xord, yord, wtord, rss, iwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g10zaf_ G10ZAF
#else
#define  G10ZAF g10zaf_
#endif
extern void NAG_CALL G10ZAF(
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  Integer REFPTR nord,
  double xord[] /* 1 dimension */,
  double yord[] /* 1 dimension */,
  double wtord[] /* 1 dimension */,
  double REFPTR rss,
  Integer iwrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g11aaf_(nrow, ncol, nobs, ldnobs, expt, chist, prob, chi, g, df, ifail)  \
G11AAF(nrow, ncol, nobs, ldnobs, expt, chist, prob, chi, g, df, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g11aaf_ G11AAF
#else
#define  G11AAF g11aaf_
#endif
extern void NAG_CALL G11AAF(
  CONST Integer REFPTR nrow,
  CONST Integer REFPTR ncol,
  CONST Integer nobs[] /* 2 dimension */,
  CONST Integer REFPTR ldnobs,
  double expt[] /* 2 dimension */,
  double chist[] /* 2 dimension */,
  double REFPTR prob,
  double REFPTR chi,
  double REFPTR g,
  double REFPTR df,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g11baf_(stat, update, weight, n, nfac, isf, lfac, ifac, ldf, y, wt, table, maxt, ncells, ndim, idim, icount, auxt, iwk, ifail, length_stat, length_update, length_weight)  \
G11BAF(stat, length_stat, update, length_update, weight, length_weight, n, nfac, isf, lfac, ifac, ldf, y, wt, table, maxt, ncells, ndim, idim, icount, auxt, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g11baf_ G11BAF
#else
#define  G11BAF g11baf_
#endif
extern void NAG_CALL G11BAF(
  CONST char * stat
#ifdef USE_STDCALL
,  CONST Charlen length_stat
#endif
,
  CONST char * update
#ifdef USE_STDCALL
,  CONST Charlen length_update
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nfac,
  CONST Integer isf[] /* 1 dimension */,
  CONST Integer lfac[] /* 1 dimension */,
  CONST Integer ifac[] /* 2 dimension */,
  CONST Integer REFPTR ldf,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  double table[] /* 1 dimension */,
  CONST Integer REFPTR maxt,
  Integer REFPTR ncells,
  Integer REFPTR ndim,
  Integer idim[] /* 1 dimension */,
  Integer icount[] /* 1 dimension */,
  double auxt[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_stat,
 CONST Charlen length_update,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g11bbf_(typ, weight, n, nfac, isf, lfac, ifac, ldf, percnt, y, wt, table, maxt, ncells, ndim, idim, icount, iwk, wk, ifail, length_typ, length_weight)  \
G11BBF(typ, length_typ, weight, length_weight, n, nfac, isf, lfac, ifac, ldf, percnt, y, wt, table, maxt, ncells, ndim, idim, icount, iwk, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g11bbf_ G11BBF
#else
#define  G11BBF g11bbf_
#endif
extern void NAG_CALL G11BBF(
  CONST char * typ
#ifdef USE_STDCALL
,  CONST Charlen length_typ
#endif
,
  CONST char * weight
#ifdef USE_STDCALL
,  CONST Charlen length_weight
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR nfac,
  CONST Integer isf[] /* 1 dimension */,
  CONST Integer lfac[] /* 1 dimension */,
  CONST Integer ifac[] /* 2 dimension */,
  CONST Integer REFPTR ldf,
  CONST double REFPTR percnt,
  CONST double y[] /* 1 dimension */,
  CONST double wt[] /* 1 dimension */,
  double table[] /* 1 dimension */,
  CONST Integer REFPTR maxt,
  Integer REFPTR ncells,
  Integer REFPTR ndim,
  Integer idim[] /* 1 dimension */,
  Integer icount[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_typ,
 CONST Charlen length_weight
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g11bcf_(stat, table, ncells, ndim, idim, isdim, stable, maxst, mcells, mdim, mlevel, auxt, iwk, wk, ifail, length_stat)  \
G11BCF(stat, length_stat, table, ncells, ndim, idim, isdim, stable, maxst, mcells, mdim, mlevel, auxt, iwk, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g11bcf_ G11BCF
#else
#define  G11BCF g11bcf_
#endif
extern void NAG_CALL G11BCF(
  CONST char * stat
#ifdef USE_STDCALL
,  CONST Charlen length_stat
#endif
,
  CONST double table[] /* 1 dimension */,
  CONST Integer REFPTR ncells,
  CONST Integer REFPTR ndim,
  CONST Integer idim[] /* 1 dimension */,
  CONST Integer isdim[] /* 1 dimension */,
  double stable[] /* 1 dimension */,
  CONST Integer REFPTR maxst,
  Integer REFPTR mcells,
  Integer REFPTR mdim,
  Integer mlevel[] /* 1 dimension */,
  double auxt[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_stat
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g11caf_(n, m, ns, z, ldz, isz, ip, ic, isi, dev, b, se, sc, cov, nca, nct, tol, maxit, iprint, wk, lwk, ifail)  \
G11CAF(n, m, ns, z, ldz, isz, ip, ic, isi, dev, b, se, sc, cov, nca, nct, tol, maxit, iprint, wk, lwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g11caf_ G11CAF
#else
#define  G11CAF g11caf_
#endif
extern void NAG_CALL G11CAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ns,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST Integer isz[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST Integer ic[] /* 1 dimension */,
  CONST Integer isi[] /* 1 dimension */,
  double REFPTR dev,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double sc[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  Integer nca[] /* 1 dimension */,
  Integer nct[] /* 1 dimension */,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR iprint,
  double wk[] /* 1 dimension */,
  CONST Integer REFPTR lwk,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g11saf_(ip, n, gprob, ns, x, ldx, irl, a, c, iprint, cgetol, maxit, chisqr, ishow, niter, alpha, pigam, cm, ldcm, g, expp, ldexpp, obs, exf, y, xl, iob, rlogl, chi, idf, siglev, w, lw, ifail)  \
G11SAF(ip, n, gprob, ns, x, ldx, irl, a, c, iprint, cgetol, maxit, chisqr, ishow, niter, alpha, pigam, cm, ldcm, g, expp, ldexpp, obs, exf, y, xl, iob, rlogl, chi, idf, siglev, w, lw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g11saf_ G11SAF
#else
#define  G11SAF g11saf_
#endif
extern void NAG_CALL G11SAF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR n,
  CONST logical REFPTR gprob,
  CONST Integer REFPTR ns,
  logical x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer irl[] /* 1 dimension */,
  double a[] /* 1 dimension */,
  double c[] /* 1 dimension */,
  CONST Integer REFPTR iprint,
  CONST double REFPTR cgetol,
  CONST Integer REFPTR maxit,
  CONST logical REFPTR chisqr,
  CONST Integer REFPTR ishow,
  Integer REFPTR niter,
  double alpha[] /* 1 dimension */,
  double pigam[] /* 1 dimension */,
  double cm[] /* 2 dimension */,
  CONST Integer REFPTR ldcm,
  double g[] /* 1 dimension */,
  double expp[] /* 2 dimension */,
  CONST Integer REFPTR ldexpp,
  double obs[] /* 2 dimension */,
  double exf[] /* 1 dimension */,
  double y[] /* 1 dimension */,
  double xl[] /* 1 dimension */,
  Integer iob[] /* 1 dimension */,
  double REFPTR rlogl,
  double REFPTR chi,
  Integer REFPTR idf,
  double REFPTR siglev,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR lw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g11sbf_(ip, n, ns, x, ldx, irl, ifail)  \
G11SBF(ip, n, ns, x, ldx, irl, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g11sbf_ G11SBF
#else
#define  G11SBF g11sbf_
#endif
extern void NAG_CALL G11SBF(
  CONST Integer REFPTR ip,
  CONST Integer REFPTR n,
  Integer REFPTR ns,
  logical x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  Integer irl[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g12aaf_(n, t, ic, freq, ifreq, nd, tp, p, psig, iwk, ifail, length_freq)  \
G12AAF(n, t, ic, freq, length_freq, ifreq, nd, tp, p, psig, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g12aaf_ G12AAF
#else
#define  G12AAF g12aaf_
#endif
extern void NAG_CALL G12AAF(
  CONST Integer REFPTR n,
  CONST double t[] /* 1 dimension */,
  CONST Integer ic[] /* 1 dimension */,
  CONST char * freq
#ifdef USE_STDCALL
,  CONST Charlen length_freq
#endif
,
  CONST Integer ifreq[] /* 1 dimension */,
  Integer REFPTR nd,
  double tp[] /* 1 dimension */,
  double p[] /* 1 dimension */,
  double psig[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_freq
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g12baf_(offset, n, m, ns, z, ldz, isz, ip, t, ic, omega, isi, dev, b, se, sc, cov, res, nd, tp, sur, ndmax, tol, maxit, iprint, wk, iwk, ifail, length_offset)  \
G12BAF(offset, length_offset, n, m, ns, z, ldz, isz, ip, t, ic, omega, isi, dev, b, se, sc, cov, res, nd, tp, sur, ndmax, tol, maxit, iprint, wk, iwk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g12baf_ G12BAF
#else
#define  G12BAF g12baf_
#endif
extern void NAG_CALL G12BAF(
  CONST char * offset
#ifdef USE_STDCALL
,  CONST Charlen length_offset
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ns,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST Integer isz[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double t[] /* 1 dimension */,
  CONST Integer ic[] /* 1 dimension */,
  CONST double omega[] /* 1 dimension */,
  CONST Integer isi[] /* 1 dimension */,
  double REFPTR dev,
  double b[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double sc[] /* 1 dimension */,
  double cov[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  Integer REFPTR nd,
  double tp[] /* 1 dimension */,
  double sur[] /* 2 dimension */,
  CONST Integer REFPTR ndmax,
  CONST double REFPTR tol,
  CONST Integer REFPTR maxit,
  CONST Integer REFPTR iprint,
  double wk[] /* 1 dimension */,
  Integer iwk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_offset
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g12zaf_(n, m, ns, z, ldz, isz, ip, t, ic, isi, num, ixs, nxs, x, mxn, id, nd, tp, irs, ifail)  \
G12ZAF(n, m, ns, z, ldz, isz, ip, t, ic, isi, num, ixs, nxs, x, mxn, id, nd, tp, irs, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g12zaf_ G12ZAF
#else
#define  G12ZAF g12zaf_
#endif
extern void NAG_CALL G12ZAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ns,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR ldz,
  CONST Integer isz[] /* 1 dimension */,
  CONST Integer REFPTR ip,
  CONST double t[] /* 1 dimension */,
  CONST Integer ic[] /* 1 dimension */,
  CONST Integer isi[] /* 1 dimension */,
  Integer REFPTR num,
  Integer ixs[] /* 1 dimension */,
  Integer REFPTR nxs,
  double x[] /* 2 dimension */,
  CONST Integer REFPTR mxn,
  Integer id[] /* 1 dimension */,
  Integer REFPTR nd,
  double tp[] /* 1 dimension */,
  Integer irs[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13aaf_(x, nx, nd, nds, ns, xd, nxd, ifail)  \
G13AAF(x, nx, nd, nds, ns, xd, nxd, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13aaf_ G13AAF
#else
#define  G13AAF g13aaf_
#endif
extern void NAG_CALL G13AAF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nx,
  CONST Integer REFPTR nd,
  CONST Integer REFPTR nds,
  CONST Integer REFPTR ns,
  double xd[] /* 1 dimension */,
  Integer REFPTR nxd,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13abf_(x, nx, nk, xm, xv, r, stat, ifail)  \
G13ABF(x, nx, nk, xm, xv, r, stat, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13abf_ G13ABF
#else
#define  G13ABF g13abf_
#endif
extern void NAG_CALL G13ABF(
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nx,
  CONST Integer REFPTR nk,
  double REFPTR xm,
  double REFPTR xv,
  double r[] /* 1 dimension */,
  double REFPTR stat,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13acf_(r, nk, nl, p, v, ar, nvl, ifail)  \
G13ACF(r, nk, nl, p, v, ar, nvl, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13acf_ G13ACF
#else
#define  G13ACF g13acf_
#endif
extern void NAG_CALL G13ACF(
  CONST double r[] /* 1 dimension */,
  CONST Integer REFPTR nk,
  CONST Integer REFPTR nl,
  double p[] /* 1 dimension */,
  double v[] /* 1 dimension */,
  double ar[] /* 1 dimension */,
  Integer REFPTR nvl,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13adf_(mr, r, nk, xv, npar, wa, nwa, par, rv, isf, ifail)  \
G13ADF(mr, r, nk, xv, npar, wa, nwa, par, rv, isf, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13adf_ G13ADF
#else
#define  G13ADF g13adf_
#endif
extern void NAG_CALL G13ADF(
  CONST Integer mr[] /* 1 dimension */,
  CONST double r[] /* 1 dimension */,
  CONST Integer REFPTR nk,
  CONST double REFPTR xv,
  CONST Integer REFPTR npar,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR nwa,
  double par[] /* 1 dimension */,
  double REFPTR rv,
  Integer isf[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13aef_(mr, par, npar, c, kfc, x, nx, icount, ex, exr, al, iex, s, g, igh, sd, h, ldh, st, ist, nst, piv, kpiv, nit, itc, zsp, kzsp, isf, wa, iwa, hc, ifail)  \
G13AEF(mr, par, npar, c, kfc, x, nx, icount, ex, exr, al, iex, s, g, igh, sd, h, ldh, st, ist, nst, piv, kpiv, nit, itc, zsp, kzsp, isf, wa, iwa, hc, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13aef_ G13AEF
#else
#define  G13AEF g13aef_
#endif
extern void NAG_CALL G13AEF(
  CONST Integer mr[] /* 1 dimension */,
  double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  double REFPTR c,
  CONST Integer REFPTR kfc,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nx,
  Integer icount[] /* 1 dimension */,
  double ex[] /* 1 dimension */,
  double exr[] /* 1 dimension */,
  double al[] /* 1 dimension */,
  CONST Integer REFPTR iex,
  double REFPTR s,
  double g[] /* 1 dimension */,
  CONST Integer REFPTR igh,
  double sd[] /* 1 dimension */,
  double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  double st[] /* 1 dimension */,
  CONST Integer REFPTR ist,
  Integer REFPTR nst,
  void (NAG_CALL *piv)(
                       CONST Integer[],
                       CONST double[],
                       CONST Integer REFPTR ,
                       CONST double REFPTR ,
                       CONST Integer REFPTR ,
                       CONST Integer[],
                       CONST double REFPTR ,
                       CONST double[],
                       CONST double[],
                       CONST Integer REFPTR ,
                       CONST Integer REFPTR ,
                       CONST Integer REFPTR ,
                       CONST double[]),
  CONST Integer REFPTR kpiv,
  CONST Integer REFPTR nit,
  Integer REFPTR itc,
  double zsp[] /* 1 dimension */,
  CONST Integer REFPTR kzsp,
  Integer isf[] /* 1 dimension */,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  double hc[] /* 2 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13aff_(mr, par, npar, c, kfc, x, nx, s, ndf, sd, nppc, cm, ldcm, st, nst, kpiv, nit, itc, isf, res, ires, nres, ifail)  \
G13AFF(mr, par, npar, c, kfc, x, nx, s, ndf, sd, nppc, cm, ldcm, st, nst, kpiv, nit, itc, isf, res, ires, nres, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13aff_ G13AFF
#else
#define  G13AFF g13aff_
#endif
extern void NAG_CALL G13AFF(
  CONST Integer mr[] /* 1 dimension */,
  double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  double REFPTR c,
  CONST Integer REFPTR kfc,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nx,
  double REFPTR s,
  Integer REFPTR ndf,
  double sd[] /* 1 dimension */,
  CONST Integer REFPTR nppc,
  double cm[] /* 2 dimension */,
  CONST Integer REFPTR ldcm,
  double st[] /* 1 dimension */,
  Integer REFPTR nst,
  CONST Integer REFPTR kpiv,
  CONST Integer REFPTR nit,
  Integer REFPTR itc,
  Integer isf[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  CONST Integer REFPTR ires,
  Integer REFPTR nres,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13afz_(mr, par, npar, c, kfc, icount, s, g, h, ldh, igh, itc, zsp)  \
G13AFZ(mr, par, npar, c, kfc, icount, s, g, h, ldh, igh, itc, zsp) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13afz_ G13AFZ
#else
#define  G13AFZ g13afz_
#endif
extern void NAG_CALL G13AFZ(
  CONST Integer mr[] /* 1 dimension */,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  CONST double REFPTR c,
  CONST Integer REFPTR kfc,
  CONST Integer icount[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double g[] /* 1 dimension */,
  CONST double h[] /* 2 dimension */,
  CONST Integer REFPTR ldh,
  CONST Integer REFPTR igh,
  CONST Integer REFPTR itc,
  CONST double zsp[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13agf_(st, nst, mr, par, npar, c, anx, nuv, anexr, wa, nwa, ifail)  \
G13AGF(st, nst, mr, par, npar, c, anx, nuv, anexr, wa, nwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13agf_ G13AGF
#else
#define  G13AGF g13agf_
#endif
extern void NAG_CALL G13AGF(
  double st[] /* 1 dimension */,
  CONST Integer REFPTR nst,
  CONST Integer mr[] /* 1 dimension */,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  CONST double REFPTR c,
  CONST double anx[] /* 1 dimension */,
  CONST Integer REFPTR nuv,
  double anexr[] /* 1 dimension */,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR nwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13ahf_(st, nst, mr, par, npar, c, rms, nfv, fva, fsd, wa, nwa, ifail)  \
G13AHF(st, nst, mr, par, npar, c, rms, nfv, fva, fsd, wa, nwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13ahf_ G13AHF
#else
#define  G13AHF g13ahf_
#endif
extern void NAG_CALL G13AHF(
  CONST double st[] /* 1 dimension */,
  CONST Integer REFPTR nst,
  CONST Integer mr[] /* 1 dimension */,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  double REFPTR c,
  CONST double REFPTR rms,
  CONST Integer REFPTR nfv,
  double fva[] /* 1 dimension */,
  double fsd[] /* 1 dimension */,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR nwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13ajf_(mr, par, npar, c, kfc, x, nx, rms, st, ist, nst, nfv, fva, fsd, ifv, isf, w, iw, ifail)  \
G13AJF(mr, par, npar, c, kfc, x, nx, rms, st, ist, nst, nfv, fva, fsd, ifv, isf, w, iw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13ajf_ G13AJF
#else
#define  G13AJF g13ajf_
#endif
extern void NAG_CALL G13AJF(
  CONST Integer mr[] /* 1 dimension */,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  CONST double REFPTR c,
  CONST Integer REFPTR kfc,
  CONST double x[] /* 1 dimension */,
  CONST Integer REFPTR nx,
  double REFPTR rms,
  double st[] /* 1 dimension */,
  CONST Integer REFPTR ist,
  Integer REFPTR nst,
  CONST Integer REFPTR nfv,
  double fva[] /* 1 dimension */,
  double fsd[] /* 1 dimension */,
  CONST Integer REFPTR ifv,
  Integer isf[] /* 1 dimension */,
  double w[] /* 1 dimension */,
  CONST Integer REFPTR iw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13amf_(mode, itype, p, param, n, y, k, init, nf, fv, fse, yhat, res, dv, ad, r, ifail)  \
G13AMF(mode, itype, p, param, n, y, k, init, nf, fv, fse, yhat, res, dv, ad, r, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13amf_ G13AMF
#else
#define  G13AMF g13amf_
#endif
extern void NAG_CALL G13AMF(
  CONST Integer REFPTR mode,
  CONST Integer REFPTR itype,
  CONST Integer REFPTR p,
  CONST double param[] /* 1 dimension */,
  CONST Integer REFPTR n,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR k,
  double init[] /* 1 dimension */,
  CONST Integer REFPTR nf,
  double fv[] /* 1 dimension */,
  double fse[] /* 1 dimension */,
  double yhat[] /* 1 dimension */,
  double res[] /* 1 dimension */,
  double REFPTR dv,
  double REFPTR ad,
  double r[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13asf_(n, v, mr, m, par, npar, ishow, r, rcm, ldrcm, chi, idf, siglev, iw, liw, work, lwork, ifail)  \
G13ASF(n, v, mr, m, par, npar, ishow, r, rcm, ldrcm, chi, idf, siglev, iw, liw, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13asf_ G13ASF
#else
#define  G13ASF g13asf_
#endif
extern void NAG_CALL G13ASF(
  CONST Integer REFPTR n,
  CONST double v[] /* 1 dimension */,
  CONST Integer mr[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  CONST Integer REFPTR ishow,
  double r[] /* 1 dimension */,
  double rcm[] /* 2 dimension */,
  CONST Integer REFPTR ldrcm,
  double REFPTR chi,
  Integer REFPTR idf,
  double REFPTR siglev,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13auf_(n, z, m, ngrps, rs, y, mean, ifail, length_rs)  \
G13AUF(n, z, m, ngrps, rs, length_rs, y, mean, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13auf_ G13AUF
#else
#define  G13AUF g13auf_
#endif
extern void NAG_CALL G13AUF(
  CONST Integer REFPTR n,
  CONST double z[] /* 1 dimension */,
  CONST Integer REFPTR m,
  CONST Integer REFPTR ngrps,
  CONST char * rs
#ifdef USE_STDCALL
,  CONST Charlen length_rs
#endif
,
  double y[] /* 1 dimension */,
  double mean[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_rs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13baf_(y, ny, mr, nmr, par, npar, cy, wa, nwa, b, nb, ifail)  \
G13BAF(y, ny, mr, nmr, par, npar, cy, wa, nwa, b, nb, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13baf_ G13BAF
#else
#define  G13BAF g13baf_
#endif
extern void NAG_CALL G13BAF(
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR ny,
  CONST Integer mr[] /* 1 dimension */,
  CONST Integer REFPTR nmr,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  CONST double REFPTR cy,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR nwa,
  double b[] /* 1 dimension */,
  CONST Integer REFPTR nb,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13bbf_(y, ny, mr, nmr, par, npar, cy, wa, iwa, b, nb, ifail)  \
G13BBF(y, ny, mr, nmr, par, npar, cy, wa, iwa, b, nb, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13bbf_ G13BBF
#else
#define  G13BBF g13bbf_
#endif
extern void NAG_CALL G13BBF(
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR ny,
  CONST Integer mr[] /* 1 dimension */,
  CONST Integer REFPTR nmr,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  CONST double REFPTR cy,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  double b[] /* 1 dimension */,
  CONST Integer REFPTR nb,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13bcf_(x, y, nxy, nl, s, r0, r, stat, ifail)  \
G13BCF(x, y, nxy, nl, s, r0, r, stat, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13bcf_ G13BCF
#else
#define  G13BCF g13bcf_
#endif
extern void NAG_CALL G13BCF(
  CONST double x[] /* 1 dimension */,
  CONST double y[] /* 1 dimension */,
  CONST Integer REFPTR nxy,
  CONST Integer REFPTR nl,
  double REFPTR s,
  double REFPTR r0,
  double r[] /* 1 dimension */,
  double REFPTR stat,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13bdf_(r0, r, nl, nna, s, nwds, wa, iwa, wds, isf, ifail)  \
G13BDF(r0, r, nl, nna, s, nwds, wa, iwa, wds, isf, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13bdf_ G13BDF
#else
#define  G13BDF g13bdf_
#endif
extern void NAG_CALL G13BDF(
  CONST double REFPTR r0,
  CONST double r[] /* 1 dimension */,
  CONST Integer REFPTR nl,
  CONST Integer nna[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST Integer REFPTR nwds,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  double wds[] /* 1 dimension */,
  Integer isf[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13bef_(mr, nser, mt, para, npara, kfc, nxxy, xxy, ldxxy, kef, nit, kzsp, zsp, itc, sd, cm, ldcm, s, d, ndf, kzef, res, sttf, isttf, nsttf, wa, iwa, mwa, imwa, kpriv, ifail)  \
G13BEF(mr, nser, mt, para, npara, kfc, nxxy, xxy, ldxxy, kef, nit, kzsp, zsp, itc, sd, cm, ldcm, s, d, ndf, kzef, res, sttf, isttf, nsttf, wa, iwa, mwa, imwa, kpriv, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13bef_ G13BEF
#else
#define  G13BEF g13bef_
#endif
extern void NAG_CALL G13BEF(
  CONST Integer mr[] /* 1 dimension */,
  CONST Integer REFPTR nser,
  CONST Integer mt[] /* 2 dimension */,
  double para[] /* 1 dimension */,
  CONST Integer REFPTR npara,
  CONST Integer REFPTR kfc,
  CONST Integer REFPTR nxxy,
  double xxy[] /* 2 dimension */,
  CONST Integer REFPTR ldxxy,
  CONST Integer REFPTR kef,
  CONST Integer REFPTR nit,
  CONST Integer REFPTR kzsp,
  double zsp[] /* 1 dimension */,
  Integer REFPTR itc,
  double sd[] /* 1 dimension */,
  double cm[] /* 2 dimension */,
  CONST Integer REFPTR ldcm,
  double REFPTR s,
  double REFPTR d,
  Integer REFPTR ndf,
  CONST Integer REFPTR kzef,
  double res[] /* 1 dimension */,
  double sttf[] /* 1 dimension */,
  CONST Integer REFPTR isttf,
  Integer REFPTR nsttf,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  Integer mwa[] /* 1 dimension */,
  CONST Integer REFPTR imwa,
  CONST Integer REFPTR kpriv,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13bgf_(sttf, nsttf, mr, nser, mt, para, npara, nnv, xxyn, ldxxyn, kzef, res, wa, iwa, ifail)  \
G13BGF(sttf, nsttf, mr, nser, mt, para, npara, nnv, xxyn, ldxxyn, kzef, res, wa, iwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13bgf_ G13BGF
#else
#define  G13BGF g13bgf_
#endif
extern void NAG_CALL G13BGF(
  double sttf[] /* 1 dimension */,
  CONST Integer REFPTR nsttf,
  CONST Integer mr[] /* 1 dimension */,
  CONST Integer REFPTR nser,
  CONST Integer mt[] /* 2 dimension */,
  CONST double para[] /* 1 dimension */,
  CONST Integer REFPTR npara,
  CONST Integer REFPTR nnv,
  double xxyn[] /* 2 dimension */,
  CONST Integer REFPTR ldxxyn,
  CONST Integer REFPTR kzef,
  double res[] /* 1 dimension */,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13bhf_(sttf, nsttf, mr, nser, mt, para, npara, nfv, xxyn, ldxxyn, mrx, parx, ldparx, rmsxy, kzef, fva, fsd, wa, iwa, ifail)  \
G13BHF(sttf, nsttf, mr, nser, mt, para, npara, nfv, xxyn, ldxxyn, mrx, parx, ldparx, rmsxy, kzef, fva, fsd, wa, iwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13bhf_ G13BHF
#else
#define  G13BHF g13bhf_
#endif
extern void NAG_CALL G13BHF(
  CONST double sttf[] /* 1 dimension */,
  CONST Integer REFPTR nsttf,
  Integer mr[] /* 1 dimension */,
  CONST Integer REFPTR nser,
  CONST Integer mt[] /* 2 dimension */,
  CONST double para[] /* 1 dimension */,
  CONST Integer REFPTR npara,
  CONST Integer REFPTR nfv,
  double xxyn[] /* 2 dimension */,
  CONST Integer REFPTR ldxxyn,
  Integer mrx[] /* 2 dimension */,
  CONST double parx[] /* 2 dimension */,
  CONST Integer REFPTR ldparx,
  CONST double rmsxy[] /* 1 dimension */,
  CONST Integer REFPTR kzef,
  double fva[] /* 1 dimension */,
  double fsd[] /* 1 dimension */,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13bjf_(mr, nser, mt, para, npara, kfc, nev, nfv, xxy, ldxxy, kzef, rmsxy, mrx, parx, ldparx, fva, fsd, sttf, isttf, nsttf, wa, iwa, mwa, imwa, ifail)  \
G13BJF(mr, nser, mt, para, npara, kfc, nev, nfv, xxy, ldxxy, kzef, rmsxy, mrx, parx, ldparx, fva, fsd, sttf, isttf, nsttf, wa, iwa, mwa, imwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13bjf_ G13BJF
#else
#define  G13BJF g13bjf_
#endif
extern void NAG_CALL G13BJF(
  Integer mr[] /* 1 dimension */,
  CONST Integer REFPTR nser,
  CONST Integer mt[] /* 2 dimension */,
  double para[] /* 1 dimension */,
  CONST Integer REFPTR npara,
  CONST Integer REFPTR kfc,
  CONST Integer REFPTR nev,
  CONST Integer REFPTR nfv,
  double xxy[] /* 2 dimension */,
  CONST Integer REFPTR ldxxy,
  CONST Integer REFPTR kzef,
  double rmsxy[] /* 1 dimension */,
  Integer mrx[] /* 2 dimension */,
  CONST double parx[] /* 2 dimension */,
  CONST Integer REFPTR ldparx,
  double fva[] /* 1 dimension */,
  double fsd[] /* 1 dimension */,
  double sttf[] /* 1 dimension */,
  CONST Integer REFPTR isttf,
  Integer REFPTR nsttf,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  Integer mwa[] /* 1 dimension */,
  CONST Integer REFPTR imwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13caf_(nx, mtx, px, iw, mw, ic, nc, c, kc, l, lg, nxg, xg, ng, stats, ifail)  \
G13CAF(nx, mtx, px, iw, mw, ic, nc, c, kc, l, lg, nxg, xg, ng, stats, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13caf_ G13CAF
#else
#define  G13CAF g13caf_
#endif
extern void NAG_CALL G13CAF(
  CONST Integer REFPTR nx,
  CONST Integer REFPTR mtx,
  CONST double REFPTR px,
  CONST Integer REFPTR iw,
  CONST Integer REFPTR mw,
  CONST Integer REFPTR ic,
  CONST Integer REFPTR nc,
  double c[] /* 1 dimension */,
  CONST Integer REFPTR kc,
  CONST Integer REFPTR l,
  CONST Integer REFPTR lg,
  CONST Integer REFPTR nxg,
  double xg[] /* 1 dimension */,
  Integer REFPTR ng,
  double stats[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13cbf_(nx, mtx, px, mw, pw, l, kc, lg, xg, ng, stats, ifail)  \
G13CBF(nx, mtx, px, mw, pw, l, kc, lg, xg, ng, stats, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13cbf_ G13CBF
#else
#define  G13CBF g13cbf_
#endif
extern void NAG_CALL G13CBF(
  CONST Integer REFPTR nx,
  CONST Integer REFPTR mtx,
  CONST double REFPTR px,
  CONST Integer REFPTR mw,
  CONST double REFPTR pw,
  CONST Integer REFPTR l,
  CONST Integer REFPTR kc,
  CONST Integer REFPTR lg,
  double xg[] /* 1 dimension */,
  Integer REFPTR ng,
  double stats[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13ccf_(nxy, mtxy, pxy, iw, mw, ish, ic, nc, cxy, cyx, kc, l, nxyg, xg, yg, ng, ifail)  \
G13CCF(nxy, mtxy, pxy, iw, mw, ish, ic, nc, cxy, cyx, kc, l, nxyg, xg, yg, ng, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13ccf_ G13CCF
#else
#define  G13CCF g13ccf_
#endif
extern void NAG_CALL G13CCF(
  CONST Integer REFPTR nxy,
  CONST Integer REFPTR mtxy,
  CONST double REFPTR pxy,
  CONST Integer REFPTR iw,
  CONST Integer REFPTR mw,
  CONST Integer REFPTR ish,
  CONST Integer REFPTR ic,
  CONST Integer REFPTR nc,
  double cxy[] /* 1 dimension */,
  double cyx[] /* 1 dimension */,
  CONST Integer REFPTR kc,
  CONST Integer REFPTR l,
  CONST Integer REFPTR nxyg,
  double xg[] /* 1 dimension */,
  double yg[] /* 1 dimension */,
  Integer REFPTR ng,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13cdf_(nxy, mtxy, pxy, mw, ish, pw, l, kc, xg, yg, ng, ifail)  \
G13CDF(nxy, mtxy, pxy, mw, ish, pw, l, kc, xg, yg, ng, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13cdf_ G13CDF
#else
#define  G13CDF g13cdf_
#endif
extern void NAG_CALL G13CDF(
  CONST Integer REFPTR nxy,
  CONST Integer REFPTR mtxy,
  CONST double REFPTR pxy,
  CONST Integer REFPTR mw,
  CONST Integer REFPTR ish,
  CONST double REFPTR pw,
  CONST Integer REFPTR l,
  CONST Integer REFPTR kc,
  double xg[] /* 1 dimension */,
  double yg[] /* 1 dimension */,
  Integer REFPTR ng,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13cef_(xg, yg, xyrg, xyig, ng, stats, ca, calw, caup, t, sc, sclw, scup, ifail)  \
G13CEF(xg, yg, xyrg, xyig, ng, stats, ca, calw, caup, t, sc, sclw, scup, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13cef_ G13CEF
#else
#define  G13CEF g13cef_
#endif
extern void NAG_CALL G13CEF(
  CONST double xg[] /* 1 dimension */,
  CONST double yg[] /* 1 dimension */,
  CONST double xyrg[] /* 1 dimension */,
  CONST double xyig[] /* 1 dimension */,
  CONST Integer REFPTR ng,
  CONST double stats[] /* 1 dimension */,
  double ca[] /* 1 dimension */,
  double calw[] /* 1 dimension */,
  double caup[] /* 1 dimension */,
  double REFPTR t,
  double sc[] /* 1 dimension */,
  double sclw[] /* 1 dimension */,
  double scup[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13cff_(xg, yg, xyrg, xyig, ng, stats, gn, gnlw, gnup, ph, phlw, phup, ifail)  \
G13CFF(xg, yg, xyrg, xyig, ng, stats, gn, gnlw, gnup, ph, phlw, phup, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13cff_ G13CFF
#else
#define  G13CFF g13cff_
#endif
extern void NAG_CALL G13CFF(
  CONST double xg[] /* 1 dimension */,
  CONST double yg[] /* 1 dimension */,
  CONST double xyrg[] /* 1 dimension */,
  CONST double xyig[] /* 1 dimension */,
  CONST Integer REFPTR ng,
  CONST double stats[] /* 1 dimension */,
  double gn[] /* 1 dimension */,
  double gnlw[] /* 1 dimension */,
  double gnup[] /* 1 dimension */,
  double ph[] /* 1 dimension */,
  double phlw[] /* 1 dimension */,
  double phup[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13cgf_(xg, yg, xyrg, xyig, ng, stats, l, n, er, erlw, erup, rf, rfse, ifail)  \
G13CGF(xg, yg, xyrg, xyig, ng, stats, l, n, er, erlw, erup, rf, rfse, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13cgf_ G13CGF
#else
#define  G13CGF g13cgf_
#endif
extern void NAG_CALL G13CGF(
  CONST double xg[] /* 1 dimension */,
  CONST double yg[] /* 1 dimension */,
  CONST double xyrg[] /* 1 dimension */,
  CONST double xyig[] /* 1 dimension */,
  CONST Integer REFPTR ng,
  CONST double stats[] /* 1 dimension */,
  CONST Integer REFPTR l,
  CONST Integer REFPTR n,
  double er[] /* 1 dimension */,
  double REFPTR erlw,
  double REFPTR erup,
  double rf[] /* 1 dimension */,
  double REFPTR rfse,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dbf_(c0, c, ldc0, ns, nl, nk, p, v0, v, d, db, w, wb, nvp, wa, iwa, ifail)  \
G13DBF(c0, c, ldc0, ns, nl, nk, p, v0, v, d, db, w, wb, nvp, wa, iwa, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dbf_ G13DBF
#else
#define  G13DBF g13dbf_
#endif
extern void NAG_CALL G13DBF(
  CONST double c0[] /* 2 dimension */,
  CONST double c[] /* 3 dimension */,
  CONST Integer REFPTR ldc0,
  CONST Integer REFPTR ns,
  CONST Integer REFPTR nl,
  CONST Integer REFPTR nk,
  double p[] /* 1 dimension */,
  double REFPTR v0,
  double v[] /* 1 dimension */,
  double d[] /* 3 dimension */,
  double db[] /* 2 dimension */,
  double w[] /* 3 dimension */,
  double wb[] /* 3 dimension */,
  Integer REFPTR nvp,
  double wa[] /* 1 dimension */,
  CONST Integer REFPTR iwa,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dcf_(k, n, ip, iq, mean, par, npar, qq, kmax, w, parhld, exact, iprint, cgetol, maxcal, ishow, niter, rlogl, v, g, cm, ldcm, work, lwork, iw, liw, ifail)  \
G13DCF(k, n, ip, iq, mean, par, npar, qq, kmax, w, parhld, exact, iprint, cgetol, maxcal, ishow, niter, rlogl, v, g, cm, ldcm, work, lwork, iw, liw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dcf_ G13DCF
#else
#define  G13DCF g13dcf_
#endif
extern void NAG_CALL G13DCF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST logical REFPTR mean,
  double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  double qq[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  CONST double w[] /* 2 dimension */,
  CONST logical parhld[] /* 1 dimension */,
  CONST logical REFPTR exact,
  CONST Integer REFPTR iprint,
  CONST double REFPTR cgetol,
  CONST Integer REFPTR maxcal,
  CONST Integer REFPTR ishow,
  Integer REFPTR niter,
  double REFPTR rlogl,
  double v[] /* 2 dimension */,
  double g[] /* 1 dimension */,
  double cm[] /* 2 dimension */,
  CONST Integer REFPTR ldcm,
  CONST double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  CONST Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13ddf_(k, n, ip, iq, mean, par, npar, qq, kmax, w, parhld, exact, iprint, cgetol, maxcal, ishow, niter, rlogl, v, g, cm, ldcm, ifail)  \
G13DDF(k, n, ip, iq, mean, par, npar, qq, kmax, w, parhld, exact, iprint, cgetol, maxcal, ishow, niter, rlogl, v, g, cm, ldcm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13ddf_ G13DDF
#else
#define  G13DDF g13ddf_
#endif
extern void NAG_CALL G13DDF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST logical REFPTR mean,
  double par[] /* 1 dimension */,
  CONST Integer REFPTR npar,
  double qq[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  CONST double w[] /* 2 dimension */,
  CONST logical parhld[] /* 1 dimension */,
  CONST logical REFPTR exact,
  CONST Integer REFPTR iprint,
  CONST double REFPTR cgetol,
  CONST Integer REFPTR maxcal,
  CONST Integer REFPTR ishow,
  Integer REFPTR niter,
  double REFPTR rlogl,
  double v[] /* 2 dimension */,
  double g[] /* 1 dimension */,
  double cm[] /* 2 dimension */,
  CONST Integer REFPTR ldcm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13djf_(k, n, z, kmax, tr, id, delta, ip, iq, mean, par, lpar, qq, v, lmax, predz, sefz, ref, lref, work, lwork, iwork, liwork, ifail, length_tr, length_mean)  \
G13DJF(k, n, z, kmax, tr, length_tr, id, delta, ip, iq, mean, length_mean, par, lpar, qq, v, lmax, predz, sefz, ref, lref, work, lwork, iwork, liwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13djf_ G13DJF
#else
#define  G13DJF g13djf_
#endif
extern void NAG_CALL G13DJF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  CONST char tr[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_tr
#endif
,
  CONST Integer id[] /* 1 dimension */,
  CONST double delta[] /* 2 dimension */,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST char * mean
#ifdef USE_STDCALL
,  CONST Charlen length_mean
#endif
,
  CONST double par[] /* 1 dimension */,
  CONST Integer REFPTR lpar,
  double qq[] /* 2 dimension */,
  CONST double v[] /* 2 dimension */,
  CONST Integer REFPTR lmax,
  double predz[] /* 2 dimension */,
  double sefz[] /* 2 dimension */,
  double ref[] /* 1 dimension */,
  CONST Integer REFPTR lref,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tr,
 CONST Charlen length_mean
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dkf_(k, lmax, m, mlast, z, kmax, ref, lref, v, predz, sefz, work, ifail)  \
G13DKF(k, lmax, m, mlast, z, kmax, ref, lref, v, predz, sefz, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dkf_ G13DKF
#else
#define  G13DKF g13dkf_
#endif
extern void NAG_CALL G13DKF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR lmax,
  CONST Integer REFPTR m,
  Integer REFPTR mlast,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  double ref[] /* 1 dimension */,
  CONST Integer REFPTR lref,
  double v[] /* 2 dimension */,
  double predz[] /* 2 dimension */,
  double sefz[] /* 2 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dlf_(k, n, z, kmax, tr, id, delta, w, nd, work, ifail, length_tr)  \
G13DLF(k, n, z, kmax, tr, length_tr, id, delta, w, nd, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dlf_ G13DLF
#else
#define  G13DLF g13dlf_
#endif
extern void NAG_CALL G13DLF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  CONST char tr[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_tr
#endif
,
  CONST Integer id[] /* 1 dimension */,
  CONST double delta[] /* 2 dimension */,
  double w[] /* 2 dimension */,
  Integer REFPTR nd,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_tr
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dmf_(matrix, k, n, m, w, kmax, wmean, r0, r, ifail, length_matrix)  \
G13DMF(matrix, length_matrix, k, n, m, w, kmax, wmean, r0, r, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dmf_ G13DMF
#else
#define  G13DMF g13dmf_
#endif
extern void NAG_CALL G13DMF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double w[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  double wmean[] /* 1 dimension */,
  double r0[] /* 2 dimension */,
  double r[] /* 3 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dnf_(k, n, m, kmax, r0, r, maxlag, parlag, x, pvalue, work, lwork, ifail)  \
G13DNF(k, n, m, kmax, r0, r, maxlag, parlag, x, pvalue, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dnf_ G13DNF
#else
#define  G13DNF g13dnf_
#endif
extern void NAG_CALL G13DNF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR kmax,
  CONST double r0[] /* 2 dimension */,
  CONST double r[] /* 3 dimension */,
  Integer REFPTR maxlag,
  double parlag[] /* 3 dimension */,
  double x[] /* 1 dimension */,
  double pvalue[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dpf_(k, n, z, kmax, m, maxlag, parlag, se, qq, x, pvalue, loglhd, work, lwork, iwork, ifail)  \
G13DPF(k, n, z, kmax, m, maxlag, parlag, se, qq, x, pvalue, loglhd, work, lwork, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dpf_ G13DPF
#else
#define  G13DPF g13dpf_
#endif
extern void NAG_CALL G13DPF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST double z[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  CONST Integer REFPTR m,
  Integer REFPTR maxlag,
  double parlag[] /* 3 dimension */,
  double se[] /* 3 dimension */,
  double qq[] /* 3 dimension */,
  double x[] /* 1 dimension */,
  double pvalue[] /* 1 dimension */,
  double loglhd[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dsf_(k, n, v, kmax, ip, iq, m, par, parhld, qq, ishow, r0, r, rcm, ldrcm, chi, idf, siglev, iw, liw, work, lwork, ifail)  \
G13DSF(k, n, v, kmax, ip, iq, m, par, parhld, qq, ishow, r0, r, rcm, ldrcm, chi, idf, siglev, iw, liw, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dsf_ G13DSF
#else
#define  G13DSF g13dsf_
#endif
extern void NAG_CALL G13DSF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR n,
  CONST double v[] /* 2 dimension */,
  CONST Integer REFPTR kmax,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST Integer REFPTR m,
  CONST double par[] /* 1 dimension */,
  CONST logical parhld[] /* 1 dimension */,
  double qq[] /* 2 dimension */,
  CONST Integer REFPTR ishow,
  double r0[] /* 2 dimension */,
  double r[] /* 3 dimension */,
  double rcm[] /* 2 dimension */,
  CONST Integer REFPTR ldrcm,
  double REFPTR chi,
  Integer REFPTR idf,
  double REFPTR siglev,
  Integer iw[] /* 1 dimension */,
  CONST Integer REFPTR liw,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13dxf_(k, ip, par, rr, ri, rmod, work, iwork, ifail)  \
G13DXF(k, ip, par, rr, ri, rmod, work, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13dxf_ G13DXF
#else
#define  G13DXF g13dxf_
#endif
extern void NAG_CALL G13DXF(
  CONST Integer REFPTR k,
  CONST Integer REFPTR ip,
  CONST double par[] /* 1 dimension */,
  double rr[] /* 1 dimension */,
  double ri[] /* 1 dimension */,
  double rmod[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13eaf_(n, m, l, a, lds, b, stq, q, ldq, c, ldm, r, s, k, h, tol, iwk, wk, ifail)  \
G13EAF(n, m, l, a, lds, b, stq, q, ldq, c, ldm, r, s, k, h, tol, iwk, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13eaf_ G13EAF
#else
#define  G13EAF g13eaf_
#endif
extern void NAG_CALL G13EAF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR l,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lds,
  CONST double b[] /* 2 dimension */,
  CONST logical REFPTR stq,
  CONST double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  CONST double c[] /* 2 dimension */,
  CONST Integer REFPTR ldm,
  CONST double r[] /* 2 dimension */,
  double s[] /* 2 dimension */,
  double k[] /* 2 dimension */,
  double h[] /* 2 dimension */,
  CONST double REFPTR tol,
  Integer iwk[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13ebf_(transf, n, m, l, a, lds, b, stq, q, ldq, c, ldm, r, s, k, h, u, tol, iwk, wk, ifail, length_transf)  \
G13EBF(transf, length_transf, n, m, l, a, lds, b, stq, q, ldq, c, ldm, r, s, k, h, u, tol, iwk, wk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13ebf_ G13EBF
#else
#define  G13EBF g13ebf_
#endif
extern void NAG_CALL G13EBF(
  CONST char * transf
#ifdef USE_STDCALL
,  CONST Charlen length_transf
#endif
,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST Integer REFPTR l,
  double a[] /* 2 dimension */,
  CONST Integer REFPTR lds,
  double b[] /* 2 dimension */,
  CONST logical REFPTR stq,
  CONST double q[] /* 2 dimension */,
  CONST Integer REFPTR ldq,
  double c[] /* 2 dimension */,
  CONST Integer REFPTR ldm,
  CONST double r[] /* 2 dimension */,
  double s[] /* 2 dimension */,
  double k[] /* 2 dimension */,
  double h[] /* 2 dimension */,
  double u[] /* 2 dimension */,
  CONST double REFPTR tol,
  Integer iwk[] /* 1 dimension */,
  double wk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_transf
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13faf_(dist, yt, x, ldx, num, ip, iq, nreg, mn, isym, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail, length_dist)  \
G13FAF(dist, length_dist, yt, x, ldx, num, ip, iq, nreg, mn, isym, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13faf_ G13FAF
#else
#define  G13FAF g13faf_
#endif
extern void NAG_CALL G13FAF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST double yt[] /* 1 dimension */,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST Integer REFPTR nreg,
  CONST Integer REFPTR mn,
  CONST Integer REFPTR isym,
  CONST Integer REFPTR npar,
  double theta[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double sc[] /* 1 dimension */,
  double covr[] /* 2 dimension */,
  CONST Integer REFPTR ldcovr,
  double REFPTR hp,
  double et[] /* 1 dimension */,
  double ht[] /* 1 dimension */,
  double REFPTR lgf,
  CONST logical copts[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13fbf_(num, nt, ip, iq, theta, gamma, fht, ht, et, ifail)  \
G13FBF(num, nt, ip, iq, theta, gamma, fht, ht, et, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13fbf_ G13FBF
#else
#define  G13FBF g13fbf_
#endif
extern void NAG_CALL G13FBF(
  CONST Integer REFPTR num,
  CONST Integer REFPTR nt,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  double fht[] /* 1 dimension */,
  CONST double ht[] /* 1 dimension */,
  CONST double et[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13fcf_(dist, yt, x, ldx, num, ip, iq, nreg, mn, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail, length_dist)  \
G13FCF(dist, length_dist, yt, x, ldx, num, ip, iq, nreg, mn, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13fcf_ G13FCF
#else
#define  G13FCF g13fcf_
#endif
extern void NAG_CALL G13FCF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST double yt[] /* 1 dimension */,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST Integer REFPTR nreg,
  CONST Integer REFPTR mn,
  CONST Integer REFPTR npar,
  double theta[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double sc[] /* 1 dimension */,
  double covr[] /* 2 dimension */,
  CONST Integer REFPTR ldcovr,
  double REFPTR hp,
  double et[] /* 1 dimension */,
  double ht[] /* 1 dimension */,
  double REFPTR lgf,
  CONST logical copts[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13fdf_(num, nt, ip, iq, theta, gamma, fht, ht, et, ifail)  \
G13FDF(num, nt, ip, iq, theta, gamma, fht, ht, et, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13fdf_ G13FDF
#else
#define  G13FDF g13fdf_
#endif
extern void NAG_CALL G13FDF(
  CONST Integer REFPTR num,
  CONST Integer REFPTR nt,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  double fht[] /* 1 dimension */,
  CONST double ht[] /* 1 dimension */,
  CONST double et[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13fef_(dist, yt, x, ldx, num, ip, iq, nreg, mn, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail, length_dist)  \
G13FEF(dist, length_dist, yt, x, ldx, num, ip, iq, nreg, mn, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13fef_ G13FEF
#else
#define  G13FEF g13fef_
#endif
extern void NAG_CALL G13FEF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST double yt[] /* 1 dimension */,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST Integer REFPTR nreg,
  CONST Integer REFPTR mn,
  CONST Integer REFPTR npar,
  double theta[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double sc[] /* 1 dimension */,
  double covr[] /* 2 dimension */,
  CONST Integer REFPTR ldcovr,
  double REFPTR hp,
  double et[] /* 1 dimension */,
  double ht[] /* 1 dimension */,
  double REFPTR lgf,
  CONST logical copts[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13fff_(num, nt, ip, iq, theta, gamma, fht, ht, et, ifail)  \
G13FFF(num, nt, ip, iq, theta, gamma, fht, ht, et, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13fff_ G13FFF
#else
#define  G13FFF g13fff_
#endif
extern void NAG_CALL G13FFF(
  CONST Integer REFPTR num,
  CONST Integer REFPTR nt,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  CONST double REFPTR gamma,
  double fht[] /* 1 dimension */,
  CONST double ht[] /* 1 dimension */,
  CONST double et[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13fgf_(dist, yt, x, ldx, num, ip, iq, nreg, mn, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail, length_dist)  \
G13FGF(dist, length_dist, yt, x, ldx, num, ip, iq, nreg, mn, npar, theta, se, sc, covr, ldcovr, hp, et, ht, lgf, copts, maxit, tol, work, lwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13fgf_ G13FGF
#else
#define  G13FGF g13fgf_
#endif
extern void NAG_CALL G13FGF(
  CONST char * dist
#ifdef USE_STDCALL
,  CONST Charlen length_dist
#endif
,
  CONST double yt[] /* 1 dimension */,
  CONST double x[] /* 2 dimension */,
  CONST Integer REFPTR ldx,
  CONST Integer REFPTR num,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST Integer REFPTR nreg,
  CONST Integer REFPTR mn,
  CONST Integer REFPTR npar,
  double theta[] /* 1 dimension */,
  double se[] /* 1 dimension */,
  double sc[] /* 1 dimension */,
  double covr[] /* 2 dimension */,
  CONST Integer REFPTR ldcovr,
  double REFPTR hp,
  double et[] /* 1 dimension */,
  double ht[] /* 1 dimension */,
  double REFPTR lgf,
  CONST logical REFPTR copts,
  CONST Integer REFPTR maxit,
  CONST double REFPTR tol,
  double work[] /* 1 dimension */,
  CONST Integer REFPTR lwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_dist
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
g13fhf_(num, nt, ip, iq, theta, fht, ht, et, ifail)  \
G13FHF(num, nt, ip, iq, theta, fht, ht, et, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  g13fhf_ G13FHF
#else
#define  G13FHF g13fhf_
#endif
extern void NAG_CALL G13FHF(
  CONST Integer REFPTR num,
  CONST Integer REFPTR nt,
  CONST Integer REFPTR ip,
  CONST Integer REFPTR iq,
  CONST double theta[] /* 1 dimension */,
  double fht[] /* 1 dimension */,
  CONST double ht[] /* 1 dimension */,
  CONST double et[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02bbf_(itmax, msglvl, n, m, a, lda, bl, bu, intvar, cvec, maxnod, intfst, maxdpt, toliv, tolfes, bigbnd, x, objmip, iwork, liwork, rwork, lrwork, ifail)  \
H02BBF(itmax, msglvl, n, m, a, lda, bl, bu, intvar, cvec, maxnod, intfst, maxdpt, toliv, tolfes, bigbnd, x, objmip, iwork, liwork, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02bbf_ H02BBF
#else
#define  H02BBF h02bbf_
#endif
extern void NAG_CALL H02BBF(
  Integer REFPTR itmax,
  CONST Integer REFPTR msglvl,
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST Integer intvar[] /* 1 dimension */,
  CONST double cvec[] /* 1 dimension */,
  CONST Integer REFPTR maxnod,
  CONST Integer REFPTR intfst,
  CONST Integer REFPTR maxdpt,
  double REFPTR toliv,
  double REFPTR tolfes,
  double REFPTR bigbnd,
  double x[] /* 1 dimension */,
  double REFPTR objmip,
  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 \
h02bff_(infile, maxn, maxm, optim, xbldef, xbudef, maxdpt, msglvl, n, m, x, crname, iwork, liwork, rwork, lrwork, ifail, length_optim, length_crname)  \
H02BFF(infile, maxn, maxm, optim, length_optim, xbldef, xbudef, maxdpt, msglvl, n, m, x, crname, length_crname, iwork, liwork, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02bff_ H02BFF
#else
#define  H02BFF h02bff_
#endif
extern void NAG_CALL H02BFF(
  CONST Integer REFPTR infile,
  CONST Integer REFPTR maxn,
  CONST Integer REFPTR maxm,
  CONST char * optim
#ifdef USE_STDCALL
,  CONST Charlen length_optim
#endif
,
  CONST double REFPTR xbldef,
  CONST double REFPTR xbudef,
  CONST Integer REFPTR maxdpt,
  CONST Integer REFPTR msglvl,
  Integer REFPTR n,
  Integer REFPTR m,
  double x[] /* 1 dimension */,
  char crname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_crname
#endif
,
  Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optim,
 CONST Charlen length_crname
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02buf_(infile, maxn, maxm, optim, xbldef, xbudef, nmobj, nmrhs, nmrng, nmbnd, mpslst, n, m, a, bl, bu, cvec, x, intvar, crname, nmprob, iwork, ifail, length_optim, length_nmobj, length_nmrhs, length_nmrng, length_nmbnd, length_crname, length_nmprob)  \
H02BUF(infile, maxn, maxm, optim, length_optim, xbldef, xbudef, nmobj, length_nmobj, nmrhs, length_nmrhs, nmrng, length_nmrng, nmbnd, length_nmbnd, mpslst, n, m, a, bl, bu, cvec, x, intvar, crname, length_crname, nmprob, length_nmprob, iwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02buf_ H02BUF
#else
#define  H02BUF h02buf_
#endif
extern void NAG_CALL H02BUF(
  CONST Integer REFPTR infile,
  CONST Integer REFPTR maxn,
  CONST Integer REFPTR maxm,
  CONST char * optim
#ifdef USE_STDCALL
,  CONST Charlen length_optim
#endif
,
  CONST double REFPTR xbldef,
  CONST double REFPTR xbudef,
  char * nmobj
#ifdef USE_STDCALL
,  CONST Charlen length_nmobj
#endif
,
  char * nmrhs
#ifdef USE_STDCALL
,  CONST Charlen length_nmrhs
#endif
,
  char * nmrng
#ifdef USE_STDCALL
,  CONST Charlen length_nmrng
#endif
,
  char * nmbnd
#ifdef USE_STDCALL
,  CONST Charlen length_nmbnd
#endif
,
  CONST logical REFPTR mpslst,
  Integer REFPTR n,
  Integer REFPTR m,
  double a[] /* 2 dimension */,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double cvec[] /* 1 dimension */,
  double x[] /* 1 dimension */,
  Integer intvar[] /* 1 dimension */,
  char crname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_crname
#endif
,
  char * nmprob
#ifdef USE_STDCALL
,  CONST Charlen length_nmprob
#endif
,
  Integer iwork[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_optim,
 CONST Charlen length_nmobj,
 CONST Charlen length_nmrhs,
 CONST Charlen length_nmrng,
 CONST Charlen length_nmbnd,
 CONST Charlen length_crname,
 CONST Charlen length_nmprob
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02bvf_(n, m, a, lda, bl, bu, x, clamda, istate, crname, ifail, length_crname)  \
H02BVF(n, m, a, lda, bl, bu, x, clamda, istate, crname, length_crname, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02bvf_ H02BVF
#else
#define  H02BVF h02bvf_
#endif
extern void NAG_CALL H02BVF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST double x[] /* 1 dimension */,
  CONST double clamda[] /* 1 dimension */,
  CONST Integer istate[] /* 1 dimension */,
  CONST char crname[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_crname
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_crname
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02bzf_(n, m, bl, bu, clamda, istate, iwork, liwork, rwork, lrwork, ifail)  \
H02BZF(n, m, bl, bu, clamda, istate, iwork, liwork, rwork, lrwork, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02bzf_ H02BZF
#else
#define  H02BZF h02bzf_
#endif
extern void NAG_CALL H02BZF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR m,
  double bl[] /* 1 dimension */,
  double bu[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  Integer istate[] /* 1 dimension */,
  CONST Integer iwork[] /* 1 dimension */,
  CONST Integer REFPTR liwork,
  CONST double rwork[] /* 1 dimension */,
  CONST Integer REFPTR lrwork,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02cbf_(n, nclin, a, lda, bl, bu, cvec, h, ldh, qphess, intvar, lintvr, mdepth, istate, xs, obj, ax, clamda, strtgy, iwrk, liwrk, wrk, lwrk, monit, ifail)  \
H02CBF(n, nclin, a, lda, bl, bu, cvec, h, ldh, qphess, intvar, lintvr, mdepth, istate, xs, obj, ax, clamda, strtgy, iwrk, liwrk, wrk, lwrk, monit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02cbf_ H02CBF
#else
#define  H02CBF h02cbf_
#endif
extern void NAG_CALL H02CBF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR nclin,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  double bl[] /* 1 dimension */,
  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[]),
  CONST Integer intvar[] /* 1 dimension */,
  CONST Integer REFPTR lintvr,
  CONST Integer REFPTR mdepth,
  Integer istate[] /* 1 dimension */,
  double xs[] /* 1 dimension */,
  double REFPTR obj,
  double ax[] /* 1 dimension */,
  double clamda[] /* 1 dimension */,
  CONST Integer REFPTR strtgy,
  Integer iwrk[] /* 1 dimension */,
  CONST Integer REFPTR liwrk,
  double wrk[] /* 1 dimension */,
  CONST Integer REFPTR lwrk,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         CONST double[],
                         CONST double[],
                         CONST double[],
                         CONST Integer REFPTR ,
                         logical REFPTR ,
                         Integer REFPTR ),
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02cbu_(intfnd, nodes, depth, obj, x, bstval, bstsol, bl, bu, n, halt, count)  \
H02CBU(intfnd, nodes, depth, obj, x, bstval, bstsol, bl, bu, n, halt, count) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02cbu_ H02CBU
#else
#define  H02CBU h02cbu_
#endif
extern void NAG_CALL H02CBU(
  CONST Integer REFPTR intfnd,
  CONST Integer REFPTR nodes,
  CONST Integer REFPTR depth,
  CONST double REFPTR obj,
  CONST double x[] /* 1 dimension */,
  double REFPTR bstval,
  CONST double bstsol[] /* 1 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST Integer REFPTR n,
  logical REFPTR halt,
  Integer REFPTR count
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02cdf_(str, length_str)  \
H02CDF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02cdf_ H02CDF
#else
#define  H02CDF h02cdf_
#endif
extern void NAG_CALL H02CDF(
  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 \
h02cef_(n, m, nnz, iobj, ncolh, qphx, a, ha, ka, bl, bu, start, names, nname, crname, ns, xs, intvar, lintvr, mdepth, istate, miniz, minz, obj, clamda, strtgy, iz, leniz, z, lenz, monit, ifail, length_start, length_names, length_crname)  \
H02CEF(n, m, nnz, iobj, ncolh, qphx, a, ha, ka, bl, bu, start, length_start, names, length_names, nname, crname, length_crname, ns, xs, intvar, lintvr, mdepth, istate, miniz, minz, obj, clamda, strtgy, iz, leniz, z, lenz, monit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02cef_ H02CEF
#else
#define  H02CEF h02cef_
#endif
extern void NAG_CALL H02CEF(
  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 */,
  CONST Integer intvar[] /* 1 dimension */,
  CONST Integer REFPTR lintvr,
  CONST Integer REFPTR mdepth,
  Integer istate[] /* 1 dimension */,
  Integer REFPTR miniz,
  Integer REFPTR minz,
  double REFPTR obj,
  double clamda[] /* 1 dimension */,
  CONST Integer REFPTR strtgy,
  Integer iz[] /* 1 dimension */,
  CONST Integer REFPTR leniz,
  double z[] /* 1 dimension */,
  CONST Integer REFPTR lenz,
  void (NAG_CALL *monit)(
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST Integer REFPTR ,
                         CONST double REFPTR ,
                         CONST double[],
                         double REFPTR ,
                         CONST double[],
                         CONST double[],
                         CONST double[],
                         CONST Integer REFPTR ,
                         logical REFPTR ,
                         Integer REFPTR ),
  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 \
h02cey_(intfnd, nodes, depth, obj, x, bstval, bstsol, bl, bu, n, halt, count)  \
H02CEY(intfnd, nodes, depth, obj, x, bstval, bstsol, bl, bu, n, halt, count) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02cey_ H02CEY
#else
#define  H02CEY h02cey_
#endif
extern void NAG_CALL H02CEY(
  CONST Integer REFPTR intfnd,
  CONST Integer REFPTR nodes,
  CONST Integer REFPTR depth,
  CONST double REFPTR obj,
  CONST double x[] /* 1 dimension */,
  double REFPTR bstval,
  CONST double bstsol[] /* 1 dimension */,
  CONST double bl[] /* 1 dimension */,
  CONST double bu[] /* 1 dimension */,
  CONST Integer REFPTR n,
  logical REFPTR halt,
  Integer REFPTR count
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h02cgf_(str, length_str)  \
H02CGF(str, length_str) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h02cgf_ H02CGF
#else
#define  H02CGF h02cgf_
#endif
extern void NAG_CALL H02CGF(
  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 \
h03abf_(kost, ldkost, ma, mb, m, k15, maxit, k7, k9, numit, k6, k8, k11, k12, z, ifail)  \
H03ABF(kost, ldkost, ma, mb, m, k15, maxit, k7, k9, numit, k6, k8, k11, k12, z, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h03abf_ H03ABF
#else
#define  H03ABF h03abf_
#endif
extern void NAG_CALL H03ABF(
  CONST Integer kost[] /* 2 dimension */,
  CONST Integer REFPTR ldkost,
  CONST Integer REFPTR ma,
  CONST Integer REFPTR mb,
  CONST Integer REFPTR m,
  Integer k15[] /* 1 dimension */,
  CONST Integer REFPTR maxit,
  Integer k7[] /* 1 dimension */,
  Integer k9[] /* 1 dimension */,
  Integer REFPTR numit,
  Integer k6[] /* 1 dimension */,
  Integer k8[] /* 1 dimension */,
  Integer k11[] /* 1 dimension */,
  Integer k12[] /* 1 dimension */,
  double REFPTR z,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
h03adf_(n, ns, ne, direct, nnz, d, irow, icol, splen, path, iwork, work, ifail)  \
H03ADF(n, ns, ne, direct, nnz, d, irow, icol, splen, path, iwork, work, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  h03adf_ H03ADF
#else
#define  H03ADF h03adf_
#endif
extern void NAG_CALL H03ADF(
  CONST Integer REFPTR n,
  CONST Integer REFPTR ns,
  CONST Integer REFPTR ne,
  CONST logical REFPTR direct,
  CONST Integer REFPTR nnz,
  CONST double d[] /* 1 dimension */,
  Integer irow[] /* 1 dimension */,
  CONST Integer icol[] /* 1 dimension */,
  double REFPTR splen,
  Integer path[] /* 1 dimension */,
  Integer iwork[] /* 1 dimension */,
  double work[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01caf_(rv, m1, m2, order, ifail, length_order)  \
M01CAF(rv, m1, m2, order, length_order, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01caf_ M01CAF
#else
#define  M01CAF m01caf_
#endif
extern void NAG_CALL M01CAF(
  double rv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01cbf_(iv, m1, m2, order, ifail, length_order)  \
M01CBF(iv, m1, m2, order, length_order, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01cbf_ M01CBF
#else
#define  M01CBF m01cbf_
#endif
extern void NAG_CALL M01CBF(
  Integer iv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01ccf_(ch, m1, m2, l1, l2, order, ifail, length_ch, length_order)  \
M01CCF(ch, length_ch, m1, m2, l1, l2, order, length_order, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01ccf_ M01CCF
#else
#define  M01CCF m01ccf_
#endif
extern void NAG_CALL M01CCF(
  char ch[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_ch
#endif
,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST Integer REFPTR l1,
  CONST Integer REFPTR l2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_ch,
 CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01daf_(rv, m1, m2, order, irank, ifail, length_order)  \
M01DAF(rv, m1, m2, order, length_order, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01daf_ M01DAF
#else
#define  M01DAF m01daf_
#endif
extern void NAG_CALL M01DAF(
  CONST double rv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01dbf_(iv, m1, m2, order, irank, ifail, length_order)  \
M01DBF(iv, m1, m2, order, length_order, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01dbf_ M01DBF
#else
#define  M01DBF m01dbf_
#endif
extern void NAG_CALL M01DBF(
  CONST Integer iv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01dcf_(ch, m1, m2, l1, l2, order, irank, ifail, length_ch, length_order)  \
M01DCF(ch, length_ch, m1, m2, l1, l2, order, length_order, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01dcf_ M01DCF
#else
#define  M01DCF m01dcf_
#endif
extern void NAG_CALL M01DCF(
  CONST char ch[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_ch
#endif
,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST Integer REFPTR l1,
  CONST Integer REFPTR l2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_ch,
 CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01def_(rm, ldm, m1, m2, n1, n2, order, irank, ifail, length_order)  \
M01DEF(rm, ldm, m1, m2, n1, n2, order, length_order, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01def_ M01DEF
#else
#define  M01DEF m01def_
#endif
extern void NAG_CALL M01DEF(
  CONST double rm[] /* 2 dimension */,
  CONST Integer REFPTR ldm,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01dff_(im, ldm, m1, m2, n1, n2, order, irank, ifail, length_order)  \
M01DFF(im, ldm, m1, m2, n1, n2, order, length_order, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01dff_ M01DFF
#else
#define  M01DFF m01dff_
#endif
extern void NAG_CALL M01DFF(
  CONST Integer im[] /* 2 dimension */,
  CONST Integer REFPTR ldm,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01djf_(rm, ldm, m1, m2, n1, n2, order, irank, ifail, length_order)  \
M01DJF(rm, ldm, m1, m2, n1, n2, order, length_order, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01djf_ M01DJF
#else
#define  M01DJF m01djf_
#endif
extern void NAG_CALL M01DJF(
  CONST double rm[] /* 2 dimension */,
  CONST Integer REFPTR ldm,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01dkf_(im, ldm, m1, m2, n1, n2, order, irank, ifail, length_order)  \
M01DKF(im, ldm, m1, m2, n1, n2, order, length_order, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01dkf_ M01DKF
#else
#define  M01DKF m01dkf_
#endif
extern void NAG_CALL M01DKF(
  CONST Integer im[] /* 2 dimension */,
  CONST Integer REFPTR ldm,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST Integer REFPTR n1,
  CONST Integer REFPTR n2,
  CONST char * order
#ifdef USE_STDCALL
,  CONST Charlen length_order
#endif
,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_order
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01dzf_(compar, m1, m2, irank, ifail)  \
M01DZF(compar, m1, m2, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01dzf_ M01DZF
#else
#define  M01DZF m01dzf_
#endif
extern void NAG_CALL M01DZF(
  logical (NAG_CALL *compar)(
                             CONST Integer REFPTR ,
                             CONST Integer REFPTR ),
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01eaf_(rv, m1, m2, irank, ifail)  \
M01EAF(rv, m1, m2, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01eaf_ M01EAF
#else
#define  M01EAF m01eaf_
#endif
extern void NAG_CALL M01EAF(
  double rv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01ebf_(iv, m1, m2, irank, ifail)  \
M01EBF(iv, m1, m2, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01ebf_ M01EBF
#else
#define  M01EBF m01ebf_
#endif
extern void NAG_CALL M01EBF(
  Integer iv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01ecf_(ch, m1, m2, irank, ifail, length_ch)  \
M01ECF(ch, length_ch, m1, m2, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01ecf_ M01ECF
#else
#define  M01ECF m01ecf_
#endif
extern void NAG_CALL M01ECF(
  char ch[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_ch
#endif
,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_ch
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01edf_(cv, m1, m2, irank, ifail)  \
M01EDF(cv, m1, m2, irank, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01edf_ M01EDF
#else
#define  M01EDF m01edf_
#endif
extern void NAG_CALL M01EDF(
  Complex cv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer irank[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01naf_(valid, rv, m1, m2, item, ifail)  \
M01NAF(valid, rv, m1, m2, item, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01naf_ M01NAF
#else
#define  M01NAF m01naf_
#endif
extern int NAG_CALL M01NAF(
  CONST logical REFPTR valid,
  CONST double rv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST double REFPTR item,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01nbf_(valid, iv, m1, m2, item, ifail)  \
M01NBF(valid, iv, m1, m2, item, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01nbf_ M01NBF
#else
#define  M01NBF m01nbf_
#endif
extern int NAG_CALL M01NBF(
  CONST logical REFPTR valid,
  CONST Integer iv[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST Integer REFPTR item,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01ncf_(valid, ch, m1, m2, item, ifail, length_ch, length_item)  \
M01NCF(valid, ch, length_ch, m1, m2, item, length_item, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01ncf_ M01NCF
#else
#define  M01NCF m01ncf_
#endif
extern int NAG_CALL M01NCF(
  CONST logical REFPTR valid,
  CONST char ch[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_ch
#endif
,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  CONST char * item
#ifdef USE_STDCALL
,  CONST Charlen length_item
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_ch,
 CONST Charlen length_item
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01zaf_(iperm, m1, m2, ifail)  \
M01ZAF(iperm, m1, m2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01zaf_ M01ZAF
#else
#define  M01ZAF m01zaf_
#endif
extern void NAG_CALL M01ZAF(
  Integer iperm[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01zbf_(iperm, m1, m2, ifail)  \
M01ZBF(iperm, m1, m2, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01zbf_ M01ZBF
#else
#define  M01ZBF m01zbf_
#endif
extern void NAG_CALL M01ZBF(
  Integer iperm[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
m01zcf_(iperm, m1, m2, icycl, ifail)  \
M01ZCF(iperm, m1, m2, icycl, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  m01zcf_ M01ZCF
#else
#define  M01ZCF m01zcf_
#endif
extern void NAG_CALL M01ZCF(
  Integer iperm[] /* 1 dimension */,
  CONST Integer REFPTR m1,
  CONST Integer REFPTR m2,
  Integer icycl[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
p01abf_(ifail, ierror, srname, nrec, rec, length_srname, length_rec)  \
P01ABF(ifail, ierror, srname, length_srname, nrec, rec, length_rec) 
#elif defined (_WIN32) || defined (_WIN64)
#define  p01abf_ P01ABF
#else
#define  P01ABF p01abf_
#endif
extern int NAG_CALL P01ABF(
  CONST Integer REFPTR ifail,
  CONST Integer REFPTR ierror,
  CONST char * srname
#ifdef USE_STDCALL
,  CONST Charlen length_srname
#endif
,
  CONST Integer REFPTR nrec,
  CONST char rec[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rec
#endif

#ifndef USE_STDCALL
, CONST Charlen length_srname,
 CONST Charlen length_rec
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
p01zzf_(srname, valid, ichklm, ifail, length_srname)  \
P01ZZF(srname, length_srname, valid, ichklm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  p01zzf_ P01ZZF
#else
#define  P01ZZF p01zzf_
#endif
extern void NAG_CALL P01ZZF(
  CONST char * srname
#ifdef USE_STDCALL
,  CONST Charlen length_srname
#endif
,
  logical REFPTR valid,
  Integer REFPTR ichklm,
  CONST Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_srname
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s01baf_(x, ifail)  \
S01BAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s01baf_ S01BAF
#else
#define  S01BAF s01baf_
#endif
extern double NAG_CALL S01BAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

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

#define \
s01eaf_(retval,z, ifail)  \
S01EAF(retval,z, ifail) 
#else

#define \
s01eaf_(z, ifail)  \
S01EAF(z, ifail) 
#endif

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

  CONST Complex REFPTR z,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s07aaf_(x, ifail)  \
S07AAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s07aaf_ S07AAF
#else
#define  S07AAF s07aaf_
#endif
extern double NAG_CALL S07AAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s09aaf_(x, ifail)  \
S09AAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s09aaf_ S09AAF
#else
#define  S09AAF s09aaf_
#endif
extern double NAG_CALL S09AAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s09abf_(x, ifail)  \
S09ABF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s09abf_ S09ABF
#else
#define  S09ABF s09abf_
#endif
extern double NAG_CALL S09ABF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s10aaf_(x, ifail)  \
S10AAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s10aaf_ S10AAF
#else
#define  S10AAF s10aaf_
#endif
extern double NAG_CALL S10AAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s10abf_(x, ifail)  \
S10ABF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s10abf_ S10ABF
#else
#define  S10ABF s10abf_
#endif
extern double NAG_CALL S10ABF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s10acf_(x, ifail)  \
S10ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s10acf_ S10ACF
#else
#define  S10ACF s10acf_
#endif
extern double NAG_CALL S10ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s11aaf_(x, ifail)  \
S11AAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s11aaf_ S11AAF
#else
#define  S11AAF s11aaf_
#endif
extern double NAG_CALL S11AAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s11abf_(x, ifail)  \
S11ABF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s11abf_ S11ABF
#else
#define  S11ABF s11abf_
#endif
extern double NAG_CALL S11ABF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s11acf_(x, ifail)  \
S11ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s11acf_ S11ACF
#else
#define  S11ACF s11acf_
#endif
extern double NAG_CALL S11ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s13aaf_(x, ifail)  \
S13AAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s13aaf_ S13AAF
#else
#define  S13AAF s13aaf_
#endif
extern double NAG_CALL S13AAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s13acf_(x, ifail)  \
S13ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s13acf_ S13ACF
#else
#define  S13ACF s13acf_
#endif
extern double NAG_CALL S13ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s13adf_(x, ifail)  \
S13ADF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s13adf_ S13ADF
#else
#define  S13ADF s13adf_
#endif
extern double NAG_CALL S13ADF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s14aaf_(x, ifail)  \
S14AAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s14aaf_ S14AAF
#else
#define  S14AAF s14aaf_
#endif
extern double NAG_CALL S14AAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s14abf_(x, ifail)  \
S14ABF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s14abf_ S14ABF
#else
#define  S14ABF s14abf_
#endif
extern double NAG_CALL S14ABF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s14acf_(x, ifail)  \
S14ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s14acf_ S14ACF
#else
#define  S14ACF s14acf_
#endif
extern double NAG_CALL S14ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s14aef_(x, k, ifail)  \
S14AEF(x, k, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s14aef_ S14AEF
#else
#define  S14AEF s14aef_
#endif
extern double NAG_CALL S14AEF(
  CONST double REFPTR x,
  CONST Integer REFPTR k,
  Integer REFPTR ifail
);

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

#define \
s14aff_(retval,z, k, ifail)  \
S14AFF(retval,z, k, ifail) 
#else

#define \
s14aff_(z, k, ifail)  \
S14AFF(z, k, ifail) 
#endif

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

  CONST Complex REFPTR z,
  CONST Integer REFPTR k,
  Integer REFPTR ifail
);

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

#define \
s14agf_(retval,z, ifail)  \
S14AGF(retval,z, ifail) 
#else

#define \
s14agf_(z, ifail)  \
S14AGF(z, ifail) 
#endif

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

  CONST Complex REFPTR z,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s14baf_(a, x, tol, p, q, ifail)  \
S14BAF(a, x, tol, p, q, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s14baf_ S14BAF
#else
#define  S14BAF s14baf_
#endif
extern void NAG_CALL S14BAF(
  CONST double REFPTR a,
  CONST double REFPTR x,
  CONST double REFPTR tol,
  double REFPTR p,
  double REFPTR q,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s15abf_(x, ifail)  \
S15ABF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s15abf_ S15ABF
#else
#define  S15ABF s15abf_
#endif
extern double NAG_CALL S15ABF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s15acf_(x, ifail)  \
S15ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s15acf_ S15ACF
#else
#define  S15ACF s15acf_
#endif
extern double NAG_CALL S15ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s15adf_(x, ifail)  \
S15ADF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s15adf_ S15ADF
#else
#define  S15ADF s15adf_
#endif
extern double NAG_CALL S15ADF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s15aef_(x, ifail)  \
S15AEF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s15aef_ S15AEF
#else
#define  S15AEF s15aef_
#endif
extern double NAG_CALL S15AEF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s15aff_(x, ifail)  \
S15AFF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s15aff_ S15AFF
#else
#define  S15AFF s15aff_
#endif
extern double NAG_CALL S15AFF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s15agf_(x, ifail)  \
S15AGF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s15agf_ S15AGF
#else
#define  S15AGF s15agf_
#endif
extern double NAG_CALL S15AGF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

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

#define \
s15ddf_(retval,z, ifail)  \
S15DDF(retval,z, ifail) 
#else

#define \
s15ddf_(z, ifail)  \
S15DDF(z, ifail) 
#endif

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

  CONST Complex REFPTR z,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17acf_(x, ifail)  \
S17ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17acf_ S17ACF
#else
#define  S17ACF s17acf_
#endif
extern double NAG_CALL S17ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17adf_(x, ifail)  \
S17ADF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17adf_ S17ADF
#else
#define  S17ADF s17adf_
#endif
extern double NAG_CALL S17ADF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17aef_(x, ifail)  \
S17AEF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17aef_ S17AEF
#else
#define  S17AEF s17aef_
#endif
extern double NAG_CALL S17AEF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17aff_(x, ifail)  \
S17AFF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17aff_ S17AFF
#else
#define  S17AFF s17aff_
#endif
extern double NAG_CALL S17AFF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17agf_(x, ifail)  \
S17AGF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17agf_ S17AGF
#else
#define  S17AGF s17agf_
#endif
extern double NAG_CALL S17AGF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17ahf_(x, ifail)  \
S17AHF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17ahf_ S17AHF
#else
#define  S17AHF s17ahf_
#endif
extern double NAG_CALL S17AHF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17ajf_(x, ifail)  \
S17AJF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17ajf_ S17AJF
#else
#define  S17AJF s17ajf_
#endif
extern double NAG_CALL S17AJF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17akf_(x, ifail)  \
S17AKF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17akf_ S17AKF
#else
#define  S17AKF s17akf_
#endif
extern double NAG_CALL S17AKF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17dcf_(fnu, z, n, scal, cy, nz, cwrk, ifail, length_scal)  \
S17DCF(fnu, z, n, scal, length_scal, cy, nz, cwrk, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17dcf_ S17DCF
#else
#define  S17DCF s17dcf_
#endif
extern void NAG_CALL S17DCF(
  CONST double REFPTR fnu,
  CONST Complex REFPTR z,
  CONST Integer REFPTR n,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  Complex cy[] /* 1 dimension */,
  Integer REFPTR nz,
  Complex cwrk[] /* 1 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17def_(fnu, z, n, scal, cy, nz, ifail, length_scal)  \
S17DEF(fnu, z, n, scal, length_scal, cy, nz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17def_ S17DEF
#else
#define  S17DEF s17def_
#endif
extern void NAG_CALL S17DEF(
  CONST double REFPTR fnu,
  CONST Complex REFPTR z,
  CONST Integer REFPTR n,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  Complex cy[] /* 1 dimension */,
  Integer REFPTR nz,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17dgf_(deriv, z, scal, ai, nz, ifail, length_deriv, length_scal)  \
S17DGF(deriv, length_deriv, z, scal, length_scal, ai, nz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17dgf_ S17DGF
#else
#define  S17DGF s17dgf_
#endif
extern void NAG_CALL S17DGF(
  CONST char * deriv
#ifdef USE_STDCALL
,  CONST Charlen length_deriv
#endif
,
  CONST Complex REFPTR z,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  Complex REFPTR ai,
  Integer REFPTR nz,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_deriv,
 CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17dhf_(deriv, z, scal, bi, ifail, length_deriv, length_scal)  \
S17DHF(deriv, length_deriv, z, scal, length_scal, bi, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17dhf_ S17DHF
#else
#define  S17DHF s17dhf_
#endif
extern void NAG_CALL S17DHF(
  CONST char * deriv
#ifdef USE_STDCALL
,  CONST Charlen length_deriv
#endif
,
  CONST Complex REFPTR z,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  Complex REFPTR bi,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_deriv,
 CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s17dlf_(m, fnu, z, n, scal, cy, nz, ifail, length_scal)  \
S17DLF(m, fnu, z, n, scal, length_scal, cy, nz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s17dlf_ S17DLF
#else
#define  S17DLF s17dlf_
#endif
extern void NAG_CALL S17DLF(
  CONST Integer REFPTR m,
  CONST double REFPTR fnu,
  CONST Complex REFPTR z,
  CONST Integer REFPTR n,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  Complex cy[] /* 1 dimension */,
  Integer REFPTR nz,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18acf_(x, ifail)  \
S18ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18acf_ S18ACF
#else
#define  S18ACF s18acf_
#endif
extern double NAG_CALL S18ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18adf_(x, ifail)  \
S18ADF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18adf_ S18ADF
#else
#define  S18ADF s18adf_
#endif
extern double NAG_CALL S18ADF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18aef_(x, ifail)  \
S18AEF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18aef_ S18AEF
#else
#define  S18AEF s18aef_
#endif
extern double NAG_CALL S18AEF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18aff_(x, ifail)  \
S18AFF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18aff_ S18AFF
#else
#define  S18AFF s18aff_
#endif
extern double NAG_CALL S18AFF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18ccf_(x, ifail)  \
S18CCF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18ccf_ S18CCF
#else
#define  S18CCF s18ccf_
#endif
extern double NAG_CALL S18CCF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18cdf_(x, ifail)  \
S18CDF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18cdf_ S18CDF
#else
#define  S18CDF s18cdf_
#endif
extern double NAG_CALL S18CDF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18cef_(x, ifail)  \
S18CEF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18cef_ S18CEF
#else
#define  S18CEF s18cef_
#endif
extern double NAG_CALL S18CEF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18cff_(x, ifail)  \
S18CFF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18cff_ S18CFF
#else
#define  S18CFF s18cff_
#endif
extern double NAG_CALL S18CFF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18dcf_(fnu, z, n, scal, cy, nz, ifail, length_scal)  \
S18DCF(fnu, z, n, scal, length_scal, cy, nz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18dcf_ S18DCF
#else
#define  S18DCF s18dcf_
#endif
extern void NAG_CALL S18DCF(
  CONST double REFPTR fnu,
  CONST Complex REFPTR z,
  CONST Integer REFPTR n,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  Complex cy[] /* 1 dimension */,
  Integer REFPTR nz,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18def_(fnu, z, n, scal, cy, nz, ifail, length_scal)  \
S18DEF(fnu, z, n, scal, length_scal, cy, nz, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18def_ S18DEF
#else
#define  S18DEF s18def_
#endif
extern void NAG_CALL S18DEF(
  CONST double REFPTR fnu,
  CONST Complex REFPTR z,
  CONST Integer REFPTR n,
  CONST char * scal
#ifdef USE_STDCALL
,  CONST Charlen length_scal
#endif
,
  Complex cy[] /* 1 dimension */,
  Integer REFPTR nz,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_scal
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s18gkf_(z, a, nl, b, ifail)  \
S18GKF(z, a, nl, b, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s18gkf_ S18GKF
#else
#define  S18GKF s18gkf_
#endif
extern void NAG_CALL S18GKF(
  CONST Complex REFPTR z,
  CONST double REFPTR a,
  CONST Integer REFPTR nl,
  Complex b[] /* 1 dimension */,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s19aaf_(x, ifail)  \
S19AAF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s19aaf_ S19AAF
#else
#define  S19AAF s19aaf_
#endif
extern double NAG_CALL S19AAF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s19abf_(x, ifail)  \
S19ABF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s19abf_ S19ABF
#else
#define  S19ABF s19abf_
#endif
extern double NAG_CALL S19ABF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s19acf_(x, ifail)  \
S19ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s19acf_ S19ACF
#else
#define  S19ACF s19acf_
#endif
extern double NAG_CALL S19ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s19adf_(x, ifail)  \
S19ADF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s19adf_ S19ADF
#else
#define  S19ADF s19adf_
#endif
extern double NAG_CALL S19ADF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s20acf_(x, ifail)  \
S20ACF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s20acf_ S20ACF
#else
#define  S20ACF s20acf_
#endif
extern double NAG_CALL S20ACF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s20adf_(x, ifail)  \
S20ADF(x, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s20adf_ S20ADF
#else
#define  S20ADF s20adf_
#endif
extern double NAG_CALL S20ADF(
  CONST double REFPTR x,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21baf_(x, y, ifail)  \
S21BAF(x, y, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21baf_ S21BAF
#else
#define  S21BAF s21baf_
#endif
extern double NAG_CALL S21BAF(
  CONST double REFPTR x,
  CONST double REFPTR y,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bbf_(x, y, z, ifail)  \
S21BBF(x, y, z, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bbf_ S21BBF
#else
#define  S21BBF s21bbf_
#endif
extern double NAG_CALL S21BBF(
  CONST double REFPTR x,
  CONST double REFPTR y,
  CONST double REFPTR z,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bcf_(x, y, z, ifail)  \
S21BCF(x, y, z, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bcf_ S21BCF
#else
#define  S21BCF s21bcf_
#endif
extern double NAG_CALL S21BCF(
  CONST double REFPTR x,
  CONST double REFPTR y,
  CONST double REFPTR z,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bdf_(x, y, z, r, ifail)  \
S21BDF(x, y, z, r, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bdf_ S21BDF
#else
#define  S21BDF s21bdf_
#endif
extern double NAG_CALL S21BDF(
  CONST double REFPTR x,
  CONST double REFPTR y,
  CONST double REFPTR z,
  CONST double REFPTR r,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bef_(phi, dm, ifail)  \
S21BEF(phi, dm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bef_ S21BEF
#else
#define  S21BEF s21bef_
#endif
extern double NAG_CALL S21BEF(
  CONST double REFPTR phi,
  CONST double REFPTR dm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bff_(phi, dm, ifail)  \
S21BFF(phi, dm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bff_ S21BFF
#else
#define  S21BFF s21bff_
#endif
extern double NAG_CALL S21BFF(
  CONST double REFPTR phi,
  CONST double REFPTR dm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bgf_(dn, phi, dm, ifail)  \
S21BGF(dn, phi, dm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bgf_ S21BGF
#else
#define  S21BGF s21bgf_
#endif
extern double NAG_CALL S21BGF(
  CONST double REFPTR dn,
  CONST double REFPTR phi,
  CONST double REFPTR dm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bhf_(dm, ifail)  \
S21BHF(dm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bhf_ S21BHF
#else
#define  S21BHF s21bhf_
#endif
extern double NAG_CALL S21BHF(
  CONST double REFPTR dm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21bjf_(dm, ifail)  \
S21BJF(dm, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21bjf_ S21BJF
#else
#define  S21BJF s21bjf_
#endif
extern double NAG_CALL S21BJF(
  CONST double REFPTR dm,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21caf_(u, m, sn, cn, dn, ifail)  \
S21CAF(u, m, sn, cn, dn, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21caf_ S21CAF
#else
#define  S21CAF s21caf_
#endif
extern void NAG_CALL S21CAF(
  CONST double REFPTR u,
  CONST double REFPTR m,
  double REFPTR sn,
  double REFPTR cn,
  double REFPTR dn,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21cbf_(z, ak2, sn, cn, dn, ifail)  \
S21CBF(z, ak2, sn, cn, dn, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21cbf_ S21CBF
#else
#define  S21CBF s21cbf_
#endif
extern void NAG_CALL S21CBF(
  CONST Complex REFPTR z,
  CONST double REFPTR ak2,
  Complex REFPTR sn,
  Complex REFPTR cn,
  Complex REFPTR dn,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s21ccf_(k, x, q, ifail)  \
S21CCF(k, x, q, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s21ccf_ S21CCF
#else
#define  S21CCF s21ccf_
#endif
extern double NAG_CALL S21CCF(
  CONST Integer REFPTR k,
  CONST double REFPTR x,
  CONST double REFPTR q,
  Integer REFPTR ifail
);

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

#define \
s21daf_(retval,z, akp, a, b, ifail)  \
S21DAF(retval,z, akp, a, b, ifail) 
#else

#define \
s21daf_(z, akp, a, b, ifail)  \
S21DAF(z, akp, a, b, ifail) 
#endif

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

  CONST Complex REFPTR z,
  CONST double REFPTR akp,
  CONST double REFPTR a,
  CONST double REFPTR b,
  Integer REFPTR ifail
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30aaf_(calput, m, n, x, s, t, sigma, r, q, p, ldp, ifail, length_calput)  \
S30AAF(calput, length_calput, m, n, x, s, t, sigma, r, q, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30aaf_ S30AAF
#else
#define  S30AAF s30aaf_
#endif
extern void NAG_CALL S30AAF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30abf_(calput, m, n, x, s, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail, length_calput)  \
S30ABF(calput, length_calput, m, n, x, s, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30abf_ S30ABF
#else
#define  S30ABF s30abf_
#endif
extern void NAG_CALL S30ABF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double delta[] /* 2 dimension */,
  double gamma[] /* 2 dimension */,
  double vega[] /* 2 dimension */,
  double theta[] /* 2 dimension */,
  double rho[] /* 2 dimension */,
  double crho[] /* 2 dimension */,
  double vanna[] /* 2 dimension */,
  double charm[] /* 2 dimension */,
  double speed[] /* 2 dimension */,
  double colour[] /* 2 dimension */,
  double zomma[] /* 2 dimension */,
  double vomma[] /* 2 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30baf_(calput, m, n, sm, s, t, sigma, r, q, p, ldp, ifail, length_calput)  \
S30BAF(calput, length_calput, m, n, sm, s, t, sigma, r, q, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30baf_ S30BAF
#else
#define  S30BAF s30baf_
#endif
extern void NAG_CALL S30BAF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double sm[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30bbf_(calput, m, n, sm, s, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail, length_calput)  \
S30BBF(calput, length_calput, m, n, sm, s, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30bbf_ S30BBF
#else
#define  S30BBF s30bbf_
#endif
extern void NAG_CALL S30BBF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double sm[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double delta[] /* 2 dimension */,
  double gamma[] /* 2 dimension */,
  double vega[] /* 2 dimension */,
  double theta[] /* 2 dimension */,
  double rho[] /* 2 dimension */,
  double crho[] /* 2 dimension */,
  double vanna[] /* 2 dimension */,
  double charm[] /* 2 dimension */,
  double speed[] /* 2 dimension */,
  double colour[] /* 2 dimension */,
  double zomma[] /* 2 dimension */,
  double vomma[] /* 2 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30caf_(calput, m, n, x, s, k, t, sigma, r, q, p, ldp, ifail, length_calput)  \
S30CAF(calput, length_calput, m, n, x, s, k, t, sigma, r, q, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30caf_ S30CAF
#else
#define  S30CAF s30caf_
#endif
extern void NAG_CALL S30CAF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double REFPTR k,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30cbf_(calput, m, n, x, s, k, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail, length_calput)  \
S30CBF(calput, length_calput, m, n, x, s, k, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30cbf_ S30CBF
#else
#define  S30CBF s30cbf_
#endif
extern void NAG_CALL S30CBF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double REFPTR k,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double delta[] /* 2 dimension */,
  double gamma[] /* 2 dimension */,
  double vega[] /* 2 dimension */,
  double theta[] /* 2 dimension */,
  double rho[] /* 2 dimension */,
  double crho[] /* 2 dimension */,
  double vanna[] /* 2 dimension */,
  double charm[] /* 2 dimension */,
  double speed[] /* 2 dimension */,
  double colour[] /* 2 dimension */,
  double zomma[] /* 2 dimension */,
  double vomma[] /* 2 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30ccf_(calput, m, n, x, s, t, sigma, r, q, p, ldp, ifail, length_calput)  \
S30CCF(calput, length_calput, m, n, x, s, t, sigma, r, q, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30ccf_ S30CCF
#else
#define  S30CCF s30ccf_
#endif
extern void NAG_CALL S30CCF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30cdf_(calput, m, n, x, s, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail, length_calput)  \
S30CDF(calput, length_calput, m, n, x, s, t, sigma, r, q, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30cdf_ S30CDF
#else
#define  S30CDF s30cdf_
#endif
extern void NAG_CALL S30CDF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double delta[] /* 2 dimension */,
  double gamma[] /* 2 dimension */,
  double vega[] /* 2 dimension */,
  double theta[] /* 2 dimension */,
  double rho[] /* 2 dimension */,
  double crho[] /* 2 dimension */,
  double vanna[] /* 2 dimension */,
  double charm[] /* 2 dimension */,
  double speed[] /* 2 dimension */,
  double colour[] /* 2 dimension */,
  double zomma[] /* 2 dimension */,
  double vomma[] /* 2 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30faf_(calput, typ, m, n, x, s, h, k, t, sigma, r, q, p, ldp, ifail, length_calput, length_typ)  \
S30FAF(calput, length_calput, typ, length_typ, m, n, x, s, h, k, t, sigma, r, q, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30faf_ S30FAF
#else
#define  S30FAF s30faf_
#endif
extern void NAG_CALL S30FAF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST char * typ
#ifdef USE_STDCALL
,  CONST Charlen length_typ
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double REFPTR h,
  CONST double REFPTR k,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput,
 CONST Charlen length_typ
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30jaf_(calput, m, n, x, s, t, sigma, r, lambda, jvol, p, ldp, ifail, length_calput)  \
S30JAF(calput, length_calput, m, n, x, s, t, sigma, r, lambda, jvol, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30jaf_ S30JAF
#else
#define  S30JAF s30jaf_
#endif
extern void NAG_CALL S30JAF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR lambda,
  CONST double REFPTR jvol,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30jbf_(calput, m, n, x, s, t, sigma, r, lambda, jvol, p, ldp, delta, gamma, vega, theta, rho, vanna, charm, speed, colour, zomma, vomma, ifail, length_calput)  \
S30JBF(calput, length_calput, m, n, x, s, t, sigma, r, lambda, jvol, p, ldp, delta, gamma, vega, theta, rho, vanna, charm, speed, colour, zomma, vomma, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30jbf_ S30JBF
#else
#define  S30JBF s30jbf_
#endif
extern void NAG_CALL S30JBF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR lambda,
  CONST double REFPTR jvol,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double delta[] /* 2 dimension */,
  double gamma[] /* 2 dimension */,
  double vega[] /* 2 dimension */,
  double theta[] /* 2 dimension */,
  double rho[] /* 2 dimension */,
  double vanna[] /* 2 dimension */,
  double charm[] /* 2 dimension */,
  double speed[] /* 2 dimension */,
  double colour[] /* 2 dimension */,
  double zomma[] /* 2 dimension */,
  double vomma[] /* 2 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30naf_(calput, m, n, x, s, t, sigmav, kappa, corr, var0, eta, gamma, r, q, p, ldp, ifail, length_calput)  \
S30NAF(calput, length_calput, m, n, x, s, t, sigmav, kappa, corr, var0, eta, gamma, r, q, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30naf_ S30NAF
#else
#define  S30NAF s30naf_
#endif
extern void NAG_CALL S30NAF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigmav,
  CONST double REFPTR kappa,
  CONST double REFPTR corr,
  CONST double REFPTR var0,
  CONST double REFPTR eta,
  CONST double REFPTR gamma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30qcf_(calput, m, n, x, s, t, sigma, r, q, p, ldp, ifail, length_calput)  \
S30QCF(calput, length_calput, m, n, x, s, t, sigma, r, q, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30qcf_ S30QCF
#else
#define  S30QCF s30qcf_
#endif
extern void NAG_CALL S30QCF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR q,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30saf_(calput, m, n, x, s, t, sigma, r, b, p, ldp, ifail, length_calput)  \
S30SAF(calput, length_calput, m, n, x, s, t, sigma, r, b, p, ldp, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30saf_ S30SAF
#else
#define  S30SAF s30saf_
#endif
extern void NAG_CALL S30SAF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR b,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
s30sbf_(calput, m, n, x, s, t, sigma, r, b, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail, length_calput)  \
S30SBF(calput, length_calput, m, n, x, s, t, sigma, r, b, p, ldp, delta, gamma, vega, theta, rho, crho, vanna, charm, speed, colour, zomma, vomma, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  s30sbf_ S30SBF
#else
#define  S30SBF s30sbf_
#endif
extern void NAG_CALL S30SBF(
  CONST char * calput
#ifdef USE_STDCALL
,  CONST Charlen length_calput
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST double x[] /* 1 dimension */,
  CONST double REFPTR s,
  CONST double t[] /* 1 dimension */,
  CONST double REFPTR sigma,
  CONST double REFPTR r,
  CONST double REFPTR b,
  double p[] /* 2 dimension */,
  CONST Integer REFPTR ldp,
  double delta[] /* 2 dimension */,
  double gamma[] /* 2 dimension */,
  double vega[] /* 2 dimension */,
  double theta[] /* 2 dimension */,
  double rho[] /* 2 dimension */,
  double crho[] /* 2 dimension */,
  double vanna[] /* 2 dimension */,
  double charm[] /* 2 dimension */,
  double speed[] /* 2 dimension */,
  double colour[] /* 2 dimension */,
  double zomma[] /* 2 dimension */,
  double vomma[] /* 2 dimension */,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_calput
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x01aaf_(x)  \
X01AAF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x01aaf_ X01AAF
#else
#define  X01AAF x01aaf_
#endif
extern double NAG_CALL X01AAF(
  double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x01abf_(x)  \
X01ABF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x01abf_ X01ABF
#else
#define  X01ABF x01abf_
#endif
extern double NAG_CALL X01ABF(
  double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02ahf_(x)  \
X02AHF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02ahf_ X02AHF
#else
#define  X02AHF x02ahf_
#endif
extern double NAG_CALL X02AHF(
  double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02ajf_(VOID)  \
X02AJF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02ajf_ X02AJF
#else
#define  X02AJF x02ajf_
#endif
extern double NAG_CALL X02AJF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02akf_(VOID)  \
X02AKF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02akf_ X02AKF
#else
#define  X02AKF x02akf_
#endif
extern double NAG_CALL X02AKF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02alf_(VOID)  \
X02ALF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02alf_ X02ALF
#else
#define  X02ALF x02alf_
#endif
extern double NAG_CALL X02ALF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02amf_(VOID)  \
X02AMF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02amf_ X02AMF
#else
#define  X02AMF x02amf_
#endif
extern double NAG_CALL X02AMF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02anf_(VOID)  \
X02ANF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02anf_ X02ANF
#else
#define  X02ANF x02anf_
#endif
extern double NAG_CALL X02ANF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02bbf_(x)  \
X02BBF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02bbf_ X02BBF
#else
#define  X02BBF x02bbf_
#endif
extern int NAG_CALL X02BBF(
  double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02bef_(x)  \
X02BEF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02bef_ X02BEF
#else
#define  X02BEF x02bef_
#endif
extern int NAG_CALL X02BEF(
  double REFPTR x
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02bhf_(VOID)  \
X02BHF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02bhf_ X02BHF
#else
#define  X02BHF x02bhf_
#endif
extern int NAG_CALL X02BHF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02bjf_(VOID)  \
X02BJF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02bjf_ X02BJF
#else
#define  X02BJF x02bjf_
#endif
extern int NAG_CALL X02BJF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02bkf_(VOID)  \
X02BKF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02bkf_ X02BKF
#else
#define  X02BKF x02bkf_
#endif
extern int NAG_CALL X02BKF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02blf_(VOID)  \
X02BLF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02blf_ X02BLF
#else
#define  X02BLF x02blf_
#endif
extern int NAG_CALL X02BLF(
VOID
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x02daf_(x)  \
X02DAF(x) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x02daf_ X02DAF
#else
#define  X02DAF x02daf_
#endif
extern logical NAG_CALL X02DAF(
  double REFPTR x
);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x03aaf_(a, isizea, b, isizeb, n, istepa, istepb, c1, c2, d1, d2, sw, ifail)  \
X03AAF(a, isizea, b, isizeb, n, istepa, istepb, c1, c2, d1, d2, sw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x03aaf_ X03AAF
#else
#define  X03AAF x03aaf_
#endif
extern void NAG_CALL X03AAF(
  CONST double a[] /* 1 dimension */,
  CONST Integer REFPTR isizea,
  CONST double b[] /* 1 dimension */,
  CONST Integer REFPTR isizeb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR istepa,
  CONST Integer REFPTR istepb,
  CONST double REFPTR c1,
  CONST double REFPTR c2,
  double REFPTR d1,
  double REFPTR d2,
  CONST logical REFPTR sw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x03aaw_(oldcw)  \
X03AAW(oldcw) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x03aaw_ X03AAW
#else
#define  X03AAW x03aaw_
#endif
extern void NAG_CALL X03AAW(
  CONST Integer REFPTR oldcw
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x03aax_(oldcw)  \
X03AAX(oldcw) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x03aax_ X03AAX
#else
#define  X03AAX x03aax_
#endif
extern void NAG_CALL X03AAX(
  CONST Integer REFPTR oldcw
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x03abf_(a, isizea, b, isizeb, n, istepa, istepb, cx, dx, sw, ifail)  \
X03ABF(a, isizea, b, isizeb, n, istepa, istepb, cx, dx, sw, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x03abf_ X03ABF
#else
#define  X03ABF x03abf_
#endif
extern void NAG_CALL X03ABF(
  CONST Complex a[] /* 1 dimension */,
  CONST Integer REFPTR isizea,
  CONST Complex b[] /* 1 dimension */,
  CONST Integer REFPTR isizeb,
  CONST Integer REFPTR n,
  CONST Integer REFPTR istepa,
  CONST Integer REFPTR istepb,
  CONST Complex REFPTR cx,
  Complex REFPTR dx,
  CONST logical REFPTR sw,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04aaf_(iflag, nerr)  \
X04AAF(iflag, nerr) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04aaf_ X04AAF
#else
#define  X04AAF x04aaf_
#endif
extern void NAG_CALL X04AAF(
  CONST Integer REFPTR iflag,
  Integer REFPTR nerr
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04abf_(iflag, nadv)  \
X04ABF(iflag, nadv) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04abf_ X04ABF
#else
#define  X04ABF x04abf_
#endif
extern void NAG_CALL X04ABF(
  CONST Integer REFPTR iflag,
  Integer REFPTR nadv
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04acf_(iounit, file, mode, ifail, length_file)  \
X04ACF(iounit, file, length_file, mode, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04acf_ X04ACF
#else
#define  X04ACF x04acf_
#endif
extern void NAG_CALL X04ACF(
  CONST Integer REFPTR iounit,
  CONST char * file
#ifdef USE_STDCALL
,  CONST Charlen length_file
#endif
,
  CONST Integer REFPTR mode,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_file
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04acz_(iounit, ifail)  \
X04ACZ(iounit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04acz_ X04ACZ
#else
#define  X04ACZ x04acz_
#endif
extern void NAG_CALL X04ACZ(
  CONST Integer REFPTR iounit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04adf_(iounit, ifail)  \
X04ADF(iounit, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04adf_ X04ADF
#else
#define  X04ADF x04adf_
#endif
extern void NAG_CALL X04ADF(
  CONST Integer REFPTR iounit,
  Integer REFPTR ifail
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04baf_(nout, rec, length_rec)  \
X04BAF(nout, rec, length_rec) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04baf_ X04BAF
#else
#define  X04BAF x04baf_
#endif
extern void NAG_CALL X04BAF(
  CONST Integer REFPTR nout,
  CONST char * rec
#ifdef USE_STDCALL
,  CONST Charlen length_rec
#endif

#ifndef USE_STDCALL
, CONST Charlen length_rec
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04bbf_(nin, recin, ifail, length_recin)  \
X04BBF(nin, recin, length_recin, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04bbf_ X04BBF
#else
#define  X04BBF x04bbf_
#endif
extern void NAG_CALL X04BBF(
  CONST Integer REFPTR nin,
  char * recin
#ifdef USE_STDCALL
,  CONST Charlen length_recin
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_recin
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04caf_(matrix, diag, m, n, a, lda, title, ifail, length_matrix, length_diag, length_title)  \
X04CAF(matrix, length_matrix, diag, length_diag, m, n, a, lda, title, length_title, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04caf_ X04CAF
#else
#define  X04CAF x04caf_
#endif
extern void NAG_CALL X04CAF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#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,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_diag,
 CONST Charlen length_title
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04cbf_(matrix, diag, m, n, a, lda, form, title, labrow, rlabs, labcol, clabs, ncols, indent, ifail, length_matrix, length_diag, length_form, length_title, length_labrow, length_rlabs, length_labcol, length_clabs)  \
X04CBF(matrix, length_matrix, diag, length_diag, m, n, a, lda, form, length_form, title, length_title, labrow, length_labrow, rlabs, length_rlabs, labcol, length_labcol, clabs, length_clabs, ncols, indent, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04cbf_ X04CBF
#else
#define  X04CBF x04cbf_
#endif
extern void NAG_CALL X04CBF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#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,
  CONST char * form
#ifdef USE_STDCALL
,  CONST Charlen length_form
#endif
,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  CONST char * labrow
#ifdef USE_STDCALL
,  CONST Charlen length_labrow
#endif
,
  CONST char rlabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rlabs
#endif
,
  CONST char * labcol
#ifdef USE_STDCALL
,  CONST Charlen length_labcol
#endif
,
  CONST char clabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_clabs
#endif
,
  CONST Integer REFPTR ncols,
  CONST Integer REFPTR indent,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_diag,
 CONST Charlen length_form,
 CONST Charlen length_title,
 CONST Charlen length_labrow,
 CONST Charlen length_rlabs,
 CONST Charlen length_labcol,
 CONST Charlen length_clabs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04ccf_(uplo, diag, n, a, title, ifail, length_uplo, length_diag, length_title)  \
X04CCF(uplo, length_uplo, diag, length_diag, n, a, title, length_title, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04ccf_ X04CCF
#else
#define  X04CCF x04ccf_
#endif
extern void NAG_CALL X04CCF(
  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[] /* 1 dimension */,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag,
 CONST Charlen length_title
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04cdf_(uplo, diag, n, a, form, title, labrow, rlabs, labcol, clabs, ncols, indent, ifail, length_uplo, length_diag, length_form, length_title, length_labrow, length_rlabs, length_labcol, length_clabs)  \
X04CDF(uplo, length_uplo, diag, length_diag, n, a, form, length_form, title, length_title, labrow, length_labrow, rlabs, length_rlabs, labcol, length_labcol, clabs, length_clabs, ncols, indent, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04cdf_ X04CDF
#else
#define  X04CDF x04cdf_
#endif
extern void NAG_CALL X04CDF(
  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[] /* 1 dimension */,
  CONST char * form
#ifdef USE_STDCALL
,  CONST Charlen length_form
#endif
,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  CONST char * labrow
#ifdef USE_STDCALL
,  CONST Charlen length_labrow
#endif
,
  CONST char rlabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rlabs
#endif
,
  CONST char * labcol
#ifdef USE_STDCALL
,  CONST Charlen length_labcol
#endif
,
  CONST char clabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_clabs
#endif
,
  CONST Integer REFPTR ncols,
  CONST Integer REFPTR indent,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag,
 CONST Charlen length_form,
 CONST Charlen length_title,
 CONST Charlen length_labrow,
 CONST Charlen length_rlabs,
 CONST Charlen length_labcol,
 CONST Charlen length_clabs
#endif

);

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

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04cff_(m, n, kl, ku, a, lda, form, title, labrow, rlabs, labcol, clabs, ncols, indent, ifail, length_form, length_title, length_labrow, length_rlabs, length_labcol, length_clabs)  \
X04CFF(m, n, kl, ku, a, lda, form, length_form, title, length_title, labrow, length_labrow, rlabs, length_rlabs, labcol, length_labcol, clabs, length_clabs, ncols, indent, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04cff_ X04CFF
#else
#define  X04CFF x04cff_
#endif
extern void NAG_CALL X04CFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST double a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST char * form
#ifdef USE_STDCALL
,  CONST Charlen length_form
#endif
,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  CONST char * labrow
#ifdef USE_STDCALL
,  CONST Charlen length_labrow
#endif
,
  CONST char rlabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rlabs
#endif
,
  CONST char * labcol
#ifdef USE_STDCALL
,  CONST Charlen length_labcol
#endif
,
  CONST char clabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_clabs
#endif
,
  CONST Integer REFPTR ncols,
  CONST Integer REFPTR indent,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_form,
 CONST Charlen length_title,
 CONST Charlen length_labrow,
 CONST Charlen length_rlabs,
 CONST Charlen length_labcol,
 CONST Charlen length_clabs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04daf_(matrix, diag, m, n, a, lda, title, ifail, length_matrix, length_diag, length_title)  \
X04DAF(matrix, length_matrix, diag, length_diag, m, n, a, lda, title, length_title, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04daf_ X04DAF
#else
#define  X04DAF x04daf_
#endif
extern void NAG_CALL X04DAF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#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,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_diag,
 CONST Charlen length_title
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04dbf_(matrix, diag, m, n, a, lda, usefrm, form, title, labrow, rlabs, labcol, clabs, ncols, indent, ifail, length_matrix, length_diag, length_usefrm, length_form, length_title, length_labrow, length_rlabs, length_labcol, length_clabs)  \
X04DBF(matrix, length_matrix, diag, length_diag, m, n, a, lda, usefrm, length_usefrm, form, length_form, title, length_title, labrow, length_labrow, rlabs, length_rlabs, labcol, length_labcol, clabs, length_clabs, ncols, indent, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04dbf_ X04DBF
#else
#define  X04DBF x04dbf_
#endif
extern void NAG_CALL X04DBF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#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,
  CONST char * usefrm
#ifdef USE_STDCALL
,  CONST Charlen length_usefrm
#endif
,
  CONST char * form
#ifdef USE_STDCALL
,  CONST Charlen length_form
#endif
,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  CONST char * labrow
#ifdef USE_STDCALL
,  CONST Charlen length_labrow
#endif
,
  CONST char rlabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rlabs
#endif
,
  CONST char * labcol
#ifdef USE_STDCALL
,  CONST Charlen length_labcol
#endif
,
  CONST char clabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_clabs
#endif
,
  CONST Integer REFPTR ncols,
  CONST Integer REFPTR indent,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_diag,
 CONST Charlen length_usefrm,
 CONST Charlen length_form,
 CONST Charlen length_title,
 CONST Charlen length_labrow,
 CONST Charlen length_rlabs,
 CONST Charlen length_labcol,
 CONST Charlen length_clabs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04dcf_(uplo, diag, n, a, title, ifail, length_uplo, length_diag, length_title)  \
X04DCF(uplo, length_uplo, diag, length_diag, n, a, title, length_title, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04dcf_ X04DCF
#else
#define  X04DCF x04dcf_
#endif
extern void NAG_CALL X04DCF(
  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[] /* 1 dimension */,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag,
 CONST Charlen length_title
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04ddf_(uplo, diag, n, a, usefrm, form, title, labrow, rlabs, labcol, clabs, ncols, indent, ifail, length_uplo, length_diag, length_usefrm, length_form, length_title, length_labrow, length_rlabs, length_labcol, length_clabs)  \
X04DDF(uplo, length_uplo, diag, length_diag, n, a, usefrm, length_usefrm, form, length_form, title, length_title, labrow, length_labrow, rlabs, length_rlabs, labcol, length_labcol, clabs, length_clabs, ncols, indent, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04ddf_ X04DDF
#else
#define  X04DDF x04ddf_
#endif
extern void NAG_CALL X04DDF(
  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[] /* 1 dimension */,
  CONST char * usefrm
#ifdef USE_STDCALL
,  CONST Charlen length_usefrm
#endif
,
  CONST char * form
#ifdef USE_STDCALL
,  CONST Charlen length_form
#endif
,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  CONST char * labrow
#ifdef USE_STDCALL
,  CONST Charlen length_labrow
#endif
,
  CONST char rlabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rlabs
#endif
,
  CONST char * labcol
#ifdef USE_STDCALL
,  CONST Charlen length_labcol
#endif
,
  CONST char clabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_clabs
#endif
,
  CONST Integer REFPTR ncols,
  CONST Integer REFPTR indent,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_uplo,
 CONST Charlen length_diag,
 CONST Charlen length_usefrm,
 CONST Charlen length_form,
 CONST Charlen length_title,
 CONST Charlen length_labrow,
 CONST Charlen length_rlabs,
 CONST Charlen length_labcol,
 CONST Charlen length_clabs
#endif

);

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

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04dff_(m, n, kl, ku, a, lda, usefrm, form, title, labrow, rlabs, labcol, clabs, ncols, indent, ifail, length_usefrm, length_form, length_title, length_labrow, length_rlabs, length_labcol, length_clabs)  \
X04DFF(m, n, kl, ku, a, lda, usefrm, length_usefrm, form, length_form, title, length_title, labrow, length_labrow, rlabs, length_rlabs, labcol, length_labcol, clabs, length_clabs, ncols, indent, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04dff_ X04DFF
#else
#define  X04DFF x04dff_
#endif
extern void NAG_CALL X04DFF(
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer REFPTR kl,
  CONST Integer REFPTR ku,
  CONST Complex a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST char * usefrm
#ifdef USE_STDCALL
,  CONST Charlen length_usefrm
#endif
,
  CONST char * form
#ifdef USE_STDCALL
,  CONST Charlen length_form
#endif
,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  CONST char * labrow
#ifdef USE_STDCALL
,  CONST Charlen length_labrow
#endif
,
  CONST char rlabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rlabs
#endif
,
  CONST char * labcol
#ifdef USE_STDCALL
,  CONST Charlen length_labcol
#endif
,
  CONST char clabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_clabs
#endif
,
  CONST Integer REFPTR ncols,
  CONST Integer REFPTR indent,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_usefrm,
 CONST Charlen length_form,
 CONST Charlen length_title,
 CONST Charlen length_labrow,
 CONST Charlen length_rlabs,
 CONST Charlen length_labcol,
 CONST Charlen length_clabs
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04eaf_(matrix, diag, m, n, a, lda, title, ifail, length_matrix, length_diag, length_title)  \
X04EAF(matrix, length_matrix, diag, length_diag, m, n, a, lda, title, length_title, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04eaf_ X04EAF
#else
#define  X04EAF x04eaf_
#endif
extern void NAG_CALL X04EAF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_diag,
 CONST Charlen length_title
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x04ebf_(matrix, diag, m, n, a, lda, form, title, labrow, rlabs, labcol, clabs, ncols, indent, ifail, length_matrix, length_diag, length_form, length_title, length_labrow, length_rlabs, length_labcol, length_clabs)  \
X04EBF(matrix, length_matrix, diag, length_diag, m, n, a, lda, form, length_form, title, length_title, labrow, length_labrow, rlabs, length_rlabs, labcol, length_labcol, clabs, length_clabs, ncols, indent, ifail) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x04ebf_ X04EBF
#else
#define  X04EBF x04ebf_
#endif
extern void NAG_CALL X04EBF(
  CONST char * matrix
#ifdef USE_STDCALL
,  CONST Charlen length_matrix
#endif
,
  CONST char * diag
#ifdef USE_STDCALL
,  CONST Charlen length_diag
#endif
,
  CONST Integer REFPTR m,
  CONST Integer REFPTR n,
  CONST Integer a[] /* 2 dimension */,
  CONST Integer REFPTR lda,
  CONST char * form
#ifdef USE_STDCALL
,  CONST Charlen length_form
#endif
,
  CONST char * title
#ifdef USE_STDCALL
,  CONST Charlen length_title
#endif
,
  CONST char * labrow
#ifdef USE_STDCALL
,  CONST Charlen length_labrow
#endif
,
  CONST char rlabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_rlabs
#endif
,
  CONST char * labcol
#ifdef USE_STDCALL
,  CONST Charlen length_labcol
#endif
,
  CONST char clabs[] /* 1 dimension */
#ifdef USE_STDCALL
,  CONST Charlen length_clabs
#endif
,
  CONST Integer REFPTR ncols,
  CONST Integer REFPTR indent,
  Integer REFPTR ifail
#ifndef USE_STDCALL
, CONST Charlen length_matrix,
 CONST Charlen length_diag,
 CONST Charlen length_form,
 CONST Charlen length_title,
 CONST Charlen length_labrow,
 CONST Charlen length_rlabs,
 CONST Charlen length_labcol,
 CONST Charlen length_clabs
#endif

);

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

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x05abf_(return_val,length_return_val,itime)  \
X05ABF(return_val,length_return_val,itime) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x05abf_ X05ABF
#else
#define  X05ABF x05abf_
#endif
extern void NAG_CALL X05ABF(
  char *return_val,
  int length_return_val,
  CONST Integer itime[] /* 1 dimension */
);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x05acf_(ctime1, ctime2, length_ctime1, length_ctime2)  \
X05ACF(ctime1, length_ctime1, ctime2, length_ctime2) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x05acf_ X05ACF
#else
#define  X05ACF x05acf_
#endif
extern int NAG_CALL X05ACF(
  CONST char * ctime1
#ifdef USE_STDCALL
,  CONST Charlen length_ctime1
#endif
,
  CONST char * ctime2
#ifdef USE_STDCALL
,  CONST Charlen length_ctime2
#endif

#ifndef USE_STDCALL
, CONST Charlen length_ctime1,
 CONST Charlen length_ctime2
#endif

);

#if defined (_WIN32) && defined (USE_STDCALL)
#define \
x05baf_(VOID)  \
X05BAF(VOID) 
#elif defined (_WIN32) || defined (_WIN64)
#define  x05baf_ X05BAF
#else
#define  X05BAF x05baf_
#endif
extern double NAG_CALL X05BAF(
VOID
);

#ifdef __cplusplus
}
#endif

#endif

