/*
 * Copyright 12/04/98 Sun Microsystems, Inc.  All Rights Reserved.
 */

#ifndef _SUNPERF_H
#define _SUNPERF_H

#ifdef __cplusplus
extern "C" {
#endif

#ifdef __STDC__
#define	__P(p)	p
#else
#define	__P(p)	()
#endif

#ifndef _SUNPERF_COMPLEX
#define _SUNPERF_COMPLEX
typedef struct {
	float r;
	float i;
} complex;
typedef struct {
	double r;
	double i;
} doublecomplex;
#endif  /* !defined(_SUNPERF_COMPLEX) */

extern int use_int_workspace __P((int *, int));
extern int use_workspace __P((char *, int));
extern int use_double_workspace __P((double *, int));
extern complex *coptimal_workspace __P((void));
extern double doptimal_workspace __P((void));
extern float soptimal_workspace __P((void));
extern doublecomplex *zoptimal_workspace __P((void));
extern void caxpy __P((int, complex *, complex *, int, complex *, int));
extern void ccopy __P((int, complex *, int, complex *, int));
extern complex cdotc __P((int, complex *, int, complex *, int));
extern complex cdotu __P((int, complex *, int, complex *, int));
extern void cgbmv __P((char, int, int, int, int, complex *, complex *, int,
                       complex *, int, complex *, complex *, int));
extern void cgemm __P((char, char, int, int, int, complex *, complex *, int,
                       complex *, int, complex *, complex *, int));
extern void cgemv __P((char, int, int, complex *, complex *, int, complex *,
                       int, complex *, complex *, int));
extern void cgerc __P((int, int, complex *, complex *, int, complex *, int,
                       complex *, int));
extern void cgeru __P((int, int, complex *, complex *, int, complex *, int,
                       complex *, int));
extern void chbmv __P((char, int, int, complex *, complex *, int, complex *,
                       int, complex *, complex *, int));
extern void chemm __P((char, char, int, int, complex *, complex *, int,
                       complex *, int, complex *, complex *, int));
extern void chemv __P((char, int, complex *, complex *, int, complex *, int,
                       complex *, complex *, int));
extern void cher __P((char, int, float, complex *, int, complex *, int));
extern void cher2 __P((char, int, complex *, complex *, int, complex *, int,
                       complex *, int));
extern void cher2k __P((char, char, int, int, complex *, complex *, int,
                        complex *, int, float, complex *, int));
extern void cherk __P((char, char, int, int, float, complex *, int, float,
                       complex *, int));
extern void chpmv __P((char, int, complex *, complex *, complex *, int,
                       complex *, complex *, int));
extern void chpr __P((char, int, float, complex *, int, complex *));
extern void chpr2 __P((char, int, complex *, complex *, int, complex *, int,
                       complex *));
extern void crotg __P((complex *, complex *, float *, complex *));
extern void cscal __P((int, complex *, complex *, int));
extern void csscal __P((int, float, complex *, int));
extern void cswap __P((int, complex *, int, complex *, int));
extern void csymm __P((char, char, int, int, complex *, complex *, int,
                       complex *, int, complex *, complex *, int));
extern void csyr2k __P((char, char, int, int, complex *, complex *, int,
                        complex *, int, complex *, complex *, int));
extern void csyrk __P((char, char, int, int, complex *, complex *, int,
                       complex *, complex *, int));
extern void ctbmv __P((char, char, char, int, int, complex *, int, complex *,
                       int));
extern void ctbsv __P((char, char, char, int, int, complex *, int, complex *,
                       int));
extern void ctpmv __P((char, char, char, int, complex *, complex *, int));
extern void ctpsv __P((char, char, char, int, complex *, complex *, int));
extern void ctrmm __P((char, char, char, char, int, int, complex *, complex *,
                       int, complex *, int));
extern void ctrmv __P((char, char, char, int, complex *, int, complex *, int));
extern void ctrsm __P((char, char, char, char, int, int, complex *, complex *,
                       int, complex *, int ldb));
extern void ctrsv __P((char, char, char, int, complex *, int, complex *, int));
extern double dasum __P((int, double *, int));
extern void daxpy __P((int, double, double *, int, double *, int));
extern double dcabs1 __P((doublecomplex *));
extern void dcopy __P((int, double *, int, double *, int));
extern double ddot __P((int, double *, int, double *, int));
extern void dgbmv __P((char, int, int, int, int, double, double *, int,
                       double *, int, double, double *, int));
extern void dgemm __P((char, char, int, int, int, double, double *, int,
                       double *, int, double, double *, int));
extern void dgemv __P((char, int, int, double, double *, int, double *, int,
                       double, double *, int));
extern void dger __P((int, int, double, double *, int, double *, int, double *,
                      int));
extern double dnrm2 __P((int, double *, int));
extern double dqdota __P((int, double, long double *, double *, int, double *,
                          int));
extern double dqdoti __P((int, double, long double *, double *, int, double *,
                          int));
extern void drot __P((int, double *, int, double *, int, double, double));
extern void drotg __P((double *, double *, double *, double *));
extern void drotm __P((int, double *, int, double *, int, double *));
extern void drotmg __P((double *, double *, double *, double *, double *));
extern void dsbmv __P((char, int, int, double, double *, int, double *, int,
                       double, double *, int));
extern void dscal __P((int, double, double *, int));
extern double dsdot __P((int, float *, int, float *, int));
extern void dspmv __P((char, int, double, double *, double *, int, double,
                       double *, int));
extern void dspr __P((char, int, double, double *, int, double *));
extern void dspr2 __P((char, int, double, double *, int, double *, int,
                       double *));
extern void dswap __P((int, double *, int, double *, int));
extern void dsymm __P((char, char, int, int, double, double *, int, double *,
                       int, double, double *, int));
extern void dsymv __P((char, int, double, double *, int, double *, int, double,
                       double *, int));
extern void dsyr __P((char, int, double, double *, int, double *, int));
extern void dsyr2 __P((char, int, double, double *, int, double *, int,
                       double *, int));
extern void dsyr2k __P((char, char, int, int, double, double *, int, double *,
                        int, double, double *, int));
extern void dsyrk __P((char, char, int, int, double, double *, int, double,
                       double *, int));
extern void dtbmv __P((char, char, char, int, int, double *, int, double *,
                       int));
extern void dtbsv __P((char, char, char, int, int, double *, int, double *,
                       int));
extern void dtpmv __P((char, char, char, int, double *, double *, int));
extern void dtpsv __P((char, char, char, int, double *, double *, int));
extern void dtrmm __P((char, char, char, char, int, int, double, double *, int,
                       double *, int));
extern void dtrmv __P((char, char, char, int, double *, int, double *, int));
extern void dtrsm __P((char, char, char, char, int, int, double, double *, int,
                       double *, int));
extern void dtrsv __P((char, char, char, int, double *, int, double *, int));
extern double dzasum __P((int, doublecomplex *, int));
extern double dznrm2 __P((int, doublecomplex *, int));
extern int icamax __P((int, complex *, int));
extern int idamax __P((int, double *, int));
extern int isamax __P((int, float *, int));
extern int izamax __P((int, doublecomplex *, int));
extern float sasum __P((int, float *, int));
extern void saxpy __P((int, float, float *, int, float *, int));
extern float scasum __P((int, complex *, int));
extern float scnrm2 __P((int, complex *, int));
extern void scopy __P((int, float *, int, float *, int));
extern float sdot __P((int, float *, int, float *, int));
extern float sdsdot __P((int, float, float *, int, float *, int));
extern void sgbmv __P((char, int, int, int, int, float, float *, int, float *,
                       int, float, float *, int));
extern void sgemm __P((char, char, int, int, int, float, float *, int, float *,
                       int, float, float *, int));
extern void sgemv __P((char, int, int, float, float *, int, float *, int, float,
                       float *, int));
extern void sger __P((int, int, float, float *, int, float *, int, float *,
                      int));
extern float snrm2 __P((int, float *, int));
extern void srot __P((int, float *, int, float *, int, float, float));
extern void srotg __P((float *, float *, float *, float *));
extern void srotm __P((int, float *, int, float *, int, float *));
extern void srotmg __P((float *, float *, float *, float *, float *));
extern void ssbmv __P((char, int, int, float, float *, int, float *, int, float,
                       float *, int));
extern void sscal __P((int, float, float *, int));
extern void sspmv __P((char, int, float, float *, float *, int, float, float *,
                       int));
extern void sspr __P((char, int, float, float *, int, float *));
extern void sspr2 __P((char, int, float, float *, int, float *, int, float *));
extern void sswap __P((int, float *, int, float *, int));
extern void ssymm __P((char, char, int, int, float, float *, int, float *, int,
                       float, float *, int));
extern void ssymv __P((char, int, float, float *, int, float *, int, float,
                       float *, int));
extern void ssyr __P((char, int, float, float *, int, float *, int));
extern void ssyr2 __P((char, int, float, float *, int, float *, int, float *,
                       int));
extern void ssyr2k __P((char, char, int, int, float, float *, int, float *, int,
                        float, float *, int));
extern void ssyrk __P((char, char, int, int, float, float *, int, float,
                       float *, int));
extern void stbmv __P((char, char, char, int, int, float *, int, float *, int));
extern void stbsv __P((char, char, char, int, int, float *, int, float *, int));
extern void stpmv __P((char, char, char, int, float *, float *, int));
extern void stpsv __P((char, char, char, int, float *, float *, int));
extern void strmm __P((char, char, char, char, int, int, float, float *, int,
                       float *, int));
extern void strmv __P((char, char, char, int, float *, int, float *, int));
extern void strsm __P((char, char, char, char, int, int, float, float *, int,
                       float *, int));
extern void strsv __P((char, char, char, int, float *, int, float *, int));
extern void xerbla __P((char *, int));
extern void zaxpy __P((int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int));
extern void zcopy __P((int, doublecomplex *, int, doublecomplex *, int));
extern doublecomplex zdotc __P((int, doublecomplex *, int, doublecomplex *,
                                int));
extern doublecomplex zdotu __P((int, doublecomplex *, int, doublecomplex *,
                                int));
extern void zdscal __P((int, double, doublecomplex *, int));
extern void zgbmv __P((char, int, int, int, int, doublecomplex *,
                       doublecomplex *, int, doublecomplex *, int,
                       doublecomplex *, doublecomplex *, int));
extern void zgemm __P((char, char, int, int, int, doublecomplex *,
                       doublecomplex *, int, doublecomplex *, int,
                       doublecomplex *, doublecomplex *, int));
extern void zgemv __P((char, int, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, doublecomplex *,
                       int));
extern void zgerc __P((int, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, int));
extern void zgeru __P((int, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, int));
extern void zhbmv __P((char, int, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, doublecomplex *,
                       int));
extern void zhemm __P((char, char, int, int, doublecomplex *, doublecomplex *,
                       int, doublecomplex *, int, doublecomplex *,
                       doublecomplex *, int));
extern void zhemv __P((char, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, doublecomplex *,
                       int));
extern void zher __P((char, int, double, doublecomplex *, int, doublecomplex *,
                      int));
extern void zher2 __P((char, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, int));
extern void zher2k __P((char, char, int, int, doublecomplex *, doublecomplex *,
                        int, doublecomplex *, int, double, doublecomplex *,
                        int));
extern void zherk __P((char, char, int, int, double, doublecomplex *, int,
                       double, doublecomplex *, int));
extern void zhpmv __P((char, int, doublecomplex *, doublecomplex *,
                       doublecomplex *, int, doublecomplex *, doublecomplex *,
                       int));
extern void zhpr __P((char, int, double *, doublecomplex *, int,
                      doublecomplex *));
extern void zhpr2 __P((char, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *));
extern void zrotg __P((doublecomplex *, doublecomplex *, double *,
                       doublecomplex *));
extern void zscal __P((int, doublecomplex *, doublecomplex *, int));
extern void zswap __P((int, doublecomplex *, int, doublecomplex *, int));
extern void zsymm __P((char, char, int, int, doublecomplex *, doublecomplex *,
                       int, doublecomplex *, int, doublecomplex *,
                       doublecomplex *, int));
extern void zsyr2k __P((char, char, int, int, doublecomplex *, doublecomplex *,
                        int, doublecomplex *, int, doublecomplex *,
                        doublecomplex *, int));
extern void zsyrk __P((char, char, int, int, doublecomplex *, doublecomplex *,
                       int, doublecomplex *, doublecomplex *, int));
extern void ztbmv __P((char, char, char, int, int, doublecomplex *, int,
                       doublecomplex *, int));
extern void ztbsv __P((char, char, char, int, int, doublecomplex *, int,
                       doublecomplex *, int));
extern void ztpmv __P((char, char, char, int, doublecomplex *, doublecomplex *,
                       int));
extern void ztpsv __P((char, char, char, int, doublecomplex *, doublecomplex *,
                       int));
extern void ztrmm __P((char, char, char, char, int, int, doublecomplex *,
                       doublecomplex *, int, doublecomplex *, int));
extern void ztrmv __P((char, char, char, int, doublecomplex *, int,
                       doublecomplex *, int));
extern void ztrsm __P((char, char, char, char, int, int, doublecomplex *,
                       doublecomplex *, int, doublecomplex *, int ldb));
extern void ztrsv __P((char, char, char, int, doublecomplex *, int,
                       doublecomplex *, int));
extern void cfftb __P((int, complex *, complex *));
extern void cfftf __P((int, complex *, complex *));
extern void cffti __P((int, complex *));
extern void cosqb __P((int, float *, float *));
extern void cosqf __P((int, float *, float *));
extern void cosqi __P((int, float *));
extern void cost __P((int, float *, float *));
extern void costi __P((int, float *));
extern void dcosqb __P((int, double *, double *));
extern void dcosqf __P((int, double *, double *));
extern void dcosqi __P((int, double *));
extern void dcost __P((int, double *, double *));
extern void dcosti __P((int, double *));
extern void dezftb __P((int, double *, double *, double *, double *, double *));
extern void dezfftf __P((int, double *, double *, double *, double *,
                         double *));
extern void dezfti __P((int, double *));
extern void dfftb __P((int, double *, double *));
extern void dfftf __P((int, double *, double *));
extern void dffti __P((int, double *));
extern void dsinqb __P((int, double *, double *));
extern void dsinqf __P((int, double *, double *));
extern void dsinqi __P((int, double *));
extern void dsint __P((int, double *, double *));
extern void dsinti __P((int, double *));
extern void ezfftb __P((int, float *, float *, float *, float *, float *));
extern void ezfftf __P((int, float *, float *, float *, float *, float *));
extern void ezffti __P((int, float *));
extern void rfftb __P((int, float *, float *));
extern void rfftf __P((int, float *, float *));
extern void rffti __P((int, float *));
extern void sinqb __P((int, float *, float *));
extern void sinqf __P((int, float *, float *));
extern void sinqi __P((int, float *));
extern void sint __P((int, float *, float *));
extern void sinti __P((int, float *));
extern void zfftb __P((int, doublecomplex *, doublecomplex *));
extern void zfftf __P((int, doublecomplex *, doublecomplex *));
extern void zffti __P((int, doublecomplex *));
extern void cchdc __P((complex *, int, int, int *, int, int *));
extern void cchdd __P((complex *, int, int, complex *, complex *, int, int,
                       complex *, float *, float *, complex *, int *));
extern void cchex __P((complex *, int, int, int, int, complex *, int, int,
                       float *, complex *, int));
extern void cchud __P((complex *, int, int, complex *, complex *, int, int,
                       complex *, float *, float *, complex *));
extern void cgbco __P((complex *, int, int, int, int, int *, float *));
extern void cgbdi __P((complex *, int, int, int, int, int *, complex *));
extern void cgbfa __P((complex *, int, int, int, int, int *, int *));
extern void cgbsl __P((complex *, int, int, int, int, int *, complex *, int));
extern void cgeco __P((complex *, int, int, int *, float *));
extern void cgedi __P((complex *, int, int, int *, complex *, int));
extern void cgefa __P((complex *, int, int, int *, int *));
extern void cgesl __P((complex *, int, int, int *, complex *, int));
extern void cgtsl __P((int, complex *, complex *, complex *, complex *, int *));
extern void chico __P((complex *, int, int, int *, float *));
extern void chidi __P((complex *, int, int, int *, float *, int *, int));
extern void chifa __P((complex *, int, int, int *, int *));
extern void chisl __P((complex *, int, int, int *, complex *));
extern void chpco __P((complex *, int, int *, float *));
extern void chpdi __P((complex *, int, int *, float *, int *, int));
extern void chpfa __P((complex *, int, int *, int *));
extern void chpsl __P((complex *, int, int *, complex *));
extern void cpbco __P((complex *, int, int, int, float *, int *));
extern void cpbdi __P((complex *, int, int, int, float *));
extern void cpbfa __P((complex *, int, int, int, int *));
extern void cpbsl __P((complex *, int, int, int, complex *));
extern void cpoco __P((complex *, int, int, float *, int *));
extern void cpodi __P((complex *, int, int, float *, int));
extern void cpofa __P((complex *, int, int, int *));
extern void cposl __P((complex *, int, int, complex *));
extern void cppco __P((complex *, int, float *, int *));
extern void cppdi __P((complex *, int, float *, int));
extern void cppfa __P((complex *, int, int *));
extern void cppsl __P((complex *, int, complex *));
extern void cptsl __P((int, complex *, complex *, complex *));
extern void cqrdc __P((complex *, int, int, int, complex *, int *, int));
extern void cqrsl __P((complex *, int, int, int, complex *, complex *,
                       complex *, complex *, complex *, complex *, complex *,
                       int, int *));
extern void csico __P((complex *, int, int, int *, float *));
extern void csidi __P((complex *, int, int, int *, complex *, int));
extern void csifa __P((complex *, int, int, int *, int *));
extern void csisl __P((complex *, int, int, int *, complex *));
extern void cspco __P((complex *, int, int *, float *));
extern void cspdi __P((complex *, int, int *, complex *, int));
extern void cspfa __P((complex *, int, int *, int *));
extern void cspsl __P((complex *, int, int *, complex *));
extern void csvdc __P((complex *, int, int, int, complex *, complex *,
                       complex *, int, complex *, int, int, int *));
extern void ctrco __P((complex *, int, int, float *, int));
extern void ctrdi __P((complex *, int, int, complex *, int, int *));
extern void ctrsl __P((complex *, int, int, complex *, int, int *));
extern void dchdc __P((double *, int, int, int *, int, int *));
extern void dchdd __P((double *, int, int, double *, double *, int, int,
                       double *, double *, double *, double *, int *));
extern void dchex __P((double *, int, int, int, int, double *, int, int,
                       double *, double *, int));
extern void dchud __P((double *, int, int, double *, double *, int, int,
                       double *, double *, double *, double *));
extern void dgbco __P((double *, int, int, int, int, int *, double *));
extern void dgbdi __P((double *, int, int, int, int, int *, double *));
extern void dgbfa __P((double *, int, int, int, int, int *, int *));
extern void dgbsl __P((double *, int, int, int, int, int *, double *, int));
extern void dgeco __P((double *, int, int, int *, double *));
extern void dgedi __P((double *, int, int, int *, double *, int));
extern void dgefa __P((double *, int, int, int *, int *));
extern void dgesl __P((double *, int, int, int *, double *, int));
extern void dgtsl __P((int, double *, double *, double *, double *, int *));
extern void dpbco __P((double *, int, int, int, double *, int *));
extern void dpbdi __P((double *, int, int, int, double *));
extern void dpbfa __P((double *, int, int, int, int *));
extern void dpbsl __P((double *, int, int, int, double *));
extern void dpoco __P((double *, int, int, double *, int *));
extern void dpodi __P((double *, int, int, double *, int));
extern void dpofa __P((double *, int, int, int *));
extern void dposl __P((double *, int, int, double *));
extern void dppco __P((double *, int, double *, int *));
extern void dppdi __P((double *, int, double *, int));
extern void dppfa __P((double *, int, int *));
extern void dppsl __P((double *, int, double *));
extern void dptsl __P((int, double *, double *, double *));
extern void dqrdc __P((double *, int, int, int, double *, int *, int));
extern void dqrsl __P((double *, int, int, int, double *, double *, double *,
                       double *, double *, double *, double *, int, int *));
extern void dsico __P((double *, int, int, int *, double *));
extern void dsidi __P((double *, int, int, int *, double *, int *, int));
extern void dsifa __P((double *, int, int, int *, int *));
extern void dsisl __P((double *, int, int, int *, double *));
extern void dspco __P((double *, int, int *, double *));
extern void dspdi __P((double *, int, int *, double *, int *, int));
extern void dspfa __P((double *, int, int *, int *));
extern void dspsl __P((double *, int, int *, double *));
extern void dsvdc __P((double *, int, int, int, double *, double *, double *,
                       int, double *, int, int, int *));
extern void dtrco __P((double *, int, int, double *, int));
extern void dtrdi __P((double *, int, int, double *, int, int *));
extern void dtrsl __P((double *, int, int, double *, int, int *));
extern void schdc __P((float *, int, int, int *, int, int *));
extern void schdd __P((float *, int, int, float *, float *, int, int, float *,
                       float *, float *, float *, int *));
extern void schex __P((float *, int, int, int, int, float *, int, int, float *,
                       float *, int));
extern void schud __P((float *, int, int, float *, float *, int, int, float *,
                       float *, float *, float *));
extern void sgbco __P((float *, int, int, int, int, int *, float *));
extern void sgbdi __P((float *, int, int, int, int, int *, float *));
extern void sgbfa __P((float *, int, int, int, int, int *, int *));
extern void sgbsl __P((float *, int, int, int, int, int *, float *, int));
extern void sgeco __P((float *, int, int, int *, float *));
extern void sgedi __P((float *, int, int, int *, float *, int));
extern void sgefa __P((float *, int, int, int *, int *));
extern void sgesl __P((float *, int, int, int *, float *, int));
extern void sgtsl __P((int, float *, float *, float *, float *, int *));
extern void spbco __P((float *, int, int, int, float *, int *));
extern void spbdi __P((float *, int, int, int, float *));
extern void spbfa __P((float *, int, int, int, int *));
extern void spbsl __P((float *, int, int, int, float *));
extern void spoco __P((float *, int, int, float *, int *));
extern void spodi __P((float *, int, int, float *, int));
extern void spofa __P((float *, int, int, int *));
extern void sposl __P((float *, int, int, float *));
extern void sppco __P((float *, int, float *, int *));
extern void sppdi __P((float *, int, float *, int));
extern void sppfa __P((float *, int, int *));
extern void sppsl __P((float *, int, float *));
extern void sptsl __P((int, float *, float *, float *));
extern void sqrdc __P((float *, int, int, int, float *, int *, int));
extern void sqrsl __P((float *, int, int, int, float *, float *, float *,
                       float *, float *, float *, float *, int, int *));
extern void ssico __P((float *, int, int, int *, float *));
extern void ssidi __P((float *, int, int, int *, float *, int *, int));
extern void ssifa __P((float *, int, int, int *, int *));
extern void ssisl __P((float *, int, int, int *, float *));
extern void sspco __P((float *, int, int *, float *));
extern void sspdi __P((float *, int, int *, float *, int *, int));
extern void sspfa __P((float *, int, int *, int *));
extern void sspsl __P((float *, int, int *, float *));
extern void ssvdc __P((float *, int, int, int, float *, float *, float *, int,
                       float *, int, int, int *));
extern void strco __P((float *, int, int, float *, int));
extern void strdi __P((float *, int, int, float *, int, int *));
extern void strsl __P((float *, int, int, float *, int, int *));
extern void zchdc __P((doublecomplex *, int, int, int *, int, int *));
extern void zchdd __P((doublecomplex *, int, int, doublecomplex *,
                       doublecomplex *, int, int, doublecomplex *, double *,
                       double *, doublecomplex *, int *));
extern void zchex __P((doublecomplex *, int, int, int, int, doublecomplex *,
                       int, int, double *, doublecomplex *, int));
extern void zchud __P((doublecomplex *, int, int, doublecomplex *,
                       doublecomplex *, int, int, doublecomplex *, double *,
                       double *, doublecomplex *));
extern void zgbco __P((doublecomplex *, int, int, int, int, int *, double *));
extern void zgbdi __P((doublecomplex *, int, int, int, int, int *,
                       doublecomplex *));
extern void zgbfa __P((doublecomplex *, int, int, int, int, int *, int *));
extern void zgbsl __P((doublecomplex *, int, int, int, int, int *,
                       doublecomplex *, int));
extern void zgeco __P((doublecomplex *, int, int, int *, double *));
extern void zgedi __P((doublecomplex *, int, int, int *, doublecomplex *, int));
extern void zgefa __P((doublecomplex *, int, int, int *, int *));
extern void zgesl __P((doublecomplex *, int, int, int *, doublecomplex *, int));
extern void zgtsl __P((int, doublecomplex *, doublecomplex *, doublecomplex *,
                       doublecomplex *, int *));
extern void zhico __P((doublecomplex *, int, int, int *, double *));
extern void zhidi __P((doublecomplex *, int, int, int *, double *, int *, int));
extern void zhifa __P((doublecomplex *, int, int, int *, int *));
extern void zhisl __P((doublecomplex *, int, int, int *, doublecomplex *));
extern void zhpco __P((doublecomplex *, int, int *, double *));
extern void zhpdi __P((doublecomplex *, int, int *, double *, int *, int));
extern void zhpfa __P((doublecomplex *, int, int *, int *));
extern void zhpsl __P((doublecomplex *, int, int *, doublecomplex *));
extern void zpbco __P((doublecomplex *, int, int, int, double *, int *));
extern void zpbdi __P((doublecomplex *, int, int, int, double *));
extern void zpbfa __P((doublecomplex *, int, int, int, int *));
extern void zpbsl __P((doublecomplex *, int, int, int, doublecomplex *));
extern void zpoco __P((doublecomplex *, int, int, double *, int *));
extern void zpodi __P((doublecomplex *, int, int, double *, int));
extern void zpofa __P((doublecomplex *, int, int, int *));
extern void zposl __P((doublecomplex *, int, int, doublecomplex *));
extern void zppco __P((doublecomplex *, int, double *, int *));
extern void zppdi __P((doublecomplex *, int, double *, int));
extern void zppfa __P((doublecomplex *, int, int *));
extern void zppsl __P((doublecomplex *, int, doublecomplex *));
extern void zptsl __P((int, doublecomplex *, doublecomplex *, doublecomplex *));
extern void zqrdc __P((doublecomplex *, int, int, int, doublecomplex *, int *,
                       int));
extern void zqrsl __P((doublecomplex *, int, int, int, doublecomplex *,
                       doublecomplex *, doublecomplex *, doublecomplex *,
                       doublecomplex *, doublecomplex *, doublecomplex *, int,
                       int *));
extern void zsico __P((doublecomplex *, int, int, int *, double *));
extern void zsidi __P((doublecomplex *, int, int, int *, doublecomplex *, int));
extern void zsifa __P((doublecomplex *, int, int, int *, int *));
extern void zsisl __P((doublecomplex *, int, int, int *, doublecomplex *));
extern void zspco __P((doublecomplex *, int, int *, double *));
extern void zspdi __P((doublecomplex *, int, int *, doublecomplex *, int));
extern void zspfa __P((doublecomplex *, int, int *, int *));
extern void zspsl __P((doublecomplex *, int, int *, doublecomplex *));
extern void zsvdc __P((doublecomplex *, int, int, int, doublecomplex *,
                       doublecomplex *, doublecomplex *, int, doublecomplex *,
                       int, int, int *));
extern void ztrco __P((doublecomplex *, int, int, double *, int));
extern void ztrdi __P((doublecomplex *, int, int, doublecomplex *, int, int *));
extern void ztrsl __P((doublecomplex *, int, int, doublecomplex *, int, int *));
extern void vcosqb __P((int, int, float *, int, float *));
extern void vcosqf __P((int, int, float *, int, float *));
extern void vcosqi __P((int, float *));
extern void vcost __P((int, int, float *, int, float *));
extern void vcosti __P((int, float *));
extern void vdcosqb __P((int, int, double *, int, double *));
extern void vdcosqf __P((int, int, double *, int, double *));
extern void vdcosqi __P((int, double *));
extern void vdcost __P((int, int, double *, int, double *));
extern void vdcosti __P((int, double *));
extern void vdfftb __P((int, int, double *, int, double *));
extern void vdfftf __P((int, int, double *, int, double *));
extern void vdffti __P((int, double *));
extern void vdsinqb __P((int, int, double *, int, double *));
extern void vdsinqf __P((int, int, double *, int, double *));
extern void vdsinqi __P((int, double *));
extern void vdsint __P((int, int, double *, int, double *));
extern void vdsinti __P((int, double *));
extern void vrfftb __P((int, int, float *, int, float *));
extern void vrfftf __P((int, int, float *, int, float *));
extern void vrffti __P((int, float *));
extern void vsinqb __P((int, int, float *, int, float *));
extern void vsinqf __P((int, int, float *, int, float *));
extern void vsinqi __P((int, float *));
extern void vsint __P((int, int, float *, int, float *));
extern void vsinti __P((int, float *));
extern void cbdsqr __P((char, int, int, int, int, float *, float *, complex *,
                        int, complex *, int, complex *, int, int *));
extern void cgbbrd __P((char, int, int, int, int, int, complex *, int, float *,
                        float *, complex *, int, complex *, int, complex *,
                        int, int *));
extern void cgbcon __P((char, int, int, int, complex *, int, int *, float,
                        float *, int *));
extern void cgbequ __P((int, int, int, int, complex *, int, float *, float *,
                        float *, float *, float *, int *));
extern void cgbrfs __P((char, int, int, int, int, complex *, int, complex *,
                        int, int *, complex *, int, complex *, int, float *,
                        float *, int *));
extern void cgbsv __P((int, int, int, int, complex *, int, int *, complex *,
                       int, int *));
extern void cgbsvx __P((char, char, int, int, int, int, complex *, int,
                        complex *, int, int *, char *, float *, float *,
                        complex *, int, complex *, int, float *, float *,
                        float *, int *));
extern void cgbtf2 __P((int, int, int, int, complex *, int, int *, int *));
extern void cgbtrf __P((int, int, int, int, complex *, int, int *, int *));
extern void cgbtrs __P((char, int, int, int, int, complex *, int, int *,
                        complex *, int, int *));
extern void cgebak __P((char, char, int, int, int, float *, int, complex *, int,
                        int *));
extern void cgebal __P((char, int, complex *, int, int *, int *, float *,
                        int *));
extern void cgebd2 __P((int, int, complex *, int, float *, float *, complex *,
                        complex *, int *));
extern void cgebrd __P((int, int, complex *, int, float *, float *, complex *,
                        complex *, int *));
extern void cgecon __P((char, int, complex *, int, float, float *, int *));
extern void cgeequ __P((int, int, complex *, int, float *, float *, float *,
                        float *, float *, int *));
extern void cgees __P((char, char, int (*)(complex *), int, complex *, int,
                       int *, complex *, complex *, int, int *));
extern void cgeesx __P((char, char, int (*)(complex *), char, int, complex *,
                        int, int *, complex *, complex *, int, float *,
                        float *, int *));
extern void cgeev __P((char, char, int, complex *, int, complex *, complex *,
                       int, complex *, int, int *));
extern void cgeevx __P((char, char, char, char, int, complex *, int, complex *,
                        complex *, int, complex *, int, int *, int *, float *,
                        float *, float *, float *, int *));
extern void cgegs __P((char, char, int, complex *, int, complex *, int,
                       complex *, complex *, complex *, int, complex *, int,
                       int *));
extern void cgegv __P((char, char, int, complex *, int, complex *, int,
                       complex *, complex *, complex *, int, complex *, int,
                       int *));
extern void cgehd2 __P((int, int, int, complex *, int, complex *, int *));
extern void cgehrd __P((int, int, int, complex *, int, complex *, int *));
extern void cgelq2 __P((int, int, complex *, int, complex *, int *));
extern void cgelqf __P((int, int, complex *, int, complex *, int *));
extern void cgels __P((char, int, int, int, complex *, int, complex *, int,
                       int *));
extern void cgelss __P((int, int, int, complex *, int, complex *, int, float *,
                        float, int *, int *));
extern void cgelsx __P((int, int, int, complex *, int, complex *, int, int *,
                        float, int *, int *));
extern void cgeql2 __P((int, int, complex *, int, complex *, int *));
extern void cgeqlf __P((int, int, complex *, int, complex *, int *));
extern void cgeqpf __P((int, int, complex *, int, int *, complex *, int *));
extern void cgeqr2 __P((int, int, complex *, int, complex *, int *));
extern void cgeqrf __P((int, int, complex *, int, complex *, int *));
extern void cgerfs __P((char, int, int, complex *, int, complex *, int, int *,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void cgerq2 __P((int, int, complex *, int, complex *, int *));
extern void cgerqf __P((int, int, complex *, int, complex *, int *));
extern void cgesv __P((int, int, complex *, int, int *, complex *, int, int *));
extern void cgesvd __P((char, char, int, int, complex *, int, float *,
                        complex *, int, complex *, int, int *));
extern void cgesvx __P((char, char, int, int, complex *, int, complex *, int,
                        int *, char *, float *, float *, complex *, int,
                        complex *, int, float *, float *, float *, int *));
extern void cgetf2 __P((int, int, complex *, int, int *, int *));
extern void cgetrf __P((int, int, complex *, int, int *, int *));
extern void cgetri __P((int, complex *, int, int *, int *));
extern void cgetrs __P((char, int, int, complex *, int, int *, complex *, int,
                        int *));
extern void cggbak __P((char, char, int, int, int, float *, float *, int,
                        complex *, int, int *));
extern void cggbal __P((char, int, complex *, int, complex *, int, int *, int *,
                        float *, float *, int *));
extern void cggglm __P((int, int, int, complex *, int, complex *, int,
                        complex *, complex *, complex *, int *));
extern void cgghrd __P((char, char, int, int, int, complex *, int, complex *,
                        int, complex *, int, complex *, int, int *));
extern void cgglse __P((int, int, int, complex *, int, complex *, int,
                        complex *, complex *, complex *, int *));
extern void cggqrf __P((int, int, int, complex *, int, complex *, complex *,
                        int, complex *, int *));
extern void cggrqf __P((int, int, int, complex *, int, complex *, complex *,
                        int, complex *, int *));
extern void cggsvd __P((char, char, char, int, int, int, int *, int *,
                        complex *, int, complex *, int, float *, float *,
                        complex *, int, complex *, int, complex *, int,
                        int *));
extern void cggsvp __P((char, char, char, int, int, int, complex *, int,
                        complex *, int, float, float, int *, int *, complex *,
                        int, complex *, int, complex *, int, complex *,
                        int *));
extern void cgtcon __P((char, int, complex *, complex *, complex *, complex *,
                        int *, float, float *, int *));
extern void cgtrfs __P((char, int, int, complex *, complex *, complex *,
                        complex *, complex *, complex *, complex *, int *,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void cgtsv __P((int, int, complex *, complex *, complex *, complex *,
                       int, int *));
extern void cgtsvx __P((char, char, int, int, complex *, complex *, complex *,
                        complex *, complex *, complex *, complex *, int *,
                        complex *, int, complex *, int, float *, float *,
                        float *, int *));
extern void cgttrf __P((int, complex *, complex *, complex *, complex *, int *,
                        int *));
extern void cgttrs __P((char, int, int, complex *, complex *, complex *,
                        complex *, int *, complex *, int, int *));
extern void chbev __P((char, char, int, int, complex *, int, float *, complex *,
                       int, int *));
extern void chbevd __P((char, char, int, int, complex *, int, float *,
                        complex *, int, int *));
extern void chbevx __P((char, char, char, int, int, complex *, int, complex *,
                        int, float, float, int, int, float, int *, float *,
                        complex *, int, int *, int *));
extern void chbgst __P((char, char, int, int, int, complex *, int, complex *,
                        int, complex *, int, int *));
extern void chbgv __P((char, char, int, int, int, complex *, int, complex *,
                       int, float *, complex *, int, int *));
extern void chbtrd __P((char, char, int, int, complex *, int, float *, float *,
                        complex *, int, int *));
extern void checon __P((char, int, complex *, int, int *, float, float *,
                        int *));
extern void cheev __P((char, char, int, complex *, int, float *, int *));
extern void cheevd __P((char, char, int, complex *, int, float *, int *));
extern void cheevx __P((char, char, char, int, complex *, int, float, float,
                        int, int, float, int *, float *, complex *, int, int *,
                        int *));
extern void chegs2 __P((int, char, int, complex *, int, complex *, int, int *));
extern void chegst __P((int, char, int, complex *, int, complex *, int, int *));
extern void chegv __P((int, char, char, int, complex *, int, complex *, int,
                       float *, int *));
extern void cherfs __P((char, int, int, complex *, int, complex *, int, int *,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void chesv __P((char, int, int, complex *, int, int *, complex *, int,
                       int *));
extern void chesvx __P((char, char, int, int, complex *, int, complex *, int,
                        int *, complex *, int, complex *, int, float *,
                        float *, float *, int *));
extern void chetd2 __P((char, int, complex *, int, float *, float *, complex *,
                        int *));
extern void chetf2 __P((char, int, complex *, int, int *, int *));
extern void chetrd __P((char, int, complex *, int, float *, float *, complex *,
                        int *));
extern void chetrf __P((char, int, complex *, int, int *, int *));
extern void chetri __P((char, int, complex *, int, int *, int *));
extern void chetrs __P((char, int, int, complex *, int, int *, complex *, int,
                        int *));
extern void chgeqz __P((char, char, char, int, int, int, complex *, int,
                        complex *, int, complex *, complex *, complex *, int,
                        complex *, int, int *));
extern void chpcon __P((char, int, complex *, int *, float, float *, int *));
extern void chpev __P((char, char, int, complex *, float *, complex *, int,
                       int *));
extern void chpevd __P((char, char, int, complex *, float *, complex *, int,
                        int *));
extern void chpevx __P((char, char, char, int, complex *, float, float, int,
                        int, float, int *, float *, complex *, int, int *,
                        int *));
extern void chpgst __P((int, char, int, complex *, complex *, int *));
extern void chpgv __P((int, char, char, int, complex *, complex *, float *,
                       complex *, int, int *));
extern void chprfs __P((char, int, int, complex *, complex *, int *, complex *,
                        int, complex *, int, float *, float *, int *));
extern void chpsv __P((char, int, int, complex *, int *, complex *, int,
                       int *));
extern void chpsvx __P((char, char, int, int, complex *, complex *, int *,
                        complex *, int, complex *, int, float *, float *,
                        float *, int *));
extern void chptrd __P((char, int, complex *, float *, float *, complex *,
                        int *));
extern void chptrf __P((char, int, complex *, int *, int *));
extern void chptri __P((char, int, complex *, int *, int *));
extern void chptrs __P((char, int, int, complex *, int *, complex *, int,
                        int *));
extern void chsein __P((char, char, char, int *, int, complex *, int, complex *,
                        complex *, int, complex *, int, int, int *, int *,
                        int *, int *));
extern void chseqr __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void clabrd __P((int, int, int, complex *, int, float *, float *,
                        complex *, complex *, complex *, int, complex *,
                        int *));
extern void clacgv __P((int, complex *, int));
extern void clacon __P((int, complex *, complex *, float *, int *));
extern void clacpy __P((char, int, int, complex *, int, complex *, int));
extern void clacrm __P((int, int, complex *, int, float *, int, complex *,
                        int));
extern void clacrt __P((int, complex *, int, complex *, int, complex *,
                        complex *));
extern complex cladiv __P((complex *, complex *));
extern void claed0 __P((int, int, float *, float *, complex *, int, complex *,
                        int, int *));
extern void claed7 __P((int, int, int, int, int, int, float *, complex *, int,
                        float, int *, float *, int *, int *, int *, int *,
                        int *, float *, int *));
extern void claed8 __P((int *, int, int, complex *, int, float *, float *, int,
                        float *, float *, complex *, int, float *, int *,
                        int *, int *, int *, int *, int *, float *, int *));
extern void claein __P((int, int, int, complex *, int, complex *, complex *,
                        complex *, int, float, float, int *));
extern void claesy __P((complex *, complex *, complex *, complex *, complex *,
                        complex *, complex *, complex *));
extern void claev2 __P((complex *, complex *, complex *, float *, float *,
                        float *, complex *));
extern void clags2 __P((int, float, complex *, float, float, complex *, float,
                        float *, complex *, float *, complex *, float *,
                        complex *));
extern void clagtm __P((char, int, int, float, complex *, complex *, complex *,
                        complex *, int, float, complex *, int));
extern void clahef __P((char, int, int, int *, complex *, int, int *, complex *,
                        int, int *));
extern void clahqr __P((int, int, int, int, int, complex *, int, complex *, int,
                        int, complex *, int, int *));
extern void clahrd __P((int, int, int, complex *, int, complex *, complex *,
                        int, complex *, int));
extern void claic1 __P((int, int, complex *, float, complex *, complex *,
                        float *, complex *, complex *));
extern float clangb __P((char, int, int, int, complex *, int));
extern float clange __P((char, int, int, complex *, int));
extern float clangt __P((char, int, complex *, complex *, complex *));
extern float clanhb __P((char, char, int, int, complex *, int));
extern float clanhe __P((char, char, int, complex *, int));
extern float clanhp __P((char, char, int, complex *));
extern float clanhs __P((char, int, complex *, int));
extern float clanht __P((char, int, float *, complex *));
extern float clansb __P((char, char, int, int, complex *, int));
extern float clansp __P((char, char, int, complex *));
extern double zlanst __P((char, int, double *, doublecomplex *));
extern float clansy __P((char, char, int, complex *, int));
extern float clantb __P((char, char, char, int, int, complex *, int));
extern float clantp __P((char, char, char, int, complex *));
extern float clantr __P((char, char, char, int, int, complex *, int));
extern void clapll __P((int, complex *, int, complex *, int, float *));
extern void clapmt __P((int, int, int, complex *, int, int *));
extern void claqgb __P((int, int, int, int, complex *, int, float *, float *,
                        float *, float *, float, char *));
extern void claqge __P((int, int, complex *, int, float *, float *, float,
                        float, float, char *));
extern void claqhb __P((char, int, int, complex *, int, float *, float, float,
                        char *));
extern void claqhe __P((char, int, complex *, int, float *, float, float,
                        char *));
extern void claqhp __P((char, int, complex *, float *, float, float, char *));
extern void claqsb __P((char, int, int, complex *, int, float *, float, float,
                        char *));
extern void claqsp __P((char, int, complex *, float *, float, float, char *));
extern void claqsy __P((char, int, complex *, int, float *, float, float,
                        char *));
extern void clar2v __P((int, complex *, complex *, complex *, int, float *,
                        complex *, int));
extern void clarf __P((char, int, int, complex *, int, complex *, complex *,
                       int));
extern void clarfb __P((char, char, char, char, int, int, int, complex *, int,
                        complex *, int, complex *, int));
extern void clarfg __P((int, complex *, complex *, int, complex *));
extern void clarft __P((char, char, int, int, complex *, int, complex *,
                        complex *, int));
extern void clarfx __P((char, int, int, complex *, complex *, complex *, int));
extern void clargv __P((int, complex *, int, complex *, int, float *, int));
extern void clarnv __P((int, int *, int, complex *));
extern void clartg __P((complex *, complex *, float *, complex *, complex *));
extern void clartv __P((int, complex *, int, complex *, int, float *, complex *,
                        int));
extern void clascl __P((char, int, int, float, float, int, int, complex *, int,
                        int *));
extern void claset __P((char, int, int, complex *, complex *, complex *, int));
extern void clasr __P((char, char, char, int, int, float *, float *, complex *,
                       int));
extern void classq __P((int, complex *, int, float *, float *));
extern void claswp __P((int, complex *, int, int, int, int *, int));
extern void clasyf __P((char, int, int, int *, complex *, int, int *, complex *,
                        int, int *));
extern void clatbs __P((char, char, char, char, int, int, complex *, int,
                        complex *, float *, float *, int *));
extern void clatps __P((char, char, char, char, int, complex *, complex *,
                        float *, float *, int *));
extern void clatrd __P((char, int, int, complex *, int, float *, complex *,
                        complex *, int));
extern void clatrs __P((char, char, char, char, int, complex *, int, complex *,
                        float *, float *, int *));
extern void clatzm __P((char, int, int, complex *, int, complex *, complex *,
                        complex *, int));
extern void clauu2 __P((char, int, complex *, int, int *));
extern void clauum __P((char, int, complex *, int, int *));
extern void clazro __P((int, int, complex *, complex *, complex *, int));
extern void cpbcon __P((char, int, int, complex *, int, float, float *, int *));
extern void cpbequ __P((char, int, int, complex *, int, float *, float *,
                        float *, int *));
extern void cpbrfs __P((char, int, int, int, complex *, int, complex *, int,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void cpbstf __P((char, int, int, complex *, int, int *));
extern void cpbsv __P((char, int, int, int, complex *, int, complex *, int,
                       int *));
extern void cpbsvx __P((char, char, int, int, int, complex *, int, complex *,
                        int, char *, float *, complex *, int, complex *, int,
                        float *, float *, float *, int *));
extern void cpbtf2 __P((char, int, int, complex *, int, int *));
extern void cpbtrf __P((char, int, int, complex *, int, int *));
extern void cpbtrs __P((char, int, int, int, complex *, int, complex *, int,
                        int *));
extern void cpocon __P((char, int, complex *, int, float, float *, int *));
extern void cpoequ __P((int, complex *, int, float *, float *, float *, int *));
extern void cporfs __P((char, int, int, complex *, int, complex *, int,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void cposv __P((char, int, int, complex *, int, complex *, int, int *));
extern void cposvx __P((char, char, int, int, complex *, int, complex *, int,
                        char *, float *, complex *, int, complex *, int,
                        float *, float *, float *, int *));
extern void cpotf2 __P((char, int, complex *, int, int *));
extern void cpotrf __P((char, int, complex *, int, int *));
extern void cpotri __P((char, int, complex *, int, int *));
extern void cpotrs __P((char, int, int, complex *, int, complex *, int, int *));
extern void cppcon __P((char, int, complex *, float, float *, int *));
extern void cppequ __P((char, int, complex *, float *, float *, float *,
                        int *));
extern void cpprfs __P((char, int, int, complex *, complex *, complex *, int,
                        complex *, int, float *, float *, int *));
extern void cppsv __P((char, int, int, complex *, complex *, int, int *));
extern void cppsvx __P((char, char, int, int, complex *, complex *, char *,
                        float *, complex *, int, complex *, int, float *,
                        float *, float *, int *));
extern void cpptrf __P((char, int, complex *, int *));
extern void cpptri __P((char, int, complex *, int *));
extern void cpptrs __P((char, int, int, complex *, complex *, int, int *));
extern void cptcon __P((int, float *, complex *, float, float *, int *));
extern void cpteqr __P((char, int, float *, float *, complex *, int, int *));
extern void cptrfs __P((char, int, int, float *, complex *, float *, complex *,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void cptsv __P((int, int, float *, complex *, complex *, int, int *));
extern void cptsvx __P((char, int, int, float *, complex *, float *, complex *,
                        complex *, int, complex *, int, float *, float *,
                        float *, int *));
extern void cpttrf __P((int, float *, complex *, int *));
extern void cpttrs __P((char, int, int, float *, complex *, complex *, int,
                        int *));
extern void crot __P((int, complex *, int, complex *, int, float, complex *));
extern void cspcon __P((char, int, complex *, int *, float, float *, int *));
extern void cspmv __P((char, int, complex *, complex *, complex *, int,
                       complex *, complex *, int));
extern void cspr __P((char, int, complex *, complex *, int, complex *));
extern void csprfs __P((char, int, int, complex *, complex *, int *, complex *,
                        int, complex *, int, float *, float *, int *));
extern void cspsv __P((char, int, int, complex *, int *, complex *, int,
                       int *));
extern void cspsvx __P((char, char, int, int, complex *, complex *, int *,
                        complex *, int, complex *, int, float *, float *,
                        float *, int *));
extern void csptrf __P((char, int, complex *, int *, int *));
extern void csptri __P((char, int, complex *, int *, int *));
extern void csptrs __P((char, int, int, complex *, int *, complex *, int,
                        int *));
extern void csrot __P((int, complex *, int, complex *, int, float *, float *));
extern void csrscl __P((int, float, complex *, int));
extern void cstedc __P((char, int, float *, float *, complex *, int, int *));
extern void cstein __P((int, float *, float *, int, float *, int *, int *,
                        complex *, int, int *, int *));
extern void csteqr __P((char, int, float *, float *, complex *, int, int *));
extern void csycon __P((char, int, complex *, int, int *, float, float *,
                        int *));
extern void csymv __P((char, int, complex *, complex *, int, complex *, int,
                       complex *, complex *, int));
extern void csyr __P((char, int, complex *, complex *, int, complex *, int));
extern void csyrfs __P((char, int, int, complex *, int, complex *, int, int *,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void csysv __P((char, int, int, complex *, int, int *, complex *, int,
                       int *));
extern void csysvx __P((char, char, int, int, complex *, int, complex *, int,
                        int *, complex *, int, complex *, int, float *,
                        float *, float *, int *));
extern void csytf2 __P((char, int, complex *, int, int *, int *));
extern void csytrf __P((char, int, complex *, int, int *, int *));
extern void csytri __P((char, int, complex *, int, int *, int *));
extern void csytrs __P((char, int, int, complex *, int, int *, complex *, int,
                        int *));
extern void ctbcon __P((char, char, char, int, int, complex *, int, float *,
                        int *));
extern void ctbrfs __P((char, char, char, int, int, int, complex *, int,
                        complex *, int, complex *, int, float *, float *,
                        int *));
extern void ctbtrs __P((char, char, char, int, int, int, complex *, int,
                        complex *, int, int *));
extern void ctgevc __P((char, char, int *, int, complex *, int, complex *, int,
                        complex *, int, complex *, int, int, int *, int *));
extern void ctgsja __P((char, char, char, int, int, int, int, int, complex *,
                        int, complex *, int, float, float, float *, float *,
                        complex *, int, complex *, int, complex *, int, int *,
                        int *));
extern void ctpcon __P((char, char, char, int, complex *, float *, int *));
extern void ctprfs __P((char, char, char, int, int, complex *, complex *, int,
                        complex *, int, float *, float *, int *));
extern void ctptri __P((char, char, int, complex *, int *));
extern void ctptrs __P((char, char, char, int, int, complex *, complex *, int,
                        int *));
extern void ctrcon __P((char, char, char, int, complex *, int, float *, int *));
extern void ctrevc __P((char, char, int *, int, complex *, int, complex *, int,
                        complex *, int, int, int *, int *));
extern void ctrexc __P((char, int, complex *, int, complex *, int, int, int,
                        int *));
extern void ctrrfs __P((char, char, char, int, int, complex *, int, complex *,
                        int, complex *, int, float *, float *, int *));
extern void ctrsen __P((char, char, int *, int, complex *, int, complex *, int,
                        complex *, int *, float *, float *, int *));
extern void ctrsna __P((char, char, int *, int, complex *, int, complex *, int,
                        complex *, int, float *, float *, int, int *, int *));
extern void ctrsyl __P((char, char, int, int, int, complex *, int, complex *,
                        int, complex *, int, float *, int *));
extern void ctrti2 __P((char, char, int, complex *, int, int *));
extern void ctrtri __P((char, char, int, complex *, int, int *));
extern void ctrtrs __P((char, char, char, int, int, complex *, int, complex *,
                        int, int *));
extern void ctzrqf __P((int, int, complex *, int, complex *, int *));
extern void cung2l __P((int, int, int, complex *, int, complex *, int *));
extern void cung2r __P((int, int, int, complex *, int, complex *, int *));
extern void cungbr __P((char, int, int, int, complex *, int, complex *, int *));
extern void cunghr __P((int, int, int, complex *, int, complex *, int *));
extern void cungl2 __P((int, int, int, complex *, int, complex *, int *));
extern void cunglq __P((int, int, int, complex *, int, complex *, int *));
extern void cungql __P((int, int, int, complex *, int, complex *, int *));
extern void cungqr __P((int, int, int, complex *, int, complex *, int *));
extern void cungr2 __P((int, int, int, complex *, int, complex *, int *));
extern void cungrq __P((int, int, int, complex *, int, complex *, int *));
extern void cungtr __P((char, int, complex *, int, complex *, int *));
extern void cunm2l __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunm2r __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunmbr __P((char, char, char, int, int, int, complex *, int,
                        complex *, complex *, int, int *));
extern void cunmhr __P((char, char, int, int, int, int, complex *, int,
                        complex *, complex *, int, int *));
extern void cunml2 __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunmlq __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunmql __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunmqr __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunmr2 __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunmrq __P((char, char, int, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cunmtr __P((char, char, char, int, int, complex *, int, complex *,
                        complex *, int, int *));
extern void cupgtr __P((char, int, complex *, complex *, complex *, int,
                        int *));
extern void cupmtr __P((char, char, char, int, int, complex *, complex *,
                        complex *, int, int *));
extern void dbdsqr __P((char, int, int, int, int, double *, double *, double *,
                        int, double *, int, double *, int, int *));
extern void ddisna __P((char, int, int, double *, double *, int *));
extern void dgbbrd __P((char, int, int, int, int, int, double *, int, double *,
                        double *, double *, int, double *, int, double *, int,
                        int *));
extern void dgbcon __P((char, int, int, int, double *, int, int *, double,
                        double *, int *));
extern void dgbequ __P((int, int, int, int, double *, int, double *, double *,
                        double *, double *, double *, int *));
extern void dgbrfs __P((char, int, int, int, int, double *, int, double *, int,
                        int *, double *, int, double *, int, double *,
                        double *, int *));
extern void dgbsv __P((int, int, int, int, double *, int, int *, double *, int,
                       int *));
extern void dgbsvx __P((char, char, int, int, int, int, double *, int, double *,
                        int, int *, char *, double *, double *, double *, int,
                        double *, int, double *, double *, double *, int *));
extern void dgbtf2 __P((int, int, int, int, double *, int, int *, int *));
extern void dgbtrf __P((int, int, int, int, double *, int, int *, int *));
extern void dgbtrs __P((char, int, int, int, int, double *, int, int *,
                        double *, int, int *));
extern void dgebak __P((char, char, int, int, int, double *, int, double *, int,
                        int *));
extern void dgebal __P((char, int, double *, int, int *, int *, double *,
                        int *));
extern void dgebd2 __P((int, int, double *, int, double *, double *, double *,
                        double *, int *));
extern void dgebrd __P((int, int, double *, int, double *, double *, double *,
                        double *, int *));
extern void dgecon __P((char, int, double *, int, double, double *, int *));
extern void dgeequ __P((int, int, double *, int, double *, double *, double *,
                        double *, double *, int *));
extern void dgees __P((char, char, int (*)(double *, double *), int, double *,
                       int, int *, double *, double *, double *, int, int *));
extern void dgeesx __P((char, char, int (*)(double *, double *), char, int,
                        double *, int, int *, double *, double *, double *,
                        int, double *, double *, int *));
extern void dgeev __P((char, char, int, double *, int, double *, double *,
                       double *, int, double *, int, int *));
extern void dgeevx __P((char, char, char, char, int, double *, int, double *,
                        double *, double *, int, double *, int, int *, int *,
                        double *, double *, double *, double *, int *));
extern void dgegs __P((char, char, int, double *, int, double *, int, double *,
                       double *, double *, double *, int, double *, int,
                       int *));
extern void dgegv __P((char, char, int, double *, int, double *, int, double *,
                       double *, double *, double *, int, double *, int,
                       int *));
extern void dgehd2 __P((int, int, int, double *, int, double *, int *));
extern void dgehrd __P((int, int, int, double *, int, double *, int *));
extern void dgelq2 __P((int, int, double *, int, double *, int *));
extern void dgelqf __P((int, int, double *, int, double *, int *));
extern void dgels __P((char, int, int, int, double *, int, double *, int,
                       int *));
extern void dgelss __P((int, int, int, double *, int, double *, int, double *,
                        double, int *, int *));
extern void dgelsx __P((int, int, int, double *, int, double *, int, int *,
                        double, int *, int *));
extern void dgeql2 __P((int, int, double *, int, double *, int *));
extern void dgeqlf __P((int, int, double *, int, double *, int *));
extern void dgeqpf __P((int, int, double *, int, int *, double *, int *));
extern void dgeqr2 __P((int, int, double *, int, double *, int *));
extern void dgeqrf __P((int, int, double *, int, double *, int *));
extern void dgerfs __P((char, int, int, double *, int, double *, int, int *,
                        double *, int, double *, int, double *, double *,
                        int *));
extern void dgerq2 __P((int, int, double *, int, double *, double *, int *));
extern void dgerqf __P((int, int, double *, int, double *, int *));
extern void dgesv __P((int, int, double *, int, int *, double *, int, int *));
extern void dgesvd __P((char, char, int, int, double *, int, double *, double *,
                        int, double *, int, int *));
extern void dgesvx __P((char, char, int, int, double *, int, double *, int,
                        int *, char *, double *, double *, double *, int,
                        double *, int, double *, double *, double *, int *));
extern void dgetf2 __P((int, int, double *, int, int *, int *));
extern void dgetrf __P((int, int, double *, int, int *, int *));
extern void dgetri __P((int, double *, int, int *, int *));
extern void dgetrs __P((char, int, int, double *, int, int *, double *, int,
                        int *));
extern void dggbak __P((char, char, int, int, int, double *, double *, int,
                        double *, int, int *));
extern void dggbal __P((char, int, double *, int, double *, int, int *, int *,
                        double *, double *, int *));
extern void dggglm __P((int, int, int, double *, int, double *, int, double *,
                        double *, double *, int *));
extern void dgghrd __P((char, char, int, int, int, double *, int, double *, int,
                        double *, int, double *, int, int *));
extern void dgglse __P((int, int, int, double *, int, double *, int, double *,
                        double *, double *, int *));
extern void dggqrf __P((int, int, int, double *, int, double *, double *, int,
                        double *, int *));
extern void dggrqf __P((int, int, int, double *, int, double *, double *, int,
                        double *, int *));
extern void dggsvd __P((char, char, char, int, int, int, int *, int *, double *,
                        int, double *, int, double *, double *, double *, int,
                        double *, int, double *, int, int *));
extern void dggsvp __P((char, char, char, int, int, int, double *, int,
                        double *, int, double, double, int *, int *, double *,
                        int, double *, int, double *, int, double *, int *));
extern void dgtcon __P((char, int, double *, double *, double *, double *,
                        int *, double, double *, int *));
extern void dgtrfs __P((char, int, int, double *, double *, double *, double *,
                        double *, double *, double *, int *, double *, int,
                        double *, int, double *, double *, int *));
extern void dgtsv __P((int, int, double *, double *, double *, double *, int,
                       int *));
extern void dgtsvx __P((char, char, int, int, double *, double *, double *,
                        double *, double *, double *, double *, int *,
                        double *, int, double *, int, double *, double *,
                        double *, int *));
extern void dgttrf __P((int, double *, double *, double *, double *, int *,
                        int *));
extern void dgttrs __P((char, int, int, double *, double *, double *, double *,
                        int *, double *, int, int *));
extern void dhgeqz __P((char, char, char, int, int, int, double *, int,
                        double *, int, double *, double *, double *, double *,
                        int, double *, int, int *));
extern void dhsein __P((char, char, char, int *, int, double *, int, double *,
                        double *, double *, int, double *, int, int, int *,
                        int *, int *, int *));
extern void dhseqr __P((char, char, int, int, int, double *, int, double *,
                        double *, double *, int, int *));
extern void dlabad __P((double *, double *));
extern void dlabrd __P((int, int, int, double *, int, double *, double *,
                        double *, double *, double *, int, double *, int *));
extern void dlacon __P((int, double *, double *, int *, double *, int *));
extern void dlacpy __P((char, int, int, double *, int, double *, int));
extern void dladiv __P((double, double, double, double, double *, double *));
extern void dlae2 __P((double, double, double, double *, double *));
extern void dlaebz __P((int, int, int, int, int, int, double, double, double,
                        double *, double *, double *, int *, double *,
                        double *, int *, int *, int *));
extern void dlaed0 __P((int, int, int, double *, double *, double *, int,
                        double *, int, int *));
extern void dlaed1 __P((int, double *, double *, int, int *, double, int,
                        int *));
extern void dlaed2 __P((int *, int, double *, double *, int, int *, double *,
                        int, double *, double *, double *, int, int *,
                        double *, int *, int *, int *, int *));
extern void dlaed3 __P((int, int, int, int, double *, double *, int, double,
                        int, double *, double *, int, int *, int *, double *,
                        double *, int, int *));
extern void dlaed4 __P((int, int, double *, double *, double *, double,
                        double *, int *));
extern void dlaed5 __P((int, double *, double *, double *, double, double *));
extern void dlaed6 __P((int, int, double, double *, double *, double, double *,
                        int *));
extern void dlaed7 __P((int, int, int, int, int, int, double *, double *, int,
                        int *, double, int, double *, int *, int *, int *,
                        int *, int *, double *, int *));
extern void dlaed8 __P((int, int *, int, int, double *, double *, int, int *,
                        double *, int, double *, double *, double *, int,
                        double *, int *, int *, int *, double *, int *, int *,
                        int *));
extern void dlaed9 __P((int, int, int, int, double *, double *, int, double,
                        double *, double *, double *, int, int *));
extern void dlaeda __P((int, int, int, int, int *, int *, int *, int *,
                        double *, double *, int *, double *, double *, int *));
extern void dlaein __P((int, int, int, double *, int, double, double, double *,
                        double *, double *, int, double, double, double,
                        int *));
extern void dlaev2 __P((double, double, double, double *, double *, double *,
                        double *));
extern void dlaexc __P((int, int, double *, int, double *, int, int, int, int,
                        int *));
extern void dlag2 __P((double *, int, double *, int, double, double *, double *,
                       double *, double *, double *));
extern void dlags2 __P((int, double, double, double, double, double, double,
                        double *, double *, double *, double *, double *,
                        double *));
extern void dlagtf __P((int, double *, double, double *, double *, double,
                        double *, int *, int *));
extern void dlagtm __P((char, int, int, double, double *, double *, double *,
                        double *, int, double, double *, int));
extern void dlagts __P((int, int, double *, double *, double *, double *, int *,
                        double *, double *, int *));
extern void dlahqr __P((int, int, int, int, int, double *, int, double *,
                        double *, int, int, double *, int, int *));
extern void dlahrd __P((int, int, int, double *, int, double *, double *, int,
                        double *, int));
extern void dlaic1 __P((int, int, double *, double, double *, double, double *,
                        double *, double *));
extern void dlaln2 __P((int, int, int, double, double, double *, int, double,
                        double, double *, int, double, double, double *, int,
                        double *, double *, int *));
extern double dlamch __P((char));
extern void dlamrg __P((int, int, double *, int, int, int *));
extern double dlangb __P((char, int, int, int, double *, int));
extern double dlange __P((char, int, int, double *, int));
extern double dlangt __P((char, int, double *, double *, double *));
extern double dlanhs __P((char, int, double *, int));
extern double dlansb __P((char, char, int, int, double *, int ldab));
extern double dlansp __P((char, char, int, double *));
extern double dlanst __P((char, int, double *, double *));
extern double dlansy __P((char, char, int, double *, int));
extern double dlantb __P((char, char, char, int, int, double *, int));
extern double dlantp __P((char, char, char, int, double *));
extern double dlantr __P((char, char, char, int, int, double *, int));
extern void dlanv2 __P((double *, double *, double *, double *, double *,
                        double *, double *, double *, double *, double *));
extern void dlapll __P((int, double *, int, double *, int, double *));
extern void dlapmt __P((int, int, int, double *, int, int *));
extern double dlapy2 __P((double, double));
extern double dlapy3 __P((double, double, double));
extern void dlaqgb __P((int, int, int, int, double *, int, double *, double *,
                        double *, double *, double, char *));
extern void dlaqge __P((int, int, double *, int, double *, double *, double,
                        double, double, char *));
extern void dlaqsb __P((char, int, int, double *, int, double *, double, double,
                        char *));
extern void dlaqsp __P((char, int, double *, double *, double, double, char *));
extern void dlaqsy __P((char, int, double *, int, double *, double, double,
                        char *));
extern void dlaqtr __P((int, int, int, double *, int, double *, double,
                        double *, double *, int *));
extern void dlar2v __P((int, double *, double *, double *, int, double *,
                        double *, int));
extern void dlarf __P((char, int, int, double *, int, double, double *, int));
extern void dlarfb __P((char, char, char, char, int, int, int, double *, int,
                        double *, int, double *, int));
extern void dlarfg __P((int, double *, double *, int, double *));
extern void dlarft __P((char, char, int, int, double *, int, double *, double *,
                        int));
extern void dlarfx __P((char, int, int, double *, double, double *, int));
extern void dlargv __P((int, double *, int, double *, int, double *, int));
extern void dlarnv __P((int, int *, int, double *));
extern void dlartg __P((double, double, double *, double *, double *));
extern void dlartv __P((int, double *, int, double *, int, double *, double *,
                        int));
extern void dlaruv __P((int *, int, double *));
extern void dlas2 __P((double, double, double, double *, double *));
extern void dlascl __P((char, int, int, double, double, int, int, double *, int,
                        int *));
extern void dlaset __P((char, int, int, double, double, double *, int));
extern void dlasq1 __P((int, double *, double *, int *));
extern void dlasq2 __P((int, double *, double *, double *, double *, double,
                        double, double, double *, int *, int *));
extern void dlasq3 __P((int *, double *, double *, double *, double *, double *,
                        double *, int *, int *, int *, int, double, double,
                        double));
extern void dlasq4 __P((int, double *, double *, double *, double *));
extern void dlasr __P((char, char, char, int, int, double *, double *, double *,
                       int));
extern void dlasrt __P((char, int, double *, int *));
extern void dlassq __P((int, double *, int, double *, double *));
extern void dlasv2 __P((double, double, double, double *, double *, double *,
                        double *, double *, double *));
extern void dlaswp __P((int, double *, int, int, int, int *, int));
extern void dlasy2 __P((int, int, int, int, int, double *, int, double *, int,
                        double *, int, double *, double *, int, double *,
                        int *));
extern void dlasyf __P((char, int, int, int *, double *, int, int *, double *,
                        int, int *));
extern void dlatbs __P((char, char, char, char, int, int, double *, int,
                        double *, double *, double *, int *));
extern void dlatps __P((char, char, char, char, int, double *, double *,
                        double *, double *, int *));
extern void dlatrd __P((char, int, int, double *, int, double *, double *,
                        double *, int));
extern void dlatrs __P((char, char, char, char, int, double *, int, double *,
                        double *, double *, int *));
extern void dlatzm __P((char, int, int, double *, int, double, double *,
                        double *, int));
extern void dlauu2 __P((char, int, double *, int, int *));
extern void dlauum __P((char, int, double *, int, int *));
extern void dlazro __P((int, int, double, double, double *, int));
extern void dopgtr __P((char, int, double *, double *, double *, int, int *));
extern void dopmtr __P((char, char, char, int, int, double *, double *,
                        double *, int, int *));
extern void dorg2l __P((int, int, int, double *, int, double *, int *));
extern void dorg2r __P((int, int, int, double *, int, double *, int *));
extern void dorgbr __P((char, int, int, int, double *, int, double *, int *));
extern void dorghr __P((int, int, int, double *, int, double *, int *));
extern void dorgl2 __P((int, int, int, double *, int, double *, int *));
extern void dorglq __P((int, int, int, double *, int, double *, int *));
extern void dorgql __P((int, int, int, double *, int, double *, int *));
extern void dorgqr __P((int, int, int, double *, int, double *, int *));
extern void dorgr2 __P((int, int, int, double *, int, double *, int *));
extern void dorgrq __P((int, int, int, double *, int, double *, int *));
extern void dorgtr __P((char, int, double *, int, double *, int *));
extern void dorm2l __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dorm2r __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dormbr __P((char, char, char, int, int, int, double *, int,
                        double *, double *, int, int *));
extern void dormhr __P((char, char, int, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dorml2 __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dormlq __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dormql __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dormqr __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dormr2 __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dormrq __P((char, char, int, int, int, double *, int, double *,
                        double *, int, int *));
extern void dormtr __P((char, char, char, int, int, double *, int, double *,
                        double *, int, int *));
extern void dpbcon __P((char, int, int, double *, int, double, double *,
                        int *));
extern void dpbequ __P((char, int, int, double *, int, double *, double *,
                        double *, int *));
extern void dpbrfs __P((char, int, int, int, double *, int, double *, int,
                        double *, int, double *, int, double *, double *,
                        int *));
extern void dpbstf __P((char, int, int, double *, int, int *));
extern void dpbsv __P((char, int, int, int, double *, int, double *, int,
                       int *));
extern void dpbsvx __P((char, char, int, int, int, double *, int, double *, int,
                        char *, double *, double *, int, double *, int,
                        double *, double *, double *, int *));
extern void dpbtf2 __P((char, int, int, double *, int, int *));
extern void dpbtrf __P((char, int, int, double *, int, int *));
extern void dpbtrs __P((char, int, int, int, double *, int, double *, int,
                        int *));
extern void dpocon __P((char, int, double *, int, double, double *, int *));
extern void dpoequ __P((int, double *, int, double *, double *, double *,
                        int *));
extern void dporfs __P((char, int, int, double *, int, double *, int, double *,
                        int, double *, int, double *, double *, int *));
extern void dposv __P((char, int, int, double *, int, double *, int, int *));
extern void dposvx __P((char, char, int, int, double *, int, double *, int,
                        char *, double *, double *, int, double *, int,
                        double *, double *, double *, int *));
extern void dpotf2 __P((char, int, double *, int, int *));
extern void dpotrf __P((char, int, double *, int, int *));
extern void dpotri __P((char, int, double *, int, int *));
extern void dpotrs __P((char, int, int, double *, int, double *, int, int *));
extern void dppcon __P((char, int, double *, double, double *, int *));
extern void dppequ __P((char, int, double *, double *, double *, double *,
                        int *));
extern void dpprfs __P((char, int, int, double *, double *, double *, int,
                        double *, int, double *, double *, int *));
extern void dppsv __P((char, int, int, double *, double *, int, int *));
extern void dppsvx __P((char, char, int, int, double *, double *, char *,
                        double *, double *, int, double *, int, double *,
                        double *, double *, int *));
extern void dpptrf __P((char, int, double *, int *));
extern void dpptri __P((char, int, double *, int *));
extern void dpptrs __P((char, int, int, double *, double *, int, int *));
extern void dptcon __P((int, double *, double *, double, double *, int *));
extern void dpteqr __P((char, int, double *, double *, double *, int, int *));
extern void dptrfs __P((int, int, double *, double *, double *, double *,
                        double *, int, double *, int, double *, double *,
                        int *));
extern void dptsv __P((int, int, double *, double *, double *, int, int *));
extern void dptsvx __P((char, int, int, double *, double *, double *, double *,
                        double *, int, double *, int, double *, double *,
                        double *, int *));
extern void dpttrf __P((int, double *, double *, int *));
extern void dpttrs __P((int, int, double *, double *, double *, int, int *));
extern void drscl __P((int, double, double *, int));
extern void dsbev __P((char, char, int, int, double *, int, double *, double *,
                       int, int *));
extern void dsbevd __P((char, char, int, int, double *, int, double *, double *,
                        int, int *));
extern void dsbevx __P((char, char, char, int, int, double *, int, double *,
                        int, double, double, int, int, double, int *, double *,
                        double *, int, int *, int *));
extern void dsbgst __P((char, char, int, int, int, double *, int, double *, int,
                        double *, int, int *));
extern void dsbgv __P((char, char, int, int, int, double *, int, double *, int,
                       double *, double *, int, int *));
extern void dsbtrd __P((char, char, int, int, double *, int, double *, double *,
                        double *, int, int *));
extern double dsecnd __P((void));
extern void dspcon __P((char, int, double *, int *, double, double *, int *));
extern void dspev __P((char, char, int, double *, double *, double *, int,
                       int *));
extern void dspevd __P((char, char, int, double *, double *, double *, int,
                        int *));
extern void dspevx __P((char, char, char, int, double *, double, double, int,
                        int, double, int *, double *, double *, int, int *,
                        int *));
extern void dspgst __P((int, char, int, double *, double *, int *));
extern void dspgv __P((int, char, char, int, double *, double *, double *,
                       double *, int, int *));
extern void dsprfs __P((char, int, int, double *, double *, int *, double *,
                        int, double *, int, double *, double *, int *));
extern void dspsv __P((char, int, int, double *, int *, double *, int, int *));
extern void dspsvx __P((char, char, int, int, double *, double *, int *,
                        double *, int, double *, int, double *, double *,
                        double *, int *));
extern void dsptrd __P((char, int, double *, double *, double *, double *,
                        int *));
extern void dsptrf __P((char, int, double *, int *, int *));
extern void dsptri __P((char, int, double *, int *, int *));
extern void dsptrs __P((char, int, int, double *, int *, double *, int, int *));
extern void dstebz __P((char, char, int, double, double, int, int, double,
                        double *, double *, int *, int *, double *, int *,
                        int *, int *));
extern void dstedc __P((char, int, double *, double *, double *, int, int *));
extern void dstein __P((int, double *, double *, int, double *, int *, int *,
                        double *, int, int *, int *));
extern void dsteqr __P((char, int, double *, double *, double *, int, int *));
extern void dsterf __P((int, double *, double *, int *));
extern void dstev __P((char, int, double *, double *, double *, int, int *));
extern void dstevd __P((char, int, double *, double *, double *, int, int *));
extern void dstevx __P((char, char, int, double *, double *, double, double,
                        int, int, double, int *, double *, double *, int,
                        int *, int *));
extern void dsycon __P((char, int, double *, int, int *, double, double *,
                        int *));
extern void dsyev __P((char, char, int, double *, int, double *, int *));
extern void dsyevd __P((char, char, int, double *, int, double *, int *));
extern void dsyevx __P((char, char, char, int, double *, int, double, double,
                        int, int, double, int *, double *, double *, int,
                        int *, int *));
extern void dsygs2 __P((int, char, int, double *, int, double *, int, int *));
extern void dsygst __P((int, char, int, double *, int, double *, int, int *));
extern void dsygv __P((int, char, char, int, double *, int, double *, int,
                       double *, int *));
extern void dsyrfs __P((char, int, int, double *, int, double *, int, int *,
                        double *, int, double *, int, double *, double *,
                        int *));
extern void dsysv __P((char, int, int, double *, int, int *, double *, int,
                       int *));
extern void dsysvx __P((char, char, int, int, double *, int, double *, int,
                        int *, double *, int, double *, int, double *,
                        double *, double *, int *));
extern void dsytd2 __P((char, int, double *, int, double *, double *, double *,
                        int *));
extern void dsytf2 __P((char, int, double *, int, int *, int *));
extern void dsytrd __P((char, int, double *, int, double *, double *, double *,
                        int *));
extern void dsytrf __P((char, int, double *, int, int *, int *));
extern void dsytri __P((char, int, double *, int, int *, int *));
extern void dsytrs __P((char, int, int, double *, int, int *, double *, int,
                        int *));
extern void dtbcon __P((char, char, char, int, int, double *, int, double *,
                        int *));
extern void dtbrfs __P((char, char, char, int, int, int, double *, int,
                        double *, int, double *, int, double *, double *,
                        int *));
extern void dtbtrs __P((char, char, char, int, int, int, double *, int,
                        double *, int, int *));
extern void dtgevc __P((char, char, int *, int, double *, int, double *, int,
                        double *, int, double *, int, int, int *, int *));
extern void dtgsja __P((char, char, char, int, int, int, int, int, double *,
                        int, double *, int, double, double, double *, double *,
                        double *, int, double *, int, double *, int, int *,
                        int *));
extern void dtpcon __P((char, char, char, int, double *, double *, int *));
extern void dtprfs __P((char, char, char, int, int, double *, double *, int,
                        double *, int, double *, double *, int *));
extern void dtptri __P((char, char, int, double *, int *));
extern void dtptrs __P((char, char, char, int, int, double *, double *, int,
                        int *));
extern void dtrcon __P((char, char, char, int, double *, int, double *, int *));
extern void dtrevc __P((char, char, int *, int, double *, int, double *, int,
                        double *, int, int, int *, int *));
extern void dtrexc __P((char, int, double *, int, double *, int, int *, int *,
                        int *));
extern void dtrrfs __P((char, char, char, int, int, double *, int, double *,
                        int, double *, int, double *, double *, int *));
extern void dtrsen __P((char, char, int *, int, double *, int, double *, int,
                        double *, double *, int *, double *, double *, int *));
extern void dtrsna __P((char, char, int *, int, double *, int, double *, int,
                        double *, int, double *, double *, int, int *, int *));
extern void dtrsyl __P((char, char, int, int, int, double *, int, double *, int,
                        double *, int, double *, int *));
extern void dtrti2 __P((char, char, int, double *, int, int *));
extern void dtrtri __P((char, char, int, double *, int, int *));
extern void dtrtrs __P((char, char, char, int, int, double *, int, double *,
                        int, int *));
extern void dtzrqf __P((int, int, double *, int, double *, int *));
extern double dzsum1 __P((int, doublecomplex *, int));
extern int icmax1 __P((int, complex *, int));
extern int ilaenv __P((int, char *, char *, int, int, int, int));
extern int izmax1 __P((int, doublecomplex *, int));
extern int lsame __P((char, char));
extern int lsamen __P((int, char *, char *));
extern void sbdsqr __P((char, int, int, int, int, float *, float *, float *,
                        int, float *, int, float *, int, int *));
extern float scsum1 __P((int, complex *, int));
extern void sdisna __P((char, int, int, float *, float *, int *));
extern float second __P((void));
extern void sgbbrd __P((char, int, int, int, int, int, float *, int, float *,
                        float *, float *, int, float *, int, float *, int,
                        int *));
extern void sgbcon __P((char, int, int, int, float *, int, int *, float,
                        float *, int *));
extern void sgbequ __P((int, int, int, int, float *, int, float *, float *,
                        float *, float *, float *, int *));
extern void sgbrfs __P((char, int, int, int, int, float *, int, float *, int,
                        int *, float *, int, float *, int, float *, float *,
                        int *));
extern void sgbsv __P((int, int, int, int, float *, int, int *, float *, int,
                       int *));
extern void sgbsvx __P((char, char, int, int, int, int, float *, int, float *,
                        int, int *, char *, float *, float *, float *, int,
                        float *, int, float *, float *, float *, int *));
extern void sgbtf2 __P((int, int, int, int, float *, int, int *, int *));
extern void sgbtrf __P((int, int, int, int, float *, int, int *, int *));
extern void sgbtrs __P((char, int, int, int, int, float *, int, int *, float *,
                        int, int *));
extern void sgebak __P((char, char, int, int, int, float *, int, float *, int,
                        int *));
extern void sgebal __P((char, int, float *, int, int *, int *, float *, int *));
extern void sgebd2 __P((int, int, float *, int, float *, float *, float *,
                        float *, int *));
extern void sgebrd __P((int, int, float *, int, float *, float *, float *,
                        float *, int *));
extern void sgecon __P((char, int, float *, int, float, float *, int *));
extern void sgeequ __P((int, int, float *, int, float *, float *, float *,
                        float *, float *, int *));
extern void sgees __P((char, char, int (*)(float *, float *), int, float *, int,
                       int *, float *, float *, float *, int, int *));
extern void sgeesx __P((char, char, int (*)(float *, float *), char, int,
                        float *, int, int *, float *, float *, float *, int,
                        float *, float *, int *));
extern void sgeev __P((char, char, int, float *, int, float *, float *, float *,
                       int, float *, int, int *));
extern void sgeevx __P((char, char, char, char, int, float *, int, float *,
                        float *, float *, int, float *, int, int *, int *,
                        float *, float *, float *, float *, int *));
extern void sgegs __P((char, char, int, float *, int, float *, int, float *,
                       float *, float *, float *, int, float *, int, int *));
extern void sgegv __P((char, char, int, float *, int, float *, int, float *,
                       float *, float *, float *, int, float *, int, int *));
extern void sgehd2 __P((int, int, int, float *, int, float *, int *));
extern void sgehrd __P((int, int, int, float *, int, float *, int *));
extern void sgelq2 __P((int, int, float *, int, float *, int *));
extern void sgelqf __P((int, int, float *, int, float *, int *));
extern void sgels __P((char, int, int, int, float *, int, float *, int, int *));
extern void sgelss __P((int, int, int, float *, int, float *, int, float *,
                        float, int *, int *));
extern void sgelsx __P((int, int, int, float *, int, float *, int, int *, float,
                        int *, int *));
extern void sgeql2 __P((int, int, float *, int, float *, int *));
extern void sgeqlf __P((int, int, float *, int, float *, int *));
extern void sgeqpf __P((int, int, float *, int, int *, float *, int *));
extern void sgeqr2 __P((int, int, float *, int, float *, int *));
extern void sgeqrf __P((int, int, float *, int, float *, int *));
extern void sgerfs __P((char, int, int, float *, int, float *, int, int *,
                        float *, int, float *, int, float *, float *, int *));
extern void sgerq2 __P((int, int, float *, int, float *, int *));
extern void sgerqf __P((int, int, float *, int, float *, int *));
extern void sgesv __P((int, int, float *, int, int *, float *, int, int *));
extern void sgesvd __P((char, char, int, int, float *, int, float *, float *,
                        int, float *, int, int *));
extern void sgesvx __P((char, char, int, int, float *, int, float *, int, int *,
                        char *, float *, float *, float *, int, float *, int,
                        float *, float *, float *, int *));
extern void sgetf2 __P((int, int, float *, int, int *, int *));
extern void sgetrf __P((int, int, float *, int, int *, int *));
extern void sgetri __P((int, float *, int, int *, int *));
extern void sgetrs __P((char, int, int, float *, int, int *, float *, int,
                        int *));
extern void sggbak __P((char, char, int, int, int, float *, float *, int,
                        float *, int, int *));
extern void sggbal __P((char, int, float *, int, float *, int, int *, int *,
                        float *, float *, int *));
extern void sggglm __P((int, int, int, float *, int, float *, int, float *,
                        float *, float *, int *));
extern void sgghrd __P((char, char, int, int, int, float *, int, float *, int,
                        float *, int, float *, int, int *));
extern void sgglse __P((int, int, int, float *, int, float *, int, float *,
                        float *, float *, int *));
extern void sggqrf __P((int, int, int, float *, int, float *, float *, int,
                        float *, int *));
extern void sggrqf __P((int, int, int, float *, int, float *, float *, int,
                        float *, int *));
extern void sggsvd __P((char, char, char, int, int, int, int *, int *, float *,
                        int, float *, int, float *, float *, float *, int,
                        float *, int, float *, int, int *));
extern void sggsvp __P((char, char, char, int, int, int, float *, int, float *,
                        int, float, float, int *, int *, float *, int, float *,
                        int, float *, int, float *, int *));
extern void sgtcon __P((char, int, float *, float *, float *, float *, int *,
                        float, float *, int *));
extern void sgtrfs __P((char, int, int, float *, float *, float *, float *,
                        float *, float *, float *, int *, float *, int,
                        float *, int, float *, float *, int *));
extern void sgtsv __P((int, int, float *, float *, float *, float *, int,
                       int *));
extern void sgtsvx __P((char, char, int, int, float *, float *, float *,
                        float *, float *, float *, float *, int *, float *,
                        int, float *, int, float *, float *, float *, int *));
extern void sgttrf __P((int, float *, float *, float *, float *, int *, int *));
extern void sgttrs __P((char, int, int, float *, float *, float *, float *,
                        int *, float *, int, int *));
extern void shgeqz __P((char, char, char, int, int, int, float *, int, float *,
                        int, float *, float *, float *, float *, int, float *,
                        int, int *));
extern void shsein __P((char, char, char, int *, int, float *, int, float *,
                        float *, float *, int, float *, int, int, int *, int *,
                        int *, int *));
extern void shseqr __P((char, char, int, int, int, float *, int, float *,
                        float *, float *, int, int *));
extern void slabad __P((float *, float *));
extern void slabrd __P((int, int, int, float *, int, float *, float *, float *,
                        float *, float *, int, float *, int *));
extern void slacon __P((int, float *, float *, int *, float *, int *));
extern void slacpy __P((char, int, int, float *, int, float *, int));
extern void sladiv __P((float, float, float, float, float *, float *));
extern void slae2 __P((float, float, float, float *, float *));
extern void slaebz __P((int, int, int, int, int, int, float, float, float,
                        float *, float *, float *, int *, float *, float *,
                        int *, int *, int *));
extern void slaed0 __P((int, int, int, float *, float *, float *, int, float *,
                        int, int *));
extern void slaed1 __P((int, float *, float *, int, int *, float, int, int *));
extern void slaed2 __P((int *, int, float *, float *, int, int *, float *, int,
                        float *, float *, float *, int, int *, float *, int *,
                        int *, int *, int *));
extern void slaed3 __P((int, int, int, int, float *, float *, int, float, int,
                        float *, float *, int, int *, int *, float *, float *,
                        int, int *));
extern void slaed4 __P((int, int, float *, float *, float *, float, float *,
                        int *));
extern void slaed5 __P((int, float *, float *, float *, float, float *));
extern void slaed6 __P((int, int, float, float *, float *, float, float *,
                        int *));
extern void slaed7 __P((int, int, int, int, int, int, float *, float *, int,
                        int *, float, int, float *, int *, int *, int *, int *,
                        int *, float *, int *));
extern void slaed8 __P((int, int *, int, int, float *, float *, int, int *,
                        float *, int, float *, float *, float *, int, float *,
                        int *, int *, int *, float *, int *, int *, int *));
extern void slaed9 __P((int, int, int, int, float *, float *, int, float,
                        float *, float *, float *, int, int *));
extern void slaeda __P((int, int, int, int, int *, int *, int *, int *, float *,
                        float *, int *, float *, float *, int *));
extern void slaein __P((int, int, int, float *, int, float, float, float *,
                        float *, float *, int, float, float, float, int *));
extern void slaev2 __P((float, float, float, float *, float *, float *,
                        float *));
extern void slaexc __P((int, int, float *, int, float *, int, int, int, int,
                        int *));
extern void slag2 __P((float *, int, float *, int, float, float *, float *,
                       float *, float *, float *));
extern void slags2 __P((int, float, float, float, float, float, float, float *,
                        float *, float *, float *, float *, float *));
extern void slagtf __P((int, float *, float, float *, float *, float, float *,
                        int *, int *));
extern void slagtm __P((char, int, int, float, float *, float *, float *,
                        float *, int, float, float *, int));
extern void slagts __P((int, int, float *, float *, float *, float *, int *,
                        float *, float *, int *));
extern void slahqr __P((int, int, int, int, int, float *, int, float *, float *,
                        int, int, float *, int, int *));
extern void slahrd __P((int, int, int, float *, int, float *, float *, int,
                        float *, int));
extern void slaic1 __P((int, int, float *, float, float *, float, float *,
                        float *, float *));
extern void slaln2 __P((int, int, int, float, float, float *, int, float, float,
                        float *, int, float, float, float *, int, float *,
                        float *, int *));
extern float slamch __P((char));
extern void slamrg __P((int, int, float *, int, int, int *));
extern float slangb __P((char, int, int, int, float *, int));
extern float slange __P((char, int, int, float *, int lda));
extern float slangt __P((char, int, float *, float *, float *));
extern float slanhs __P((char, int, float *, int));
extern float slansb __P((char, char, int, int, float *, int));
extern float slansp __P((char, char, int, float *));
extern float slanst __P((char, int, float *, float *));
extern float slansy __P((char, char, int, float *, int));
extern float slantb __P((char, char, char, int, int, float *, int));
extern float slantp __P((char, char, char, int, float *));
extern float slantr __P((char, char, char, int, int, float *, int));
extern void slanv2 __P((float *, float *, float *, float *, float *, float *,
                        float *, float *, float *, float *));
extern void slapll __P((int, float *, int, float *, int, float *));
extern void slapmt __P((int, int, int, float *, int, int *));
extern float slapy2 __P((float, float));
extern float slapy3 __P((float, float, float));
extern void slaqgb __P((int, int, int, int, float *, int, float *, float *,
                        float *, float *, float, char *));
extern void slaqge __P((int, int, float *, int, float *, float *, float, float,
                        float, char *));
extern void slaqsb __P((char, int, int, float *, int, float *, float, float,
                        char *));
extern void slaqsp __P((char, int, float *, float *, float, float, char *));
extern void slaqsy __P((char, int, float *, int, float *, float, float,
                        char *));
extern void slaqtr __P((int, int, int, float *, int, float *, float, float *,
                        float *, int *));
extern void slar2v __P((int, float *, float *, float *, int, float *, float *,
                        int));
extern void slarf __P((char, int, int, float *, int, float, float *, int));
extern void slarfb __P((char, char, char, char, int, int, int, float *, int,
                        float *, int, float *, int));
extern void slarfg __P((int, float *, float *, int, float *));
extern void slarft __P((char, char, int, int, float *, int, float *, float *,
                        int));
extern void slarfx __P((char, int, int, float *, float, float *, int));
extern void slargv __P((int, float *, int, float *, int, float *, int));
extern void slarnv __P((int, int *, int, float *));
extern void slartg __P((float, float, float *, float *, float *));
extern void slartv __P((int, float *, int, float *, int, float *, float *,
                        int));
extern void slaruv __P((int *, int, float *));
extern void slas2 __P((float, float, float, float *, float *));
extern void slascl __P((char, int, int, float, float, int, int, float *, int,
                        int *));
extern void slaset __P((char, int, int, float, float, float *, int));
extern void slasq1 __P((int, float *, float *, int *));
extern void slasq2 __P((int, float *, float *, float *, float *, float, float,
                        float, float *, int *, int *));
extern void slasq3 __P((int *, float *, float *, float *, float *, float *,
                        float *, int *, int *, int *, int, float, float,
                        float));
extern void slasq4 __P((int, float *, float *, float *, float *));
extern void slasr __P((char, char, char, int, int, float *, float *, float *,
                       int));
extern void slasrt __P((char, int, float *, int *));
extern void slassq __P((int, float *, int, float *, float *));
extern void slasv2 __P((float, float, float, float *, float *, float *, float *,
                        float *, float *));
extern void slaswp __P((int, float *, int, int, int, int *, int));
extern void slasy2 __P((int, int, int, int, int, float *, int, float *, int,
                        float *, int, float *, float *, int, float *, int *));
extern void slasyf __P((char, int, int, int *, float *, int, int *, float *,
                        int, int *));
extern void slatbs __P((char, char, char, char, int, int, float *, int, float *,
                        float *, float *, int *));
extern void slatps __P((char, char, char, char, int, float *, float *, float *,
                        float *, int *));
extern void slatrd __P((char, int, int, float *, int, float *, float *, float *,
                        int));
extern void slatrs __P((char, char, char, char, int, float *, int, float *,
                        float *, float *, int *));
extern void slatzm __P((char, int, int, float *, int, float, float *, float *,
                        int));
extern void slauu2 __P((char, int, float *, int, int *));
extern void slauum __P((char, int, float *, int, int *));
extern void slazro __P((int, int, float, float, float *, int));
extern void sopgtr __P((char, int, float *, float *, float *, int, int *));
extern void sopmtr __P((char, char, char, int, int, float *, float *, float *,
                        int, int *));
extern void sorg2l __P((int, int, int, float *, int, float *, int *));
extern void sorg2r __P((int, int, int, float *, int, float *, int *));
extern void sorgbr __P((char, int, int, int, float *, int, float *, int *));
extern void sorghr __P((int, int, int, float *, int, float *, int *));
extern void sorgl2 __P((int, int, int, float *, int, float *, int *));
extern void sorglq __P((int, int, int, float *, int, float *, int *));
extern void sorgql __P((int, int, int, float *, int, float *, int *));
extern void sorgqr __P((int, int, int, float *, int, float *, int *));
extern void sorgr2 __P((int, int, int, float *, int, float *, int *));
extern void sorgrq __P((int, int, int, float *, int, float *, int *));
extern void sorgtr __P((char, int, float *, int, float *, int *));
extern void sorm2l __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sorm2r __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormbr __P((char, char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormhr __P((char, char, int, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sorml2 __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormlq __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormql __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormqr __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormr2 __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormrq __P((char, char, int, int, int, float *, int, float *,
                        float *, int, int *));
extern void sormtr __P((char, char, char, int, int, float *, int, float *,
                        float *, int, int *));
extern void spbcon __P((char, int, int, float *, int, float, float *, int *));
extern void spbequ __P((char, int, int, float *, int, float *, float *, float *,
                        int *));
extern void spbrfs __P((char, int, int, int, float *, int, float *, int,
                        float *, int, float *, int, float *, float *, int *));
extern void spbstf __P((char, int, int, float *, int, int *));
extern void spbsv __P((char, int, int, int, float *, int, float *, int, int *));
extern void spbsvx __P((char, char, int, int, int, float *, int, float *, int,
                        char *, float *, float *, int, float *, int, float *,
                        float *, float *, int *));
extern void spbtf2 __P((char, int, int, float *, int, int *));
extern void spbtrf __P((char, int, int, float *, int, int *));
extern void spbtrs __P((char, int, int, int, float *, int, float *, int,
                        int *));
extern void spocon __P((char, int, float *, int, float, float *, int *));
extern void spoequ __P((int, float *, int, float *, float *, float *, int *));
extern void sporfs __P((char, int, int, float *, int, float *, int, float *,
                        int, float *, int, float *, float *, int *));
extern void sposv __P((char, int, int, float *, int, float *, int, int *));
extern void sposvx __P((char, char, int, int, float *, int, float *, int,
                        char *, float *, float *, int, float *, int, float *,
                        float *, float *, int *));
extern void spotf2 __P((char, int, float *, int, int *));
extern void spotrf __P((char, int, float *, int, int *));
extern void spotri __P((char, int, float *, int, int *));
extern void spotrs __P((char, int, int, float *, int, float *, int, int *));
extern void sppcon __P((char, int, float *, float, float *, int *));
extern void sppequ __P((char, int, float *, float *, float *, float *, int *));
extern void spprfs __P((char, int, int, float *, float *, float *, int, float *,
                        int, float *, float *, int *));
extern void sppsv __P((char, int, int, float *, float *, int, int *));
extern void sppsvx __P((char, char, int, int, float *, float *, char *, float *,
                        float *, int, float *, int, float *, float *, float *,
                        int *));
extern void spptrf __P((char, int, float *, int *));
extern void spptri __P((char, int, float *, int *));
extern void spptrs __P((char, int, int, float *, float *, int, int *));
extern void sptcon __P((int, float *, float *, float, float *, int *));
extern void spteqr __P((char, int, float *, float *, float *, int, int *));
extern void sptrfs __P((int, int, float *, float *, float *, float *, float *,
                        int, float *, int, float *, float *, int *));
extern void sptsv __P((int, int, float *, float *, float *, int, int *));
extern void sptsvx __P((char, int, int, float *, float *, float *, float *,
                        float *, int, float *, int, float *, float *, float *,
                        int *));
extern void spttrf __P((int, float *, float *, int *));
extern void spttrs __P((int, int, float *, float *, float *, int, int *));
extern void srscl __P((int, float, float *, int));
extern void ssbev __P((char, char, int, int, float *, int, float *, float *,
                       int, int *));
extern void ssbevd __P((char, char, int, int, float *, int, float *, float *,
                        int, int *));
extern void ssbevx __P((char, char, char, int, int, float *, int, float *, int,
                        float, float, int, int, float, int *, float *, float *,
                        int, int *, int *));
extern void ssbgst __P((char, char, int, int, int, float *, int, float *, int,
                        float *, int, int *));
extern void ssbgv __P((char, char, int, int, int, float *, int, float *, int,
                       float *, float *, int, int *));
extern void ssbtrd __P((char, char, int, int, float *, int, float *, float *,
                        float *, int, int *));
extern void sspcon __P((char, int, float *, int *, float, float *, int *));
extern void sspev __P((char, char, int, float *, float *, float *, int, int *));
extern void sspevd __P((char, char, int, float *, float *, float *, int,
                        int *));
extern void sspevx __P((char, char, char, int, float *, float, float, int, int,
                        float, int *, float *, float *, int, int *, int *));
extern void sspgst __P((int, char, int, float *, float *, int *));
extern void sspgv __P((int, char, char, int, float *, float *, float *, float *,
                       int, int *));
extern void ssprfs __P((char, int, int, float *, float *, int *, float *, int,
                        float *, int, float *, float *, int *));
extern void sspsv __P((char, int, int, float *, int *, float *, int, int *));
extern void sspsvx __P((char, char, int, int, float *, float *, int *, float *,
                        int, float *, int, float *, float *, float *, int *));
extern void ssptrd __P((char, int, float *, float *, float *, float *, int *));
extern void ssptrf __P((char, int, float *, int *, int *));
extern void ssptri __P((char, int, float *, int *, int *));
extern void ssptrs __P((char, int, int, float *, int *, float *, int, int *));
extern void sstebz __P((char, char, int, float, float, int, int, float, float *,
                        float *, int *, int *, float *, int *, int *, int *));
extern void sstedc __P((char, int, float *, float *, float *, int, int *));
extern void sstein __P((int, float *, float *, int, float *, int *, int *,
                        float *, int, int *, int *));
extern void ssteqr __P((char, int, float *, float *, float *, int, int *));
extern void ssterf __P((int, float *, float *, int *));
extern void sstev __P((char, int, float *, float *, float *, int, int *));
extern void sstevd __P((char, int, float *, float *, float *, int, int *));
extern void sstevx __P((char, char, int, float *, float *, float, float, int,
                        int, float, int *, float *, float *, int, int *,
                        int *));
extern void ssycon __P((char, int, float *, int, int *, float, float *, int *));
extern void ssyev __P((char, char, int, float *, int, float *, int *));
extern void ssyevd __P((char, char, int, float *, int, float *, int *));
extern void ssyevx __P((char, char, char, int, float *, int, float, float, int,
                        int, float, int *, float *, float *, int, int *,
                        int *));
extern void ssygs2 __P((int, char, int, float *, int, float *, int, int *));
extern void ssygst __P((int, char, int, float *, int, float *, int, int *));
extern void ssygv __P((int, char, char, int, float *, int, float *, int,
                       float *, int *));
extern void ssyrfs __P((char, int, int, float *, int, float *, int, int *,
                        float *, int, float *, int, float *, float *, int *));
extern void ssysv __P((char, int, int, float *, int, int *, float *, int,
                       int *));
extern void ssysvx __P((char, char, int, int, float *, int, float *, int, int *,
                        float *, int, float *, int, float *, float *, float *,
                        int *));
extern void ssytd2 __P((char, int, float *, int, float *, float *, float *,
                        int *));
extern void ssytf2 __P((char, int, float *, int, int *, int *));
extern void ssytrd __P((char, int, float *, int, float *, float *, float *,
                        int *));
extern void ssytrf __P((char, int, float *, int, int *, int *));
extern void ssytri __P((char, int, float *, int, int *, int *));
extern void ssytrs __P((char, int, int, float *, int, int *, float *, int,
                        int *));
extern void stbcon __P((char, char, char, int, int, float *, int, float *,
                        int *));
extern void stbrfs __P((char, char, char, int, int, int, float *, int, float *,
                        int, float *, int, float *, float *, int *));
extern void stbtrs __P((char, char, char, int, int, int, float *, int, float *,
                        int, int *));
extern void stgevc __P((char, char, int *, int, float *, int, float *, int,
                        float *, int, float *, int, int, int *, int *));
extern void stgsja __P((char, char, char, int, int, int, int, int, float *, int,
                        float *, int, float, float, float *, float *, float *,
                        int, float *, int, float *, int, int *, int *));
extern void stpcon __P((char, char, char, int, float *, float *, int *));
extern void stprfs __P((char, char, char, int, int, float *, float *, int,
                        float *, int, float *, float *, int *));
extern void stptri __P((char, char, int, float *, int *));
extern void stptrs __P((char, char, char, int, int, float *, float *, int,
                        int *));
extern void strcon __P((char, char, char, int, float *, int, float *, int *));
extern void strevc __P((char, char, int *, int, float *, int, float *, int,
                        float *, int, int, int *, int *));
extern void strexc __P((char, int, float *, int, float *, int, int *, int *,
                        int *));
extern void strrfs __P((char, char, char, int, int, float *, int, float *, int,
                        float *, int, float *, float *, int *));
extern void strsen __P((char, char, int *, int, float *, int, float *, int,
                        float *, float *, int *, float *, float *, int *));
extern void strsna __P((char, char, int *, int, float *, int, float *, int,
                        float *, int, float *, float *, int, int *, int *));
extern void strsyl __P((char, char, int, int, int, float *, int, float *, int,
                        float *, int, float *, int *));
extern void strti2 __P((char, char, int, float *, int, int *));
extern void strtri __P((char, char, int, float *, int, int *));
extern void strtrs __P((char, char, char, int, int, float *, int, float *, int,
                        int *));
extern void stzrqf __P((int, int, float *, int, float *, int *));
extern void zbdsqr __P((char, int, int, int, int, double *, double *,
                        doublecomplex *, int, doublecomplex *, int,
                        doublecomplex *, int, int *));
extern void zdrot __P((int, doublecomplex *, int, doublecomplex *, int,
                       double *, double *));
extern void zdrscl __P((int, double, doublecomplex *, int));
extern void zgbbrd __P((char, int, int, int, int, int, doublecomplex *, int,
                        double *, double *, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, int *));
extern void zgbcon __P((char, int, int, int, doublecomplex *, int, int *,
                        double, double *, int *));
extern void zgbequ __P((int, int, int, int, doublecomplex *, int, double *,
                        double *, double *, double *, double *, int *));
extern void zgbrfs __P((char, int, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *, doublecomplex *, int,
                        doublecomplex *, int, double *, double *, int *));
extern void zgbsv __P((int, int, int, int, doublecomplex *, int, int *,
                       doublecomplex *, int, int *));
extern void zgbsvx __P((char, char, int, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *, char *, double *,
                        double *, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, double *, int *));
extern void zgbtf2 __P((int, int, int, int, doublecomplex *, int, int *,
                        int *));
extern void zgbtrf __P((int, int, int, int, doublecomplex *, int, int *,
                        int *));
extern void zgbtrs __P((char, int, int, int, int, doublecomplex *, int, int *,
                        doublecomplex *, int, int *));
extern void zgebak __P((char, char, int, int, int, double *, int,
                        doublecomplex *, int, int *));
extern void zgebal __P((char, int, doublecomplex *, int, int *, int *, double *,
                        int *));
extern void zgebd2 __P((int, int, doublecomplex *, int, double *, double *,
                        doublecomplex *, doublecomplex *, int *));
extern void zgebrd __P((int, int, doublecomplex *, int, double *, double *,
                        doublecomplex *, doublecomplex *, int *));
extern void zgecon __P((char, int, doublecomplex *, int, double, double *,
                        int *));
extern void zgeequ __P((int, int, doublecomplex *, int, double *, double *,
                        double *, double *, double *, int *));
extern void zgees __P((char, char, int (*)(doublecomplex *), int,
                       doublecomplex *, int, int *, doublecomplex *,
                       doublecomplex *, int, int *));
extern void zgeesx __P((char, char, int (*)(doublecomplex *), char, int,
                        doublecomplex *, int, int *, doublecomplex *,
                        doublecomplex *, int, double *, double *, int *));
extern void zgeev __P((char, char, int, doublecomplex *, int, doublecomplex *,
                       doublecomplex *, int, doublecomplex *, int, int *));
extern void zgeevx __P((char, char, char, char, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, doublecomplex *,
                        int, int *, int *, double *, double *, double *,
                        double *, int *));
extern void zgegs __P((char, char, int, doublecomplex *, int, doublecomplex *,
                       int, doublecomplex *, doublecomplex *, doublecomplex *,
                       int, doublecomplex *, int, int *));
extern void zgegv __P((char, char, int, doublecomplex *, int, doublecomplex *,
                       int, doublecomplex *, doublecomplex *, doublecomplex *,
                       int, doublecomplex *, int, int *));
extern void zgehd2 __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgehrd __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgelq2 __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgelqf __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgels __P((char, int, int, int, doublecomplex *, int,
                       doublecomplex *, int, int *));
extern void zgelss __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int, double *, double, int *, int *));
extern void zgelsx __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int, int *, double, int *, int *));
extern void zgeql2 __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgeqlf __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgeqpf __P((int, int, doublecomplex *, int, int *, doublecomplex *,
                        int *));
extern void zgeqr2 __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgeqrf __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgerfs __P((char, int, int, doublecomplex *, int, doublecomplex *,
                        int, int *, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, int *));
extern void zgerq2 __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgerqf __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zgesv __P((int, int, doublecomplex *, int, int *, doublecomplex *,
                       int, int *));
extern void zgesvd __P((char, char, int, int, doublecomplex *, int, double *,
                        doublecomplex *, int, doublecomplex *, int, int *));
extern void zgesvx __P((char, char, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *, char *, double *,
                        double *, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, double *, int *));
extern void zgetf2 __P((int, int, doublecomplex *, int, int *, int *));
extern void zgetrf __P((int, int, doublecomplex *, int, int *, int *));
extern void zgetri __P((int, doublecomplex *, int, int *, int *));
extern void zgetrs __P((char, int, int, doublecomplex *, int, int *,
                        doublecomplex *, int, int *));
extern void zggbak __P((char, char, int, int, int, double *, double *, int,
                        doublecomplex *, int, int *));
extern void zggbal __P((char, int, doublecomplex *, int, doublecomplex *, int,
                        int *, int *, double *, double *, int *));
extern void zggglm __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int, doublecomplex *, doublecomplex *, doublecomplex *,
                        int *));
extern void zgghrd __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int,
                        doublecomplex *, int, int *));
extern void zgglse __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int, doublecomplex *, doublecomplex *, doublecomplex *,
                        int *));
extern void zggqrf __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        doublecomplex *, int, doublecomplex *, int *));
extern void zggrqf __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        doublecomplex *, int, doublecomplex *, int *));
extern void zggsvd __P((char, char, char, int, int, int, int *, int *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, doublecomplex *, int, doublecomplex *, int,
                        doublecomplex *, int, int *));
extern void zggsvp __P((char, char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, double, double, int *, int *,
                        doublecomplex *, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int *));
extern void zgtcon __P((char, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *, int *, double,
                        double *, int *));
extern void zgtrfs __P((char, int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *, int *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int *));
extern void zgtsv __P((int, int, doublecomplex *, doublecomplex *,
                       doublecomplex *, doublecomplex *, int, int *));
extern void zgtsvx __P((char, char, int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *, int *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, double *, int *));
extern void zgttrf __P((int, doublecomplex *, doublecomplex *, doublecomplex *,
                        doublecomplex *, int *, int *));
extern void zgttrs __P((char, int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *, int *,
                        doublecomplex *, int, int *));
extern void zhbev __P((char, char, int, int, doublecomplex *, int, double *,
                       doublecomplex *, int, int *));
extern void zhbevd __P((char, char, int, int, doublecomplex *, int, double *,
                        doublecomplex *, int, int *));
extern void zhbevx __P((char, char, char, int, int, doublecomplex *, int,
                        doublecomplex *, int, double, double, int, int, double,
                        int *, double *, doublecomplex *, int, int *, int *));
extern void zhbgst __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, int *));
extern void zhbgv __P((char, char, int, int, int, doublecomplex *, int,
                       doublecomplex *, int, double *, doublecomplex *, int,
                       int *));
extern void zhbtrd __P((char, char, int, int, doublecomplex *, int, double *,
                        double *, doublecomplex *, int, int *));
extern void zhecon __P((char, int, doublecomplex *, int, int *, double,
                        double *, int *));
extern void zheev __P((char, char, int, doublecomplex *, int, double *, int *));
extern void zheevd __P((char, char, int, doublecomplex *, int, double *,
                        int *));
extern void zheevx __P((char, char, char, int, doublecomplex *, int, double,
                        double, int, int, double, int *, double *,
                        doublecomplex *, int, int *, int *));
extern void zhegs2 __P((int, char, int, doublecomplex *, int, doublecomplex *,
                        int, int *));
extern void zhegst __P((int, char, int, doublecomplex *, int, doublecomplex *,
                        int, int *));
extern void zhegv __P((int, char, char, int, doublecomplex *, int,
                       doublecomplex *, int, double *, int *));
extern void zherfs __P((char, int, int, doublecomplex *, int, doublecomplex *,
                        int, int *, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, int *));
extern void zhesv __P((char, int, int, doublecomplex *, int, int *,
                       doublecomplex *, int, int *));
extern void zhesvx __P((char, char, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *, doublecomplex *, int,
                        doublecomplex *, int, double *, double *, double *,
                        int *));
extern void zhetd2 __P((char, int, doublecomplex *, int, double *, double *,
                        doublecomplex *, int *));
extern void zhetf2 __P((char, int, doublecomplex *, int, int *, int *));
extern void zhetrd __P((char, int, doublecomplex *, int, double *, double *,
                        doublecomplex *, int *));
extern void zhetrf __P((char, int, doublecomplex *, int, int *, int *));
extern void zhetri __P((char, int, doublecomplex *, int, int *, int *));
extern void zhetrs __P((char, int, int, doublecomplex *, int, int *,
                        doublecomplex *, int, int *));
extern void zhgeqz __P((char, char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, int, doublecomplex *, int, int *));
extern void zhpcon __P((char, int, doublecomplex *, int *, double, double *,
                        int *));
extern void zhpev __P((char, char, int, doublecomplex *, double *,
                       doublecomplex *, int, int *));
extern void zhpevd __P((char, char, int, doublecomplex *, double *,
                        doublecomplex *, int, int *));
extern void zhpevx __P((char, char, char, int, doublecomplex *, double, double,
                        int, int, double, int *, double *, doublecomplex *,
                        int, int *, int *));
extern void zhpgst __P((int, char, int, doublecomplex *, doublecomplex *,
                        int *));
extern void zhpgv __P((int, char, char, int, doublecomplex *, doublecomplex *,
                       double *, doublecomplex *, int, int *));
extern void zhprfs __P((char, int, int, doublecomplex *, doublecomplex *, int *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int *));
extern void zhpsv __P((char, int, int, doublecomplex *, int *, doublecomplex *,
                       int, int *));
extern void zhpsvx __P((char, char, int, int, doublecomplex *, doublecomplex *,
                        int *, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, double *, int *));
extern void zhptrd __P((char, int, doublecomplex *, double *, double *,
                        doublecomplex *, int *));
extern void zhptrf __P((char, int, doublecomplex *, int *, int *));
extern void zhptri __P((char, int, doublecomplex *, int *, int *));
extern void zhptrs __P((char, int, int, doublecomplex *, int *, doublecomplex *,
                        int, int *));
extern void zhsein __P((char, char, char, int *, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, doublecomplex *,
                        int, int, int *, int *, int *, int *));
extern void zhseqr __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zlabrd __P((int, int, int, doublecomplex *, int, double *, double *,
                        doublecomplex *, doublecomplex *, doublecomplex *, int,
                        doublecomplex *, int *));
extern void zlacgv __P((int, doublecomplex *, int));
extern void zlacon __P((int, doublecomplex *, doublecomplex *, double *,
                        int *));
extern void zlacpy __P((char, int, int, doublecomplex *, int, doublecomplex *,
                        int));
extern void zlacrm __P((int, int, doublecomplex *, int, double *, int,
                        doublecomplex *, int));
extern void zlacrt __P((int, doublecomplex *, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *));
extern doublecomplex zladiv __P((doublecomplex *, doublecomplex *));
extern void zlaed0 __P((int, int, double *, double *, doublecomplex *, int,
                        doublecomplex *, int, int *));
extern void zlaed7 __P((int, int, int, int, int, int, double *, doublecomplex *,
                        int, double, int *, double *, int *, int *, int *,
                        int *, int *, double *, int *));
extern void zlaed8 __P((int *, int, int, doublecomplex *, int, double *,
                        double *, int, double *, double *, doublecomplex *,
                        int, double *, int *, int *, int *, int *, int *,
                        int *, double *, int *));
extern void zlaein __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        doublecomplex *, doublecomplex *, int, double, double,
                        int *));
extern void zlaesy __P((doublecomplex *, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *, doublecomplex *,
                        doublecomplex *, doublecomplex *));
extern void zlaev2 __P((doublecomplex *, doublecomplex *, doublecomplex *,
                        double *, double *, double *, doublecomplex *));
extern void zlags2 __P((int, double, doublecomplex *, double, double,
                        doublecomplex *, double, double *, doublecomplex *,
                        double *, doublecomplex *, double *, doublecomplex *));
extern void zlagtm __P((char, int, int, double, doublecomplex *,
                        doublecomplex *, doublecomplex *, doublecomplex *, int,
                        double, doublecomplex *, int));
extern void zlahef __P((char, int, int, int *, doublecomplex *, int, int *,
                        doublecomplex *, int, int *));
extern void zlahqr __P((int, int, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, int, doublecomplex *, int,
                        int *));
extern void zlahrd __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        doublecomplex *, int, doublecomplex *, int));
extern void zlaic1 __P((int, int, doublecomplex *, double, doublecomplex *,
                        doublecomplex *, double *, doublecomplex *,
                        doublecomplex *));
extern double zlangb __P((char, int, int, int, doublecomplex *, int));
extern double zlange __P((char, int, int, doublecomplex *, int));
extern double zlangt __P((char, int, doublecomplex *, doublecomplex *,
                          doublecomplex *));
extern double zlanhb __P((char, char, int, int, doublecomplex *, int));
extern double zlanhe __P((char, char, int, doublecomplex *, int));
extern double zlanhp __P((char, char, int, doublecomplex *));
extern double zlanhs __P((char, int, doublecomplex *, int));
extern double zlanht __P((char, int, double *, doublecomplex *));
extern double zlansb __P((char, char, int, int, doublecomplex *, int));
extern double zlansp __P((char, char, int, doublecomplex *));
extern double zlanst __P((char, int, double *, doublecomplex *));
extern double zlansy __P((char, char, int, doublecomplex *, int));
extern double zlantb __P((char, char, char, int, int, doublecomplex *, int));
extern double zlantp __P((char, char, char, int, doublecomplex *));
extern double zlantr __P((char, char, char, int, int, doublecomplex *, int));
extern void zlapll __P((int, doublecomplex *, int, doublecomplex *, int,
                        double *));
extern void zlapmt __P((int, int, int, doublecomplex *, int, int *));
extern void zlaqgb __P((int, int, int, int, doublecomplex *, int, double *,
                        double *, double *, double *, double, char *));
extern void zlaqge __P((int, int, doublecomplex *, int, double *, double *,
                        double, double, double, char *));
extern void zlaqhb __P((char, int, int, doublecomplex *, int, double *, double,
                        double, char *));
extern void zlaqhe __P((char, int, doublecomplex *, int, double *, double,
                        double, char *));
extern void zlaqhp __P((char, int, doublecomplex *, double *, double, double,
                        char *));
extern void zlaqsb __P((char, int, int, doublecomplex *, int, double *, double,
                        double, char *));
extern void zlaqsp __P((char, int, doublecomplex *, double *, double, double,
                        char *));
extern void zlaqsy __P((char, int, doublecomplex *, int, double *, double,
                        double, char *));
extern void zlar2v __P((int, doublecomplex *, doublecomplex *, doublecomplex *,
                        int, double *, doublecomplex *, int));
extern void zlarf __P((char, int, int, doublecomplex *, int, doublecomplex *,
                       doublecomplex *, int));
extern void zlarfb __P((char, char, char, char, int, int, int, doublecomplex *,
                        int, doublecomplex *, int, doublecomplex *, int));
extern void zlarfg __P((int, doublecomplex *, doublecomplex *, int,
                        doublecomplex *));
extern void zlarft __P((char, char, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int));
extern void zlarfx __P((char, int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, int));
extern void zlargv __P((int, doublecomplex *, int, doublecomplex *, int,
                        double *, int));
extern void zlarnv __P((int, int *, int, doublecomplex *));
extern void zlartg __P((doublecomplex *, doublecomplex *, double *,
                        doublecomplex *, doublecomplex *));
extern void zlartv __P((int, doublecomplex *, int, doublecomplex *, int,
                        double *, doublecomplex *, int));
extern void zlascl __P((char, int, int, double, double, int, int,
                        doublecomplex *, int, int *));
extern void zlaset __P((char, int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, int));
extern void zlasr __P((char, char, char, int, int, double *, double *,
                       doublecomplex *, int));
extern void zlassq __P((int, doublecomplex *, int, double *, double *));
extern void zlaswp __P((int, doublecomplex *, int, int, int, int *, int));
extern void zlasyf __P((char, int, int, int *, doublecomplex *, int, int *,
                        doublecomplex *, int, int *));
extern void zlatbs __P((char, char, char, char, int, int, doublecomplex *, int,
                        doublecomplex *, double *, double *, int *));
extern void zlatps __P((char, char, char, char, int, doublecomplex *,
                        doublecomplex *, double *, double *, int *));
extern void zlatrd __P((char, int, int, doublecomplex *, int, double *,
                        doublecomplex *, doublecomplex *, int));
extern void zlatrs __P((char, char, char, char, int, doublecomplex *, int,
                        doublecomplex *, double *, double *, int *));
extern void zlatzm __P((char, int, int, doublecomplex *, int, doublecomplex *,
                        doublecomplex *, doublecomplex *, int));
extern void zlauu2 __P((char, int, doublecomplex *, int, int *));
extern void zlauum __P((char, int, doublecomplex *, int, int *));
extern void zlazro __P((int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, int));
extern void zpbcon __P((char, int, int, doublecomplex *, int, double, double *,
                        int *));
extern void zpbequ __P((char, int, int, doublecomplex *, int, double *,
                        double *, double *, int *));
extern void zpbrfs __P((char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int,
                        doublecomplex *, int, double *, double *, int *));
extern void zpbstf __P((char, int, int, doublecomplex *, int, int *));
extern void zpbsv __P((char, int, int, int, doublecomplex *, int,
                       doublecomplex *, int, int *));
extern void zpbsvx __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, char *, double *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, double *, int *));
extern void zpbtf2 __P((char, int, int, doublecomplex *, int, int *));
extern void zpbtrf __P((char, int, int, doublecomplex *, int, int *));
extern void zpbtrs __P((char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *));
extern void zpocon __P((char, int, doublecomplex *, int, double, double *,
                        int *));
extern void zpoequ __P((int, doublecomplex *, int, double *, double *, double *,
                        int *));
extern void zporfs __P((char, int, int, doublecomplex *, int, doublecomplex *,
                        int, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, int *));
extern void zposv __P((char, int, int, doublecomplex *, int, doublecomplex *,
                       int, int *));
extern void zposvx __P((char, char, int, int, doublecomplex *, int,
                        doublecomplex *, int, char *, double *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, double *, int *));
extern void zpotf2 __P((char, int, doublecomplex *, int, int *));
extern void zpotrf __P((char, int, doublecomplex *, int, int *));
extern void zpotri __P((char, int, doublecomplex *, int, int *));
extern void zpotrs __P((char, int, int, doublecomplex *, int, doublecomplex *,
                        int, int *));
extern void zppcon __P((char, int, doublecomplex *, double, double *, int *));
extern void zppequ __P((char, int, doublecomplex *, double *, double *,
                        double *, int *));
extern void zpprfs __P((char, int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int *));
extern void zppsv __P((char, int, int, doublecomplex *, doublecomplex *, int,
                       int *));
extern void zppsvx __P((char, char, int, int, doublecomplex *, doublecomplex *,
                        char *, double *, doublecomplex *, int,
                        doublecomplex *, int, double *, double *, double *,
                        int *));
extern void zpptrf __P((char, int, doublecomplex *, int *));
extern void zpptri __P((char, int, doublecomplex *, int *));
extern void zpptrs __P((char, int, int, doublecomplex *, doublecomplex *, int,
                        int *));
extern void zptcon __P((int, double *, doublecomplex *, double, double *,
                        int *));
extern void zpteqr __P((char, int, double *, double *, doublecomplex *, int,
                        int *));
extern void zptrfs __P((char, int, int, double *, doublecomplex *, double *,
                        doublecomplex *, doublecomplex *, int, doublecomplex *,
                        int, double *, double *, int *));
extern void zptsv __P((int, int, double *, doublecomplex *, doublecomplex *,
                       int, int *));
extern void zptsvx __P((char, int, int, double *, doublecomplex *, double *,
                        doublecomplex *, doublecomplex *, int, doublecomplex *,
                        int, double *, double *, double *, int *));
extern void zpttrf __P((int, double *, doublecomplex *, int *));
extern void zpttrs __P((char, int, int, double *, doublecomplex *,
                        doublecomplex *, int, int *));
extern void zrot __P((int, doublecomplex *, int, doublecomplex *, int, double,
                      doublecomplex *));
extern void zspcon __P((char, int, doublecomplex *, int *, double, double *,
                        int *));
extern void zspmv __P((char, int, doublecomplex *, doublecomplex *,
                       doublecomplex *, int, doublecomplex *, doublecomplex *,
                       int));
extern void zspr __P((char, int, doublecomplex *, doublecomplex *, int,
                      doublecomplex *));
extern void zsprfs __P((char, int, int, doublecomplex *, doublecomplex *, int *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int *));
extern void zspsv __P((char, int, int, doublecomplex *, int *, doublecomplex *,
                       int, int *));
extern void zspsvx __P((char, char, int, int, doublecomplex *, doublecomplex *,
                        int *, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, double *, int *));
extern void zsptrf __P((char, int, doublecomplex *, int *, int *));
extern void zsptri __P((char, int, doublecomplex *, int *, int *));
extern void zsptrs __P((char, int, int, doublecomplex *, int *, doublecomplex *,
                        int, int *));
extern void zstedc __P((char, int, double *, double *, doublecomplex *, int,
                        int *));
extern void zstein __P((int, double *, double *, int, double *, int *, int *,
                        doublecomplex *, int, int *, int *));
extern void zsteqr __P((char, int, double *, double *, doublecomplex *, int,
                        int *));
extern void zsycon __P((char, int, doublecomplex *, int, int *, double,
                        double *, int *));
extern void zsymv __P((char, int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, doublecomplex *,
                       int));
extern void zsyr __P((char, int, doublecomplex *, doublecomplex *, int,
                      doublecomplex *, int));
extern void zsyrfs __P((char, int, int, doublecomplex *, int, doublecomplex *,
                        int, int *, doublecomplex *, int, doublecomplex *, int,
                        double *, double *, int *));
extern void zsysv __P((char, int, int, doublecomplex *, int, int *,
                       doublecomplex *, int, int *));
extern void zsysvx __P((char, char, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *, doublecomplex *, int,
                        doublecomplex *, int, double *, double *, double *,
                        int *));
extern void zsytf2 __P((char, int, doublecomplex *, int, int *, int *));
extern void zsytrf __P((char, int, doublecomplex *, int, int *, int *));
extern void zsytri __P((char, int, doublecomplex *, int, int *, int *));
extern void zsytrs __P((char, int, int, doublecomplex *, int, int *,
                        doublecomplex *, int, int *));
extern void ztbcon __P((char, char, char, int, int, doublecomplex *, int,
                        double *, int *));
extern void ztbrfs __P((char, char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int *));
extern void ztbtrs __P((char, char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *));
extern void ztgevc __P((char, char, int *, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int,
                        doublecomplex *, int, int, int *, int *));
extern void ztgsja __P((char, char, char, int, int, int, int, int,
                        doublecomplex *, int, doublecomplex *, int, double,
                        double, double *, double *, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, int *,
                        int *));
extern void ztpcon __P((char, char, char, int, doublecomplex *, double *,
                        int *));
extern void ztprfs __P((char, char, char, int, int, doublecomplex *,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int *));
extern void ztptri __P((char, char, int, doublecomplex *, int *));
extern void ztptrs __P((char, char, char, int, int, doublecomplex *,
                        doublecomplex *, int, int *));
extern void ztrcon __P((char, char, char, int, doublecomplex *, int, double *,
                        int *));
extern void ztrevc __P((char, char, int *, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, int, int *,
                        int *));
extern void ztrexc __P((char, int, doublecomplex *, int, doublecomplex *, int,
                        int, int, int *));
extern void ztrrfs __P((char, char, char, int, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int *));
extern void ztrsen __P((char, char, int *, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int *, double *,
                        double *, int *));
extern void ztrsna __P((char, char, int *, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        double *, int, int *, int *));
extern void ztrsyl __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int, doublecomplex *, int, double *,
                        int *));
extern void ztrti2 __P((char, char, int, doublecomplex *, int, int *));
extern void ztrtri __P((char, char, int, doublecomplex *, int, int *));
extern void ztrtrs __P((char, char, char, int, int, doublecomplex *, int,
                        doublecomplex *, int, int *));
extern void ztzrqf __P((int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zung2l __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zung2r __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zungbr __P((char, int, int, int, doublecomplex *, int,
                        doublecomplex *, int *));
extern void zunghr __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zungl2 __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zunglq __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zungql __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zungqr __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zungr2 __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zungrq __P((int, int, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zungtr __P((char, int, doublecomplex *, int, doublecomplex *,
                        int *));
extern void zunm2l __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunm2r __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmbr __P((char, char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmhr __P((char, char, int, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunml2 __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmlq __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmql __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmqr __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmr2 __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmrq __P((char, char, int, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zunmtr __P((char, char, char, int, int, doublecomplex *, int,
                        doublecomplex *, doublecomplex *, int, int *));
extern void zupgtr __P((char, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, int, int *));
extern void zupmtr __P((char, char, char, int, int, doublecomplex *,
                        doublecomplex *, doublecomplex *, int, int *));
extern void available_threads __P((int *, int *));
extern void use_threads __P((int));
extern int using_threads __P((void));
extern void ccnvcor __P((char, char, int, complex *, int, int, int, int, int,
                         complex *, int, int, int, int, int, complex *, int,
                         int, int, complex *));
extern void ccnvcor2 __P((char, char, char, char, char, char, int, int,
                          complex *, int, int, int, int, int, complex *, int,
                          int, int, complex *, int, complex *, int));
extern void dcnvcor __P((char, char, int, double *, int, int, int, int, int,
                         double *, int, int, int, int, int, double *, int, int,
                         int, double *));
extern void dcnvcor2 __P((char, char, char, char, char, char, int, int,
                          double *, int, int, int, int, int, double *, int,
                          int, int, double *, int, doublecomplex *, int));
extern void dwiener __P((int, double *, double *, double *, double *, int,
                         int *));
extern void scnvcor __P((char, char, int, float *, int, int, int, int, int,
                         float *, int, int, int, int, int, float *, int, int,
                         int, float *));
extern void scnvcor2 __P((char, char, char, char, char, char, int, int, float *,
                          int, int, int, int, int, float *, int, int, int,
                          float *, int, complex *, int));
extern void swiener __P((int, float *, float *, float *, float *, int, int *));
extern void zcnvcor __P((char, char, int, doublecomplex *, int, int, int, int,
                         int, doublecomplex *, int, int, int, int, int,
                         doublecomplex *, int, int, int, doublecomplex *));
extern void zcnvcor2 __P((char, char, char, char, char, char, int, int,
                          doublecomplex *, int, int, int, int, int,
                          doublecomplex *, int, int, int, doublecomplex *, int,
                          doublecomplex *, int));
extern void cfft2b __P((int, int, complex *, int, float *, int));
extern void cfft2f __P((int, int, complex *, int, float *, int));
extern void cfft2i __P((int, int, float *));
extern void cfft3b __P((int, int, int, complex *, int, int, float *, int));
extern void cfft3f __P((int, int, int, complex *, int, int, float *, int));
extern void cfft3i __P((int, int, int, float *));
extern void dfft2b __P((char, int, int, double *, int, double *, int, double *,
                        int));
extern void dfft2f __P((char, char, int, int, double *, int, double *, int,
                        double *, int));
extern void dfft2i __P((int, int, double *));
extern void dfft3b __P((char, int, int, int, double *, int, double *, int,
                        double *, int));
extern void dfft3f __P((char, char, int, int, int, double *, int, double *, int,
                        double *, int));
extern void dfft3i __P((int, int, int, double *));
extern void rfft2b __P((char, int, int, float *, int, float *, int, float *,
                        int));
extern void rfft2f __P((char, char, int, int, float *, int, float *, int,
                        float *, int));
extern void rfft2i __P((int, int, float *));
extern void rfft3b __P((char, int, int, int, float *, int, float *, int,
                        float *, int));
extern void rfft3f __P((char, char, int, int, int, float *, int, float *, int,
                        float *, int));
extern void rfft3i __P((int, int, int, float *));
extern void zfft2b __P((int, int, doublecomplex *, int, double *, int));
extern void zfft2f __P((int, int, doublecomplex *, int, double *, int));
extern void zfft2i __P((int, int, double *));
extern void zfft3b __P((int, int, int, doublecomplex *, int, int, double *, int));
extern void zfft3f __P((int, int, int, doublecomplex *, int, int, double *, int));
extern void zfft3i __P((int, int, int, double *));
extern int cfftopt __P((int));
extern int dfftopt __P((int));
extern int rfftopt __P((int));
extern int zfftopt __P((int));
extern float clanst __P((char, int, float *, complex *));
extern void ctrans __P((char, complex *, complex *, int, int, complex *));
extern void dtrans __P((char, double, double *, int, int, double *));
extern void strans __P((char, float, float *, int, int, float *));
extern void ztrans __P((char, doublecomplex *, doublecomplex *, int, int,
                        doublecomplex *));
extern void cvmul __P((int, complex *, complex *, int, complex *, int,
                       complex *, complex *, int));
extern void zvmul __P((int, doublecomplex *, doublecomplex *, int,
                       doublecomplex *, int, doublecomplex *, doublecomplex *,
                       int));
extern void vcfftb __P((int, int, complex *, complex *, int, char, float *));
extern void vcfftf __P((int, int, complex *, complex *, int, char, float *));
extern void vcffti __P((int, float *));
extern void vzfftb __P((int, int, doublecomplex *, doublecomplex *, int, char,
                        double *));
extern void vzfftf __P((int, int, doublecomplex *, doublecomplex *, int, char,
                        double *));
extern void vzffti __P((int, double *));
extern void cstsv __P((int, int, complex *, complex *, complex *, complex *,
                       int, int *, int *));
extern void csttrf __P((int, complex *, complex *, complex *, int *, int *));
extern void csttrs __P((int, int, complex *, complex *, complex *, int *,
                        complex *, int, int *));
extern void dstsv __P((int, int, double *, double *, double *, double *, int,
                       int *, int *));
extern void dsttrf __P((int, double *, double *, double *, int *, int *));
extern void dsttrs __P((int, int, double *, double *, double *, int *, double *,
                        int, int *));
extern void sstsv __P((int, int, float *, float *, float *, float *, int, int *,
                       int *));
extern void ssttrf __P((int, float *, float *, float *, int *, int *));
extern void ssttrs __P((int, int, float *, float *, float *, int *, float *,
                        int, int *));
extern void zstsv __P((int, int, doublecomplex *, doublecomplex *,
                       doublecomplex *, doublecomplex *, int, int *, int *));
extern void zsttrf __P((int, doublecomplex *, doublecomplex *, doublecomplex *,
                        int *, int *));
extern void zsttrs __P((int, int, doublecomplex *, doublecomplex *,
                        doublecomplex *, int *, doublecomplex *, int, int *));

#ifdef __cplusplus
}
#endif

#endif  /* !defined(_SUNPERF_H) */
