diff --git a/Changelog.txt b/Changelog.txt index e122300ec..0ed35b0e4 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,17 @@ OpenBLAS ChangeLog +==================================================================== +Version 0.1.1 +29-Apr-2012 +common: + * Upgraded LAPACK to 3.4.1 version. (Thank Zaheer Chothia) + * Supported LAPACKE, a C interface to LAPACKE. (Thank Zaheer Chothia) + * Fixed the build bug (MD5 and download) on Mac OSX. + * Auto download CUnit 2.1.2-2 from SF.net with UTEST_CHECK=1. +x86/x86_64: + * Auto-detect Intel Sandy Bridge Core i7-3xxx & Xeon E7 Westmere-EX. + * Test alpha=Nan in dscale. + * Fixed a SEGFAULT bug in samax on x86 windows. + ==================================================================== Version 0.1.0 23-Mar-2012 diff --git a/LICENSE b/LICENSE index f5e4f35a7..1e93a6a73 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2011, Lab of Parallel Software and Computational Science,ICSAS +Copyright (c) 2011,2012 Lab of Parallel Software and Computational Science,ISCAS All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Makefile b/Makefile index ba04aa989..8d78a844b 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ endif SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench -.PHONY : all libs netlib test ctest shared install +.PHONY : all libs netlib test ctest shared install .NOTPARALLEL : all libs prof lapack-test install all :: libs netlib tests shared @@ -203,47 +203,64 @@ ifeq ($(NO_LAPACK), 1) netlib : else -netlib : lapack-3.4.0 patch.for_lapack-3.4.0 lapack-3.4.0/make.inc +netlib : lapack-3.4.1 patch.for_lapack-3.4.1 $(NETLIB_LAPACK_DIR)/make.inc ifndef NOFORTRAN - -@$(MAKE) -C lapack-3.4.0 lapacklib + -@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib +endif +ifndef NO_LAPACKE + -@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapackelib endif endif -prof_lapack : lapack-3.4.0 lapack-3.4.0/make.inc - -@$(MAKE) -C lapack-3.4.0 lapack_prof +prof_lapack : lapack-3.4.1 $(NETLIB_LAPACK_DIR)/make.inc + -@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof -lapack-3.4.0/make.inc : +$(NETLIB_LAPACK_DIR)/make.inc : ifndef NOFORTRAN - -@echo "FORTRAN = $(FC)" > lapack-3.4.0/make.inc - -@echo "OPTS = $(FFLAGS)" >> lapack-3.4.0/make.inc - -@echo "POPTS = $(FPFLAGS)" >> lapack-3.4.0/make.inc - -@echo "NOOPT = $(FFLAGS) -O0" >> lapack-3.4.0/make.inc - -@echo "PNOOPT = $(FPFLAGS) -O0" >> lapack-3.4.0/make.inc - -@echo "LOADOPTS = $(FFLAGS) $(EXTRALIB)" >> lapack-3.4.0/make.inc - -@echo "ARCH = $(AR)" >> lapack-3.4.0/make.inc - -@echo "RANLIB = $(RANLIB)" >> lapack-3.4.0/make.inc - -@echo "LAPACKLIB = ../$(LIBNAME)" >> lapack-3.4.0/make.inc - -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> lapack-3.4.0/make.inc - -@echo "SUFFIX = $(SUFFIX)" >> lapack-3.4.0/make.inc - -@echo "PSUFFIX = $(PSUFFIX)" >> lapack-3.4.0/make.inc -# -@echo "CEXTRALIB = $(CEXTRALIB)" >> lapack-3.4.0/make.inc - -@cat make.inc >> lapack-3.4.0/make.inc + -@echo "FORTRAN = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc + -@echo "OPTS = $(FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "POPTS = $(FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "NOOPT = $(FFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "PNOOPT = $(FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "LOADOPTS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "CFLAGS = $(CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "ARCH = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "LAPACKELIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc +# -@echo "CEXTRALIB = $(CEXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc endif -lapack-3.4.0 : lapack-3.4.0.tgz +lapack-3.4.1 : lapack-3.4.1.tgz ifndef NOFORTRAN - @if test `$(MD5SUM) lapack-3.4.0.tgz | $(AWK) '{print $$1}'` = 02d5706ec03ba885fc246e5fa10d8c70; then \ +ifndef NO_LAPACK + @if test `$(MD5SUM) lapack-3.4.1.tgz | $(AWK) '{print $$1}'` = 44c3869c38c8335c2b9c2a8bb276eb55; then \ echo $(TAR) zxf $< ;\ - $(TAR) zxf $< && (cd lapack-3.4.0; $(PATCH) -p1 < ../patch.for_lapack-3.4.0) ;\ + $(TAR) zxf $< && (cd $(NETLIB_LAPACK_DIR); $(PATCH) -p1 < ../patch.for_lapack-3.4.1) ;\ + rm -f $(NETLIB_LAPACK_DIR)/lapacke/make.inc ;\ else \ - echo " lapack-3.4.0.tgz check sum is wrong (Please use orignal)." ;\ - rm -rf lapack-3.4.0 ;\ + rm -rf $(NETLIB_LAPACK_DIR) ;\ + echo " Cannot download lapack-3.4.1.tgz or the MD5 check sum is wrong (Please use orignal)."; \ + exit 1; \ fi endif +endif -lapack-3.4.0.tgz : +LAPACK_URL=http://www.netlib.org/lapack/lapack-3.4.1.tgz + +lapack-3.4.1.tgz : ifndef NOFORTRAN - -wget http://www.netlib.org/lapack/lapack-3.4.0.tgz +ifeq ($(OSNAME), Darwin) + curl -O $(LAPACK_URL) +else + wget $(LAPACK_URL) +endif endif large.tgz : @@ -256,21 +273,21 @@ ifndef NOFORTRAN -wget http://www.netlib.org/lapack/timing/timing.tgz endif -lapack-timing : lapack-3.4.0 large.tgz timing.tgz +lapack-timing : lapack-3.4.1 large.tgz timing.tgz ifndef NOFORTRAN - (cd lapack-3.4.0; $(TAR) zxf ../timing.tgz TIMING) - (cd lapack-3.4.0/TIMING; $(TAR) zxf ../../large.tgz ) - make -C lapack-3.4.0 tmglib - make -C lapack-3.4.0/TIMING + (cd $(NETLIB_LAPACK_DIR); $(TAR) zxf ../timing.tgz TIMING) + (cd $(NETLIB_LAPACK_DIR)/TIMING; $(TAR) zxf ../../large.tgz ) + make -C $(NETLIB_LAPACK_DIR) tmglib + make -C $(NETLIB_LAPACK_DIR)/TIMING endif lapack-test : - $(MAKE) -C lapack-3.4.0 tmglib - $(MAKE) -C lapack-3.4.0/TESTING xeigtstc xeigtstd xeigtsts xeigtstz xlintstc xlintstd xlintstds xlintsts xlintstz xlintstzc - @rm -f lapack-3.4.0/TESTING/*.out - $(MAKE) -j 1 -C lapack-3.4.0/TESTING - $(GREP) failed lapack-3.4.0/TESTING/*.out + $(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib + $(MAKE) -C $(NETLIB_LAPACK_DIR)/TESTING xeigtstc xeigtstd xeigtsts xeigtstz xlintstc xlintstd xlintstds xlintsts xlintstz xlintstzc + @rm -f $(NETLIB_LAPACK_DIR)/TESTING/*.out + $(MAKE) -j 1 -C $(NETLIB_LAPACK_DIR)/TESTING + $(GREP) failed $(NETLIB_LAPACK_DIR)/TESTING/*.out dummy : @@ -289,9 +306,9 @@ clean :: @$(MAKE) -C reference clean @rm -f *.$(LIBSUFFIX) *.so *~ *.exe getarch getarch_2nd *.dll *.lib *.$(SUFFIX) *.dwf $(LIBPREFIX).$(LIBSUFFIX) $(LIBPREFIX)_p.$(LIBSUFFIX) $(LIBPREFIX).so.$(MAJOR_VERSION) *.lnk myconfig.h @rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib - @if test -d lapack-3.4.0; then \ - echo deleting lapack-3.4.0; \ - rm -rf lapack-3.4.0 ;\ + @if test -d $(NETLIB_LAPACK_DIR); then \ + echo deleting $(NETLIB_LAPACK_DIR); \ + rm -rf $(NETLIB_LAPACK_DIR) ;\ fi @rm -f *.grd Makefile.conf_last config_last.h @echo Done. \ No newline at end of file diff --git a/Makefile.install b/Makefile.install index 46105fc39..a74f3d606 100644 --- a/Makefile.install +++ b/Makefile.install @@ -23,7 +23,7 @@ install : lib.grd @cat config_last.h >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h @echo \#define VERSION \" OpenBLAS $(VERSION) \" >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h @cat openblas_config_template.h >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h - @echo \#endif >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h + @echo \#endif \/\* OPENBLAS_CONFIG_H \*\/ >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h @echo Generating f77blas.h in $(OPENBLAS_INCLUDE_DIR) @echo \#ifndef OPENBLAS_F77BLAS_H > $(OPENBLAS_INCLUDE_DIR)/f77blas.h @@ -35,6 +35,14 @@ install : lib.grd @echo Generating cblas.h in $(OPENBLAS_INCLUDE_DIR) @sed 's/common/openblas_config/g' cblas.h > $(OPENBLAS_INCLUDE_DIR)/cblas.h +ifndef NO_LAPACKE + @echo Copying LAPACKE header files to $(OPENBLAS_LIBRARY_DIR) + @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke.h $(OPENBLAS_INCLUDE_DIR)/lapacke.h + @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_config.h $(OPENBLAS_INCLUDE_DIR)/lapacke_config.h + @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling_with_flags.h $(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h + @-cp $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_utils.h $(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h +endif + #for install static library @echo Copy the static library to $(OPENBLAS_LIBRARY_DIR) @cp $(LIBNAME) $(OPENBLAS_LIBRARY_DIR) diff --git a/Makefile.rule b/Makefile.rule index 650478a07..b6cf98a3e 100644 --- a/Makefile.rule +++ b/Makefile.rule @@ -3,7 +3,7 @@ # # This library's version -VERSION = 0.1.0 +VERSION = 0.1.1 # If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a # and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library @@ -48,9 +48,13 @@ VERSION = 0.1.0 # If you don't need CBLAS interface, please comment it in. # NO_CBLAS = 1 -# If you don't need LAPACK, please comment it in. +# If you don't need LAPACK, please comment it in. +# If you set NO_LAPACK=1, the library automatically sets NO_LAPACKE=1. # NO_LAPACK = 1 +# If you don't need LAPACKE (C Interface to LAPACK), please comment it in. +# NO_LAPACKE = 1 + # If you want to use legacy threaded Level 3 implementation. # USE_SIMPLE_THREADED_LEVEL3 = 1 diff --git a/Makefile.system b/Makefile.system index 0fd223d60..e2fe9f730 100644 --- a/Makefile.system +++ b/Makefile.system @@ -9,6 +9,10 @@ ifndef TOPDIR TOPDIR = . endif +ifndef NETLIB_LAPACK_DIR +NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-3.4.1 +endif + # Default C compiler CC = gcc @@ -101,6 +105,7 @@ DLLWRAP = $(CROSS_SUFFIX)dllwrap ifeq ($(OSNAME), Darwin) export MACOSX_DEPLOYMENT_TARGET=10.2 +MD5SUM = md5 -r endif ifeq ($(OSNAME), Linux) @@ -533,6 +538,12 @@ endif ifeq ($(NO_LAPACK), 1) CCOMMON_OPT += -DNO_LAPACK +#Disable LAPACK C interface +NO_LAPACKE = 1 +endif + +ifeq ($(NO_LAPACKE), 1) +CCOMMON_OPT += -DNO_LAPACKE endif ifdef SMP @@ -651,7 +662,10 @@ PATCH = patch GREP = grep endif +ifndef MD5SUM MD5SUM = md5sum +endif + AWK = awk REVISION = -r$(VERSION) diff --git a/README b/README index c8c2c2c55..6372e96bd 100644 --- a/README +++ b/README @@ -2,6 +2,7 @@ OpenBLAS Readme 1.Introduction OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. OpenBLAS is an open source project supported by Lab of Parallel Software and Computational Science, ISCAS.(http://www.rdcps.ac.cn) +Please read the documents on OpenBLAS wiki pages(http://github.com/xianyi/OpenBLAS/wiki). 2.Intallation Download from project homepage. http://xianyi.github.com/OpenBLAS/ @@ -34,7 +35,7 @@ Additional support CPU: x86_64: Intel Xeon 56xx (Westmere) //Used GotoBLAS2 Nehalem codes. MIPS64: - ICT Loongson 3A //The initial version used GotoBLAS2 MIPS64 kernels. Thus, the performance is not good. + ICT Loongson 3A //Level 3 BLAS subroutines are optimized. 4.Usages Link with libopenblas.a or -lopenblas for shared library. diff --git a/c_check b/c_check index 263efeb3d..6ce5e4cc0 100644 --- a/c_check +++ b/c_check @@ -174,6 +174,8 @@ $linker_a = ""; $link =~ s/\-Y\sP\,/\-Y/g; @flags = split(/[\s\,\n]/, $link); + # remove leading and trailing quotes from each flag. + @flags = map {s/^['"]|['"]$//g; $_} @flags; foreach $flags (@flags) { if ( diff --git a/cblas.h b/cblas.h index 34adc5e99..f3708a994 100644 --- a/cblas.h +++ b/cblas.h @@ -22,15 +22,15 @@ double cblas_dsdot (blasint n, float *x, blasint incx, float *y, blasint incy); float cblas_sdot(blasint n, float *x, blasint incx, float *y, blasint incy); double cblas_ddot(blasint n, double *x, blasint incx, double *y, blasint incy); -float _Complex cblas_cdotu(blasint n, float *x, blasint incx, float *y, blasint incy); -float _Complex cblas_cdotc(blasint n, float *x, blasint incx, float *y, blasint incy); -double _Complex cblas_zdotu(blasint n, double *x, blasint incx, double *y, blasint incy); -double _Complex cblas_zdotc(blasint n, double *x, blasint incx, double *y, blasint incy); +openblas_complex_float cblas_cdotu(blasint n, float *x, blasint incx, float *y, blasint incy); +openblas_complex_float cblas_cdotc(blasint n, float *x, blasint incx, float *y, blasint incy); +openblas_complex_double cblas_zdotu(blasint n, double *x, blasint incx, double *y, blasint incy); +openblas_complex_double cblas_zdotc(blasint n, double *x, blasint incx, double *y, blasint incy); -void cblas_cdotu_sub(blasint n, float *x, blasint incx, float *y, blasint incy, float _Complex *ret); -void cblas_cdotc_sub(blasint n, float *x, blasint incx, float *y, blasint incy, float _Complex *ret); -void cblas_zdotu_sub(blasint n, double *x, blasint incx, double *y, blasint incy, double _Complex *ret); -void cblas_zdotc_sub(blasint n, double *x, blasint incx, double *y, blasint incy, double _Complex *ret); +void cblas_cdotu_sub(blasint n, float *x, blasint incx, float *y, blasint incy, openblas_complex_float *ret); +void cblas_cdotc_sub(blasint n, float *x, blasint incx, float *y, blasint incy, openblas_complex_float *ret); +void cblas_zdotu_sub(blasint n, double *x, blasint incx, double *y, blasint incy, openblas_complex_double *ret); +void cblas_zdotc_sub(blasint n, double *x, blasint incx, double *y, blasint incy, openblas_complex_double *ret); float cblas_sasum (blasint n, float *x, blasint incx); double cblas_dasum (blasint n, double *x, blasint incx); diff --git a/common.h b/common.h index e848f33f3..c6d30ddcf 100644 --- a/common.h +++ b/common.h @@ -374,6 +374,28 @@ typedef int blasint; #endif #endif +#ifndef ASSEMBLER +#ifndef NOINCLUDE +/* Inclusion of a standard header file is needed for definition of __STDC_* + predefined macros with some compilers (e.g. GCC 4.7 on Linux). This occurs + as a side effect of including either or . */ +#include +#endif // NOINCLUDE + +/* C99 supports complex floating numbers natively, which GCC also offers as an + extension since version 3.0. If neither are available, use a compatible + structure as fallback (see Clause 6.2.5.13 of the C99 standard). */ +#if defined(__STDC_IEC_559_COMPLEX__) || __STDC_VERSION__ >= 199901L || __GNUC__ >= 3 + #define OPENBLAS_COMPLEX_C99 + typedef float _Complex openblas_complex_float; + typedef double _Complex openblas_complex_double; +#else + #define OPENBLAS_COMPLEX_STRUCT + typedef struct { float real, imag; } openblas_complex_float; + typedef struct { double real, imag; } openblas_complex_double; +#endif +#endif // ASSEMBLER + #ifndef IFLUSH #define IFLUSH #endif diff --git a/common_reference.h b/common_reference.h index 4cc4be4fd..be151e0d6 100644 --- a/common_reference.h +++ b/common_reference.h @@ -63,5 +63,7 @@ double _Complex BLASFUNC_REF(zdotc) (blasint *, double *, blasint *, double void BLASFUNC_REF(drotmg)(double *, double *, double *, double *, double *); double BLASFUNC_REF(dsdot)(blasint *, float *, blasint *, float *, blasint*); + +FLOATRET BLASFUNC_REF(samax) (blasint *, float *, blasint *); #endif diff --git a/cpuid_x86.c b/cpuid_x86.c index e183e9fc3..7b36fdbdf 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -987,6 +987,12 @@ int get_cpuname(void){ case 12: //Xeon Processor 5600 (Westmere-EP) return CPUTYPE_NEHALEM; + case 13: + //Intel Core i7-3000 / Xeon E5 (Sandy Bridge) + return CPUTYPE_NEHALEM; + case 15: + //Xeon Processor E7 (Westmere-EX) + return CPUTYPE_NEHALEM; } break; } @@ -1319,6 +1325,12 @@ int get_coretype(void){ case 12: //Xeon Processor 5600 (Westmere-EP) return CORE_NEHALEM; + case 13: + //Intel Core i7-3000 / Xeon E5 (Sandy Bridge) + return CORE_NEHALEM; + case 15: + //Xeon Processor E7 (Westmere-EX) + return CORE_NEHALEM; } break; } diff --git a/exports/Makefile b/exports/Makefile index 873e8b270..971bd0bed 100644 --- a/exports/Makefile +++ b/exports/Makefile @@ -10,6 +10,14 @@ ifndef NO_CBLAS NO_CBLAS = 0 endif +ifndef NO_LAPACK +NO_LAPACK = 0 +endif + +ifndef NO_LAPACKE +NO_LAPACKE = 0 +endif + ifeq ($(OSNAME), WINNT) ifeq ($(F_COMPILER), GFORTRAN) EXTRALIB += -lgfortran @@ -76,13 +84,13 @@ libgoto2_shared.dll : ../$(LIBNAME) libgoto2_shared.def -Wl,--out-implib,libgoto2_shared.lib $(FEXTRALIB) libopenblas.def : gensymbol - perl ./gensymbol win2k $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > $(@F) + perl ./gensymbol win2k $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > $(@F) libgoto2_shared.def : gensymbol - perl ./gensymbol win2k $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > $(@F) + perl ./gensymbol win2k $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > $(@F) libgoto_hpl.def : gensymbol - perl ./gensymbol win2khpl $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > $(@F) + perl ./gensymbol win2khpl $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > $(@F) $(LIBDYNNAME) : ../$(LIBNAME) osx.def $(CC) $(CFLAGS) -all_load -headerpad_max_install_names -install_name $(CURDIR)/../$(LIBDYNNAME) -dynamiclib -o ../$(LIBDYNNAME) $< -Wl,-exported_symbols_list,osx.def $(FEXTRALIB) @@ -163,23 +171,23 @@ static : ../$(LIBNAME) rm -f goto.$(SUFFIX) linux.def : gensymbol ../Makefile.system ../getarch.c - perl ./gensymbol linux $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > $(@F) + perl ./gensymbol linux $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > $(@F) osx.def : gensymbol ../Makefile.system ../getarch.c - perl ./gensymbol osx $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > $(@F) + perl ./gensymbol osx $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > $(@F) aix.def : gensymbol ../Makefile.system ../getarch.c - perl ./gensymbol aix $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > $(@F) + perl ./gensymbol aix $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > $(@F) symbol.S : gensymbol - perl ./gensymbol win2kasm noarch dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > symbol.S + perl ./gensymbol win2kasm noarch dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > symbol.S test : linktest.c $(CC) $(CFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) -lm && echo OK. rm -f linktest linktest.c : gensymbol ../Makefile.system ../getarch.c - perl ./gensymbol linktest $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > linktest.c + perl ./gensymbol linktest $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) > linktest.c clean :: @rm -f *.def *.dylib __.SYMDEF* diff --git a/exports/gensymbol b/exports/gensymbol index 6b2a00672..ac586630a 100644 --- a/exports/gensymbol +++ b/exports/gensymbol @@ -93,7 +93,7 @@ sgebrd, sgecon, sgeequ, sgees, sgeesx, sgeev, sgeevx, sgegs, sgegv, sgehd2, sgehrd, sgelq2, sgelqf, sgels, sgelsd, sgelss, sgelsx, sgelsy, sgeql2, sgeqlf, - sgeqp3, sgeqpf, sgeqr2, sgeqrf, sgerfs, sgerq2, sgerqf, + sgeqp3, sgeqpf, sgeqr2, sgeqr2p, sgeqrf, sgeqrfp, sgerfs, sgerq2, sgerqf, sgesc2, sgesdd, sgesvd, sgesvx, sgetc2, sgetri, sggbak, sggbal, sgges, sggesx, sggev, sggevx, @@ -108,8 +108,8 @@ slapll, slapmt, slaqgb, slaqge, slaqp2, slaqps, slaqsb, slaqsp, slaqsy, slaqr0, slaqr1, slaqr2, slaqr3, slaqr4, slaqr5, - slaqtr, slar1v, slar2v, - slarf, slarfb, slarfg, slarft, slarfx, slargv, + slaqtr, slar1v, slar2v, ilaslr, ilaslc, + slarf, slarfb, slarfg, slarfgp, slarft, slarfx, slargv, slarrv, slartv, slarz, slarzb, slarzt, slasy2, slasyf, slatbs, slatdf, slatps, slatrd, slatrs, slatrz, slatzm, @@ -120,7 +120,8 @@ sormr3, sormrq, sormrz, sormtr, spbcon, spbequ, spbrfs, spbstf, spbsv, spbsvx, spbtf2, spbtrf, spbtrs, spocon, spoequ, sporfs, sposv, - sposvx, spotrs, sppcon, sppequ, + sposvx, spotrs, spstrf, spstf2, + sppcon, sppequ, spprfs, sppsv, sppsvx, spptrf, spptri, spptrs, sptcon, spteqr, sptrfs, sptsv, sptsvx, spttrs, sptts2, srscl, ssbev, ssbevd, ssbevx, ssbgst, ssbgv, ssbgvd, ssbgvx, @@ -129,19 +130,27 @@ ssptrf, ssptri, ssptrs, sstegr, sstein, sstev, sstevd, sstevr, sstevx, ssycon, ssyev, ssyevd, ssyevr, ssyevx, ssygs2, ssygst, ssygv, ssygvd, ssygvx, ssyrfs, ssysv, ssysvx, - ssytd2, ssytf2, ssytrd, ssytrf, ssytri, ssytrs, stbcon, + ssytd2, ssytf2, ssytrd, ssytrf, ssytri, ssytri2, ssytri2x, + ssyswapr, ssytrs, ssytrs2, ssyconv, stbcon, stbrfs, stbtrs, stgevc, stgex2, stgexc, stgsen, stgsja, stgsna, stgsy2, stgsyl, stpcon, stprfs, stptri, stptrs, strcon, strevc, strexc, strrfs, strsen, strsna, strsyl, strtrs, stzrqf, stzrzf, sstemr, + slansf, spftrf, spftri, spftrs, ssfrk, stfsm, stftri, stfttp, + stfttr, stpttf, stpttr, strttf, strttp, + sgejsv, sgesvj, sgsvj0, sgsvj1, + sgeequb, ssyequb, spoequb, sgbequb, + sbbcsd, slapmr, sorbdb, sorcsd, + sgeqrt, sgeqrt2, sgeqrt3, sgemqrt, + stpqrt, stpqrt2, stpmqrt, stprfb, cbdsqr, cgbbrd, cgbcon, cgbequ, cgbrfs, cgbsv, cgbsvx, cgbtf2, cgbtrf, cgbtrs, cgebak, cgebal, cgebd2, cgebrd, cgecon, cgeequ, cgees, cgeesx, cgeev, cgeevx, cgegs, cgegv, cgehd2, cgehrd, cgelq2, cgelqf, cgels, cgelsd, cgelss, cgelsx, cgelsy, cgeql2, cgeqlf, cgeqp3, - cgeqpf, cgeqr2, cgeqrf, cgerfs, cgerq2, cgerqf, + cgeqpf, cgeqr2, cgeqr2p, cgeqrf, cgeqrfp, cgerfs, cgerq2, cgerqf, cgesc2, cgesdd, cgesvd, cgesvx, cgetc2, cgetri, cggbak, cggbal, cgges, cggesx, cggev, cggevx, cggglm, @@ -152,7 +161,8 @@ checon, cheev, cheevd, cheevr, cheevx, chegs2, chegst, chegv, chegvd, chegvx, cherfs, chesv, chesvx, chetd2, chetf2, chetrd, - chetrf, chetri, chetrs, chgeqz, chpcon, chpev, chpevd, + chetrf, chetri, chetri2, chetri2x, cheswapr, + chetrs, chetrs2, chgeqz, chpcon, chpev, chpevd, chpevx, chpgst, chpgv, chpgvd, chpgvx, chprfs, chpsv, chpsvx, chptrd, chptrf, chptri, chptrs, chsein, chseqr, clabrd, @@ -166,20 +176,22 @@ clantp, clantr, clapll, clapmt, clarcm, claqgb, claqge, claqhb, claqhe, claqhp, claqp2, claqps, claqsb, claqr0, claqr1, claqr2, claqr3, claqr4, claqr5, - claqsp, claqsy, clar1v, clar2v, clarf, clarfb, clarfg, clarft, + claqsp, claqsy, clar1v, clar2v, ilaclr, ilaclc, + clarf, clarfb, clarfg, clarfgp, clarft, clarfx, clargv, clarnv, clarrv, clartg, clartv, clarz, clarzb, clarzt, clascl, claset, clasr, classq, clasyf, clatbs, clatdf, clatps, clatrd, clatrs, clatrz, clatzm, cpbcon, cpbequ, cpbrfs, cpbstf, cpbsv, cpbsvx, cpbtf2, cpbtrf, cpbtrs, cpocon, cpoequ, cporfs, - cposv, cposvx, cpotrs, cppcon, - cppequ, cpprfs, cppsv, cppsvx, cpptrf, cpptri, cpptrs, + cposv, cposvx, cpotrs, cpstrf, cpstf2, + cppcon, cppequ, cpprfs, cppsv, cppsvx, cpptrf, cpptri, cpptrs, cptcon, cpteqr, cptrfs, cptsv, cptsvx, cpttrf, cpttrs, cptts2, crot, cspcon, cspmv, cspr, csprfs, cspsv, cspsvx, csptrf, csptri, csptrs, csrscl, cstedc, - cstegr, cstein, csteqr, csycon, + cstegr, cstein, csteqr, csycon, csyr, csyrfs, csysv, csysvx, csytf2, csytrf, csytri, - csytrs, ctbcon, ctbrfs, ctbtrs, ctgevc, ctgex2, + csytri2, csytri2x, csyswapr, + csytrs, csytrs2, csyconv, ctbcon, ctbrfs, ctbtrs, ctgevc, ctgex2, ctgexc, ctgsen, ctgsja, ctgsna, ctgsy2, ctgsyl, ctpcon, ctprfs, ctptri, ctptrs, ctrcon, ctrevc, ctrexc, ctrrfs, ctrsen, ctrsna, @@ -188,13 +200,19 @@ cungrq, cungtr, cunm2l, cunm2r, cunmbr, cunmhr, cunml2, cunmlq, cunmql, cunmqr, cunmr2, cunmr3, cunmrq, cunmrz, cunmtr, cupgtr, cupmtr, icmax1, scsum1, cstemr, - - dgbbrd, dgbcon, dgbequ, dgbrfs, dgbsv, + chfrk, ctfttp, clanhf, cpftrf, cpftri, cpftrs, ctfsm, ctftri, + ctfttr, ctpttf, ctpttr, ctrttf, ctrttp, + cgeequb, cgbequb, csyequb, cpoequb, cheequb, + cbbcsd, clapmr, cunbdb, cuncsd, + cgeqrt, cgeqrt2, cgeqrt3, cgemqrt, + ctpqrt, ctpqrt2, ctpmqrt, ctprfb, + + dgbbrd, dgbcon, dgbequ, dgbrfs, dgbsv, dgbsvx, dgbtf2, dgbtrf, dgbtrs, dgebak, dgebal, dgebd2, dgebrd, dgecon, dgeequ, dgees, dgeesx, dgeev, dgeevx, dgegs, dgegv, dgehd2, dgehrd, dgelq2, dgelqf, dgels, dgelsd, dgelss, dgelsx, dgelsy, dgeql2, dgeqlf, - dgeqp3, dgeqpf, dgeqr2, dgeqrf, dgerfs, dgerq2, dgerqf, + dgeqp3, dgeqpf, dgeqr2, dgeqr2p, dgeqrf, dgeqrfp, dgerfs, dgerq2, dgerqf, dgesc2, dgesdd, dgesvd, dgesvx, dgetc2, dgetri, dggbak, dggbal, dgges, dggesx, dggev, dggevx, @@ -209,8 +227,8 @@ dlapll, dlapmt, dlaqgb, dlaqge, dlaqp2, dlaqps, dlaqsb, dlaqsp, dlaqsy, dlaqr0, dlaqr1, dlaqr2, dlaqr3, dlaqr4, dlaqr5, - dlaqtr, dlar1v, dlar2v, - dlarf, dlarfb, dlarfg, dlarft, dlarfx, dlargv, + dlaqtr, dlar1v, dlar2v, iladlr, iladlc, + dlarf, dlarfb, dlarfg, dlarfgp, dlarft, dlarfx, dlargv, dlarrv, dlartv, dlarz, dlarzb, dlarzt, dlasy2, dlasyf, dlatbs, dlatdf, dlatps, dlatrd, dlatrs, dlatrz, dlatzm, @@ -221,7 +239,8 @@ dormr3, dormrq, dormrz, dormtr, dpbcon, dpbequ, dpbrfs, dpbstf, dpbsv, dpbsvx, dpbtf2, dpbtrf, dpbtrs, dpocon, dpoequ, dporfs, dposv, - dposvx, dpotrs, dppcon, dppequ, + dposvx, dpotrs, dpstrf, dpstf2, + dppcon, dppequ, dpprfs, dppsv, dppsvx, dpptrf, dpptri, dpptrs, dptcon, dpteqr, dptrfs, dptsv, dptsvx, dpttrs, dptts2, drscl, dsbev, dsbevd, dsbevx, dsbgst, dsbgv, dsbgvd, dsbgvx, @@ -231,20 +250,28 @@ dstevx, dsycon, dsyev, dsyevd, dsyevr, dsyevx, dsygs2, dsygst, dsygv, dsygvd, dsygvx, dsyrfs, dsysv, dsysvx, - dsytd2, dsytf2, dsytrd, dsytrf, dsytri, dsytrs, dtbcon, + dsytd2, dsytf2, dsytrd, dsytrf, dsytri, dsytrs, dsytrs2, + dsytri2, dsytri2x, dsyswapr, dsyconv, dtbcon, dtbrfs, dtbtrs, dtgevc, dtgex2, dtgexc, dtgsen, dtgsja, dtgsna, dtgsy2, dtgsyl, dtpcon, dtprfs, dtptri, dtptrs, dtrcon, dtrevc, dtrexc, dtrrfs, dtrsen, dtrsna, dtrsyl, dtrtrs, dtzrqf, dtzrzf, dstemr, - dsgesv, dlag2s, slag2d, - + dsgesv, dsposv, dlag2s, slag2d, dlat2s, + dlansf, dpftrf, dpftri, dpftrs, dsfrk, dtfsm, dtftri, dtfttp, + dtfttr, dtpttf, dtpttr, dtrttf, dtrttp, + dgejsv, dgesvj, dgsvj0, dgsvj1, + dgeequb, dsyequb, dpoequb, dgbequb, + dbbcsd, dlapmr, dorbdb, dorcsd, + dgeqrt, dgeqrt2, dgeqrt3, dgemqrt, + dtpqrt, dtpqrt2, dtpmqrt, dtprfb, + zbdsqr, zgbbrd, zgbcon, zgbequ, zgbrfs, zgbsv, zgbsvx, zgbtf2, zgbtrf, zgbtrs, zgebak, zgebal, zgebd2, zgebrd, zgecon, zgeequ, zgees, zgeesx, zgeev, zgeevx, zgegs, zgegv, zgehd2, zgehrd, zgelq2, zgelqf, zgels, zgelsd, zgelss, zgelsx, zgelsy, zgeql2, zgeqlf, zgeqp3, - zgeqpf, zgeqr2, zgeqrf, zgerfs, zgerq2, zgerqf, + zgeqpf, zgeqr2, zgeqr2p, zgeqrf, zgeqrfp, zgerfs, zgerq2, zgerqf, zgesc2, zgesdd, zgesvd, zgesvx, zgetc2, zgetri, zggbak, zggbal, zgges, zggesx, zggev, zggevx, zggglm, @@ -255,7 +282,8 @@ zhecon, zheev, zheevd, zheevr, zheevx, zhegs2, zhegst, zhegv, zhegvd, zhegvx, zherfs, zhesv, zhesvx, zhetd2, zhetf2, zhetrd, - zhetrf, zhetri, zhetrs, zhgeqz, zhpcon, zhpev, zhpevd, + zhetrf, zhetri, zhetri2, zhetri2x, zheswapr, + zhetrs, zhetrs2, zhgeqz, zhpcon, zhpev, zhpevd, zhpevx, zhpgst, zhpgv, zhpgvd, zhpgvx, zhprfs, zhpsv, zhpsvx, zhptrd, zhptrf, zhptri, zhptrs, zhsein, zhseqr, zlabrd, @@ -270,22 +298,24 @@ zlantp, zlantr, zlapll, zlapmt, zlaqgb, zlaqge, zlaqhb, zlaqhe, zlaqhp, zlaqp2, zlaqps, zlaqsb, zlaqr0, zlaqr1, zlaqr2, zlaqr3, zlaqr4, zlaqr5, - zlaqsp, zlaqsy, zlar1v, zlar2v, zlarcm, zlarf, zlarfb, - zlarfg, zlarft, + zlaqsp, zlaqsy, zlar1v, zlar2v, ilazlr, ilazlc, + zlarcm, zlarf, zlarfb, + zlarfg, zlarfgp, zlarft, zlarfx, zlargv, zlarnv, zlarrv, zlartg, zlartv, zlarz, zlarzb, zlarzt, zlascl, zlaset, zlasr, zlassq, zlasyf, zlatbs, zlatdf, zlatps, zlatrd, zlatrs, zlatrz, zlatzm, zpbcon, zpbequ, zpbrfs, zpbstf, zpbsv, zpbsvx, zpbtf2, zpbtrf, zpbtrs, zpocon, zpoequ, zporfs, - zposv, zposvx, zpotrs, zppcon, - zppequ, zpprfs, zppsv, zppsvx, zpptrf, zpptri, zpptrs, + zposv, zposvx, zpotrs, zpstrf, zpstf2, + zppcon, zppequ, zpprfs, zppsv, zppsvx, zpptrf, zpptri, zpptrs, zptcon, zpteqr, zptrfs, zptsv, zptsvx, zpttrf, zpttrs, zptts2, zrot, zspcon, zspmv, zspr, zsprfs, zspsv, zspsvx, zsptrf, zsptri, zsptrs, zdrscl, zstedc, - zstegr, zstein, zsteqr, zsycon, + zstegr, zstein, zsteqr, zsycon, zsyr, zsyrfs, zsysv, zsysvx, zsytf2, zsytrf, zsytri, - zsytrs, ztbcon, ztbrfs, ztbtrs, ztgevc, ztgex2, + zsytri2, zsytri2x, zsyswapr, + zsytrs, zsytrs2, zsyconv, ztbcon, ztbrfs, ztbtrs, ztgevc, ztgex2, ztgexc, ztgsen, ztgsja, ztgsna, ztgsy2, ztgsyl, ztpcon, ztprfs, ztptri, ztptrs, ztrcon, ztrevc, ztrexc, ztrrfs, ztrsen, ztrsna, @@ -295,27 +325,2161 @@ zunmlq, zunmql, zunmqr, zunmr2, zunmr3, zunmrq, zunmrz, zunmtr, zupgtr, zupmtr, izmax1, dzsum1, zstemr, - zcgesv, zlag2c, clag2z, + zcgesv, zcposv, zlag2c, clag2z, zlat2c, + zhfrk, ztfttp, zlanhf, zpftrf, zpftri, zpftrs, ztfsm, ztftri, + ztfttr, ztpttf, ztpttr, ztrttf, ztrttp, + zgeequb, zgbequb, zsyequb, zpoequb, zheequb, + zbbcsd, zlapmr, zunbdb, zuncsd, + zgeqrt, zgeqrt2, zgeqrt3, zgemqrt, + ztpqrt, ztpqrt2, ztpmqrt, ztprfb, + + ); + +@lapack_extendedprecision_objs = ( + zposvxx, clagge, clatms, chesvxx, cposvxx, cgesvxx, ssyrfssx, csyrfsx, + dlagsy, dsysvxx, sporfsx, slatms, zlatms, zherfsx, csysvxx, + ); + +@lapackeobjs = ( + lapack_make_complex_double, + lapack_make_complex_float, + LAPACKE_c_nancheck, + LAPACKE_cbbcsd, + LAPACKE_cbbcsd_work, + LAPACKE_cbdsqr, + LAPACKE_cbdsqr_work, + LAPACKE_cgb_nancheck, + LAPACKE_cgb_trans, + LAPACKE_cgbbrd, + LAPACKE_cgbbrd_work, + LAPACKE_cgbcon, + LAPACKE_cgbcon_work, + LAPACKE_cgbequ, + LAPACKE_cgbequ_work, + LAPACKE_cgbequb, + LAPACKE_cgbequb_work, + LAPACKE_cgbrfs, + LAPACKE_cgbrfs_work, + LAPACKE_cgbsv, + LAPACKE_cgbsv_work, + LAPACKE_cgbsvx, + LAPACKE_cgbsvx_work, + LAPACKE_cgbtrf, + LAPACKE_cgbtrf_work, + LAPACKE_cgbtrs, + LAPACKE_cgbtrs_work, + LAPACKE_cge_nancheck, + LAPACKE_cge_trans, + LAPACKE_cgebak, + LAPACKE_cgebak_work, + LAPACKE_cgebal, + LAPACKE_cgebal_work, + LAPACKE_cgebrd, + LAPACKE_cgebrd_work, + LAPACKE_cgecon, + LAPACKE_cgecon_work, + LAPACKE_cgeequ, + LAPACKE_cgeequ_work, + LAPACKE_cgeequb, + LAPACKE_cgeequb_work, + LAPACKE_cgees, + LAPACKE_cgees_work, + LAPACKE_cgeesx, + LAPACKE_cgeesx_work, + LAPACKE_cgeev, + LAPACKE_cgeev_work, + LAPACKE_cgeevx, + LAPACKE_cgeevx_work, + LAPACKE_cgehrd, + LAPACKE_cgehrd_work, + LAPACKE_cgelq2, + LAPACKE_cgelq2_work, + LAPACKE_cgelqf, + LAPACKE_cgelqf_work, + LAPACKE_cgels, + LAPACKE_cgels_work, + LAPACKE_cgelsd, + LAPACKE_cgelsd_work, + LAPACKE_cgelss, + LAPACKE_cgelss_work, + LAPACKE_cgelsy, + LAPACKE_cgelsy_work, + LAPACKE_cgemqrt, + LAPACKE_cgemqrt_work, + LAPACKE_cgeqlf, + LAPACKE_cgeqlf_work, + LAPACKE_cgeqp3, + LAPACKE_cgeqp3_work, + LAPACKE_cgeqpf, + LAPACKE_cgeqpf_work, + LAPACKE_cgeqr2, + LAPACKE_cgeqr2_work, + LAPACKE_cgeqrf, + LAPACKE_cgeqrf_work, + LAPACKE_cgeqrfp, + LAPACKE_cgeqrfp_work, + LAPACKE_cgeqrt, + LAPACKE_cgeqrt2, + LAPACKE_cgeqrt2_work, + LAPACKE_cgeqrt3, + LAPACKE_cgeqrt3_work, + LAPACKE_cgeqrt_work, + LAPACKE_cgerfs, + LAPACKE_cgerfs_work, + LAPACKE_cgerqf, + LAPACKE_cgerqf_work, + LAPACKE_cgesdd, + LAPACKE_cgesdd_work, + LAPACKE_cgesv, + LAPACKE_cgesv_work, + LAPACKE_cgesvd, + LAPACKE_cgesvd_work, + LAPACKE_cgesvx, + LAPACKE_cgesvx_work, + LAPACKE_cgetf2, + LAPACKE_cgetf2_work, + LAPACKE_cgetrf, + LAPACKE_cgetrf_work, + LAPACKE_cgetri, + LAPACKE_cgetri_work, + LAPACKE_cgetrs, + LAPACKE_cgetrs_work, + LAPACKE_cgg_nancheck, + LAPACKE_cgg_trans, + LAPACKE_cggbak, + LAPACKE_cggbak_work, + LAPACKE_cggbal, + LAPACKE_cggbal_work, + LAPACKE_cgges, + LAPACKE_cgges_work, + LAPACKE_cggesx, + LAPACKE_cggesx_work, + LAPACKE_cggev, + LAPACKE_cggev_work, + LAPACKE_cggevx, + LAPACKE_cggevx_work, + LAPACKE_cggglm, + LAPACKE_cggglm_work, + LAPACKE_cgghrd, + LAPACKE_cgghrd_work, + LAPACKE_cgglse, + LAPACKE_cgglse_work, + LAPACKE_cggqrf, + LAPACKE_cggqrf_work, + LAPACKE_cggrqf, + LAPACKE_cggrqf_work, + LAPACKE_cggsvd, + LAPACKE_cggsvd_work, + LAPACKE_cggsvp, + LAPACKE_cggsvp_work, + LAPACKE_cgt_nancheck, + LAPACKE_cgtcon, + LAPACKE_cgtcon_work, + LAPACKE_cgtrfs, + LAPACKE_cgtrfs_work, + LAPACKE_cgtsv, + LAPACKE_cgtsv_work, + LAPACKE_cgtsvx, + LAPACKE_cgtsvx_work, + LAPACKE_cgttrf, + LAPACKE_cgttrf_work, + LAPACKE_cgttrs, + LAPACKE_cgttrs_work, + LAPACKE_chb_nancheck, + LAPACKE_chb_trans, + LAPACKE_chbev, + LAPACKE_chbev_work, + LAPACKE_chbevd, + LAPACKE_chbevd_work, + LAPACKE_chbevx, + LAPACKE_chbevx_work, + LAPACKE_chbgst, + LAPACKE_chbgst_work, + LAPACKE_chbgv, + LAPACKE_chbgv_work, + LAPACKE_chbgvd, + LAPACKE_chbgvd_work, + LAPACKE_chbgvx, + LAPACKE_chbgvx_work, + LAPACKE_chbtrd, + LAPACKE_chbtrd_work, + LAPACKE_che_nancheck, + LAPACKE_che_trans, + LAPACKE_checon, + LAPACKE_checon_work, + LAPACKE_cheequb, + LAPACKE_cheequb_work, + LAPACKE_cheev, + LAPACKE_cheev_work, + LAPACKE_cheevd, + LAPACKE_cheevd_work, + LAPACKE_cheevr, + LAPACKE_cheevr_work, + LAPACKE_cheevx, + LAPACKE_cheevx_work, + LAPACKE_chegst, + LAPACKE_chegst_work, + LAPACKE_chegv, + LAPACKE_chegv_work, + LAPACKE_chegvd, + LAPACKE_chegvd_work, + LAPACKE_chegvx, + LAPACKE_chegvx_work, + LAPACKE_cherfs, + LAPACKE_cherfs_work, + LAPACKE_chesv, + LAPACKE_chesv_work, + LAPACKE_chesvx, + LAPACKE_chesvx_work, + LAPACKE_cheswapr, + LAPACKE_cheswapr_work, + LAPACKE_chetrd, + LAPACKE_chetrd_work, + LAPACKE_chetrf, + LAPACKE_chetrf_work, + LAPACKE_chetri, + LAPACKE_chetri2, + LAPACKE_chetri2_work, + LAPACKE_chetri2x, + LAPACKE_chetri2x_work, + LAPACKE_chetri_work, + LAPACKE_chetrs, + LAPACKE_chetrs2, + LAPACKE_chetrs2_work, + LAPACKE_chetrs_work, + LAPACKE_chfrk, + LAPACKE_chfrk_work, + LAPACKE_chgeqz, + LAPACKE_chgeqz_work, + LAPACKE_chp_nancheck, + LAPACKE_chp_trans, + LAPACKE_chpcon, + LAPACKE_chpcon_work, + LAPACKE_chpev, + LAPACKE_chpev_work, + LAPACKE_chpevd, + LAPACKE_chpevd_work, + LAPACKE_chpevx, + LAPACKE_chpevx_work, + LAPACKE_chpgst, + LAPACKE_chpgst_work, + LAPACKE_chpgv, + LAPACKE_chpgv_work, + LAPACKE_chpgvd, + LAPACKE_chpgvd_work, + LAPACKE_chpgvx, + LAPACKE_chpgvx_work, + LAPACKE_chprfs, + LAPACKE_chprfs_work, + LAPACKE_chpsv, + LAPACKE_chpsv_work, + LAPACKE_chpsvx, + LAPACKE_chpsvx_work, + LAPACKE_chptrd, + LAPACKE_chptrd_work, + LAPACKE_chptrf, + LAPACKE_chptrf_work, + LAPACKE_chptri, + LAPACKE_chptri_work, + LAPACKE_chptrs, + LAPACKE_chptrs_work, + LAPACKE_chs_nancheck, + LAPACKE_chs_trans, + LAPACKE_chsein, + LAPACKE_chsein_work, + LAPACKE_chseqr, + LAPACKE_chseqr_work, + LAPACKE_clacgv, + LAPACKE_clacgv_work, + LAPACKE_clacpy, + LAPACKE_clacpy_work, + LAPACKE_clag2z, + LAPACKE_clag2z_work, + LAPACKE_clange, + LAPACKE_clange_work, + LAPACKE_clanhe, + LAPACKE_clanhe_work, + LAPACKE_clansy, + LAPACKE_clansy_work, + LAPACKE_clantr, + LAPACKE_clantr_work, + LAPACKE_clapmr, + LAPACKE_clapmr_work, + LAPACKE_clarfb, + LAPACKE_clarfb_work, + LAPACKE_clarfg, + LAPACKE_clarfg_work, + LAPACKE_clarft, + LAPACKE_clarft_work, + LAPACKE_clarfx, + LAPACKE_clarfx_work, + LAPACKE_clarnv, + LAPACKE_clarnv_work, + LAPACKE_claset, + LAPACKE_claset_work, + LAPACKE_claswp, + LAPACKE_claswp_work, + LAPACKE_clauum, + LAPACKE_clauum_work, + LAPACKE_cpb_nancheck, + LAPACKE_cpb_trans, + LAPACKE_cpbcon, + LAPACKE_cpbcon_work, + LAPACKE_cpbequ, + LAPACKE_cpbequ_work, + LAPACKE_cpbrfs, + LAPACKE_cpbrfs_work, + LAPACKE_cpbstf, + LAPACKE_cpbstf_work, + LAPACKE_cpbsv, + LAPACKE_cpbsv_work, + LAPACKE_cpbsvx, + LAPACKE_cpbsvx_work, + LAPACKE_cpbtrf, + LAPACKE_cpbtrf_work, + LAPACKE_cpbtrs, + LAPACKE_cpbtrs_work, + LAPACKE_cpf_nancheck, + LAPACKE_cpf_trans, + LAPACKE_cpftrf, + LAPACKE_cpftrf_work, + LAPACKE_cpftri, + LAPACKE_cpftri_work, + LAPACKE_cpftrs, + LAPACKE_cpftrs_work, + LAPACKE_cpo_nancheck, + LAPACKE_cpo_trans, + LAPACKE_cpocon, + LAPACKE_cpocon_work, + LAPACKE_cpoequ, + LAPACKE_cpoequ_work, + LAPACKE_cpoequb, + LAPACKE_cpoequb_work, + LAPACKE_cporfs, + LAPACKE_cporfs_work, + LAPACKE_cposv, + LAPACKE_cposv_work, + LAPACKE_cposvx, + LAPACKE_cposvx_work, + LAPACKE_cpotrf, + LAPACKE_cpotrf_work, + LAPACKE_cpotri, + LAPACKE_cpotri_work, + LAPACKE_cpotrs, + LAPACKE_cpotrs_work, + LAPACKE_cpp_nancheck, + LAPACKE_cpp_trans, + LAPACKE_cppcon, + LAPACKE_cppcon_work, + LAPACKE_cppequ, + LAPACKE_cppequ_work, + LAPACKE_cpprfs, + LAPACKE_cpprfs_work, + LAPACKE_cppsv, + LAPACKE_cppsv_work, + LAPACKE_cppsvx, + LAPACKE_cppsvx_work, + LAPACKE_cpptrf, + LAPACKE_cpptrf_work, + LAPACKE_cpptri, + LAPACKE_cpptri_work, + LAPACKE_cpptrs, + LAPACKE_cpptrs_work, + LAPACKE_cpstrf, + LAPACKE_cpstrf_work, + LAPACKE_cpt_nancheck, + LAPACKE_cptcon, + LAPACKE_cptcon_work, + LAPACKE_cpteqr, + LAPACKE_cpteqr_work, + LAPACKE_cptrfs, + LAPACKE_cptrfs_work, + LAPACKE_cptsv, + LAPACKE_cptsv_work, + LAPACKE_cptsvx, + LAPACKE_cptsvx_work, + LAPACKE_cpttrf, + LAPACKE_cpttrf_work, + LAPACKE_cpttrs, + LAPACKE_cpttrs_work, + LAPACKE_csp_nancheck, + LAPACKE_csp_trans, + LAPACKE_cspcon, + LAPACKE_cspcon_work, + LAPACKE_csprfs, + LAPACKE_csprfs_work, + LAPACKE_cspsv, + LAPACKE_cspsv_work, + LAPACKE_cspsvx, + LAPACKE_cspsvx_work, + LAPACKE_csptrf, + LAPACKE_csptrf_work, + LAPACKE_csptri, + LAPACKE_csptri_work, + LAPACKE_csptrs, + LAPACKE_csptrs_work, + LAPACKE_cst_nancheck, + LAPACKE_cstedc, + LAPACKE_cstedc_work, + LAPACKE_cstegr, + LAPACKE_cstegr_work, + LAPACKE_cstein, + LAPACKE_cstein_work, + LAPACKE_cstemr, + LAPACKE_cstemr_work, + LAPACKE_csteqr, + LAPACKE_csteqr_work, + LAPACKE_csy_nancheck, + LAPACKE_csy_trans, + LAPACKE_csycon, + LAPACKE_csycon_work, + LAPACKE_csyconv, + LAPACKE_csyconv_work, + LAPACKE_csyequb, + LAPACKE_csyequb_work, + LAPACKE_csyr, + LAPACKE_csyr_work, + LAPACKE_csyrfs, + LAPACKE_csyrfs_work, + LAPACKE_csysv, + LAPACKE_csysv_work, + LAPACKE_csysvx, + LAPACKE_csysvx_work, + LAPACKE_csyswapr, + LAPACKE_csyswapr_work, + LAPACKE_csytrf, + LAPACKE_csytrf_work, + LAPACKE_csytri, + LAPACKE_csytri2, + LAPACKE_csytri2_work, + LAPACKE_csytri2x, + LAPACKE_csytri2x_work, + LAPACKE_csytri_work, + LAPACKE_csytrs, + LAPACKE_csytrs2, + LAPACKE_csytrs2_work, + LAPACKE_csytrs_work, + LAPACKE_ctb_nancheck, + LAPACKE_ctb_trans, + LAPACKE_ctbcon, + LAPACKE_ctbcon_work, + LAPACKE_ctbrfs, + LAPACKE_ctbrfs_work, + LAPACKE_ctbtrs, + LAPACKE_ctbtrs_work, + LAPACKE_ctf_nancheck, + LAPACKE_ctf_trans, + LAPACKE_ctfsm, + LAPACKE_ctfsm_work, + LAPACKE_ctftri, + LAPACKE_ctftri_work, + LAPACKE_ctfttp, + LAPACKE_ctfttp_work, + LAPACKE_ctfttr, + LAPACKE_ctfttr_work, + LAPACKE_ctgevc, + LAPACKE_ctgevc_work, + LAPACKE_ctgexc, + LAPACKE_ctgexc_work, + LAPACKE_ctgsen, + LAPACKE_ctgsen_work, + LAPACKE_ctgsja, + LAPACKE_ctgsja_work, + LAPACKE_ctgsna, + LAPACKE_ctgsna_work, + LAPACKE_ctgsyl, + LAPACKE_ctgsyl_work, + LAPACKE_ctp_nancheck, + LAPACKE_ctp_trans, + LAPACKE_ctpcon, + LAPACKE_ctpcon_work, + LAPACKE_ctpmqrt, + LAPACKE_ctpmqrt_work, + LAPACKE_ctpqrt, + LAPACKE_ctpqrt2, + LAPACKE_ctpqrt2_work, + LAPACKE_ctpqrt_work, + LAPACKE_ctprfb, + LAPACKE_ctprfb_work, + LAPACKE_ctprfs, + LAPACKE_ctprfs_work, + LAPACKE_ctptri, + LAPACKE_ctptri_work, + LAPACKE_ctptrs, + LAPACKE_ctptrs_work, + LAPACKE_ctpttf, + LAPACKE_ctpttf_work, + LAPACKE_ctpttr, + LAPACKE_ctpttr_work, + LAPACKE_ctr_nancheck, + LAPACKE_ctr_trans, + LAPACKE_ctrcon, + LAPACKE_ctrcon_work, + LAPACKE_ctrevc, + LAPACKE_ctrevc_work, + LAPACKE_ctrexc, + LAPACKE_ctrexc_work, + LAPACKE_ctrrfs, + LAPACKE_ctrrfs_work, + LAPACKE_ctrsen, + LAPACKE_ctrsen_work, + LAPACKE_ctrsna, + LAPACKE_ctrsna_work, + LAPACKE_ctrsyl, + LAPACKE_ctrsyl_work, + LAPACKE_ctrtri, + LAPACKE_ctrtri_work, + LAPACKE_ctrtrs, + LAPACKE_ctrtrs_work, + LAPACKE_ctrttf, + LAPACKE_ctrttf_work, + LAPACKE_ctrttp, + LAPACKE_ctrttp_work, + LAPACKE_ctzrzf, + LAPACKE_ctzrzf_work, + LAPACKE_cunbdb, + LAPACKE_cunbdb_work, + LAPACKE_cuncsd, + LAPACKE_cuncsd_work, + LAPACKE_cungbr, + LAPACKE_cungbr_work, + LAPACKE_cunghr, + LAPACKE_cunghr_work, + LAPACKE_cunglq, + LAPACKE_cunglq_work, + LAPACKE_cungql, + LAPACKE_cungql_work, + LAPACKE_cungqr, + LAPACKE_cungqr_work, + LAPACKE_cungrq, + LAPACKE_cungrq_work, + LAPACKE_cungtr, + LAPACKE_cungtr_work, + LAPACKE_cunmbr, + LAPACKE_cunmbr_work, + LAPACKE_cunmhr, + LAPACKE_cunmhr_work, + LAPACKE_cunmlq, + LAPACKE_cunmlq_work, + LAPACKE_cunmql, + LAPACKE_cunmql_work, + LAPACKE_cunmqr, + LAPACKE_cunmqr_work, + LAPACKE_cunmrq, + LAPACKE_cunmrq_work, + LAPACKE_cunmrz, + LAPACKE_cunmrz_work, + LAPACKE_cunmtr, + LAPACKE_cunmtr_work, + LAPACKE_cupgtr, + LAPACKE_cupgtr_work, + LAPACKE_cupmtr, + LAPACKE_cupmtr_work, + LAPACKE_d_nancheck, + LAPACKE_dbbcsd, + LAPACKE_dbbcsd_work, + LAPACKE_dbdsdc, + LAPACKE_dbdsdc_work, + LAPACKE_dbdsqr, + LAPACKE_dbdsqr_work, + LAPACKE_ddisna, + LAPACKE_ddisna_work, + LAPACKE_dgb_nancheck, + LAPACKE_dgb_trans, + LAPACKE_dgbbrd, + LAPACKE_dgbbrd_work, + LAPACKE_dgbcon, + LAPACKE_dgbcon_work, + LAPACKE_dgbequ, + LAPACKE_dgbequ_work, + LAPACKE_dgbequb, + LAPACKE_dgbequb_work, + LAPACKE_dgbrfs, + LAPACKE_dgbrfs_work, + LAPACKE_dgbsv, + LAPACKE_dgbsv_work, + LAPACKE_dgbsvx, + LAPACKE_dgbsvx_work, + LAPACKE_dgbtrf, + LAPACKE_dgbtrf_work, + LAPACKE_dgbtrs, + LAPACKE_dgbtrs_work, + LAPACKE_dge_nancheck, + LAPACKE_dge_trans, + LAPACKE_dgebak, + LAPACKE_dgebak_work, + LAPACKE_dgebal, + LAPACKE_dgebal_work, + LAPACKE_dgebrd, + LAPACKE_dgebrd_work, + LAPACKE_dgecon, + LAPACKE_dgecon_work, + LAPACKE_dgeequ, + LAPACKE_dgeequ_work, + LAPACKE_dgeequb, + LAPACKE_dgeequb_work, + LAPACKE_dgees, + LAPACKE_dgees_work, + LAPACKE_dgeesx, + LAPACKE_dgeesx_work, + LAPACKE_dgeev, + LAPACKE_dgeev_work, + LAPACKE_dgeevx, + LAPACKE_dgeevx_work, + LAPACKE_dgehrd, + LAPACKE_dgehrd_work, + LAPACKE_dgejsv, + LAPACKE_dgejsv_work, + LAPACKE_dgelq2, + LAPACKE_dgelq2_work, + LAPACKE_dgelqf, + LAPACKE_dgelqf_work, + LAPACKE_dgels, + LAPACKE_dgels_work, + LAPACKE_dgelsd, + LAPACKE_dgelsd_work, + LAPACKE_dgelss, + LAPACKE_dgelss_work, + LAPACKE_dgelsy, + LAPACKE_dgelsy_work, + LAPACKE_dgemqrt, + LAPACKE_dgemqrt_work, + LAPACKE_dgeqlf, + LAPACKE_dgeqlf_work, + LAPACKE_dgeqp3, + LAPACKE_dgeqp3_work, + LAPACKE_dgeqpf, + LAPACKE_dgeqpf_work, + LAPACKE_dgeqr2, + LAPACKE_dgeqr2_work, + LAPACKE_dgeqrf, + LAPACKE_dgeqrf_work, + LAPACKE_dgeqrfp, + LAPACKE_dgeqrfp_work, + LAPACKE_dgeqrt, + LAPACKE_dgeqrt2, + LAPACKE_dgeqrt2_work, + LAPACKE_dgeqrt3, + LAPACKE_dgeqrt3_work, + LAPACKE_dgeqrt_work, + LAPACKE_dgerfs, + LAPACKE_dgerfs_work, + LAPACKE_dgerqf, + LAPACKE_dgerqf_work, + LAPACKE_dgesdd, + LAPACKE_dgesdd_work, + LAPACKE_dgesv, + LAPACKE_dgesv_work, + LAPACKE_dgesvd, + LAPACKE_dgesvd_work, + LAPACKE_dgesvj, + LAPACKE_dgesvj_work, + LAPACKE_dgesvx, + LAPACKE_dgesvx_work, + LAPACKE_dgetf2, + LAPACKE_dgetf2_work, + LAPACKE_dgetrf, + LAPACKE_dgetrf_work, + LAPACKE_dgetri, + LAPACKE_dgetri_work, + LAPACKE_dgetrs, + LAPACKE_dgetrs_work, + LAPACKE_dgg_nancheck, + LAPACKE_dgg_trans, + LAPACKE_dggbak, + LAPACKE_dggbak_work, + LAPACKE_dggbal, + LAPACKE_dggbal_work, + LAPACKE_dgges, + LAPACKE_dgges_work, + LAPACKE_dggesx, + LAPACKE_dggesx_work, + LAPACKE_dggev, + LAPACKE_dggev_work, + LAPACKE_dggevx, + LAPACKE_dggevx_work, + LAPACKE_dggglm, + LAPACKE_dggglm_work, + LAPACKE_dgghrd, + LAPACKE_dgghrd_work, + LAPACKE_dgglse, + LAPACKE_dgglse_work, + LAPACKE_dggqrf, + LAPACKE_dggqrf_work, + LAPACKE_dggrqf, + LAPACKE_dggrqf_work, + LAPACKE_dggsvd, + LAPACKE_dggsvd_work, + LAPACKE_dggsvp, + LAPACKE_dggsvp_work, + LAPACKE_dgt_nancheck, + LAPACKE_dgtcon, + LAPACKE_dgtcon_work, + LAPACKE_dgtrfs, + LAPACKE_dgtrfs_work, + LAPACKE_dgtsv, + LAPACKE_dgtsv_work, + LAPACKE_dgtsvx, + LAPACKE_dgtsvx_work, + LAPACKE_dgttrf, + LAPACKE_dgttrf_work, + LAPACKE_dgttrs, + LAPACKE_dgttrs_work, + LAPACKE_dhgeqz, + LAPACKE_dhgeqz_work, + LAPACKE_dhs_nancheck, + LAPACKE_dhs_trans, + LAPACKE_dhsein, + LAPACKE_dhsein_work, + LAPACKE_dhseqr, + LAPACKE_dhseqr_work, + LAPACKE_dlacpy, + LAPACKE_dlacpy_work, + LAPACKE_dlag2s, + LAPACKE_dlag2s_work, + LAPACKE_dlamch, + LAPACKE_dlamch_work, + LAPACKE_dlange, + LAPACKE_dlange_work, + LAPACKE_dlansy, + LAPACKE_dlansy_work, + LAPACKE_dlantr, + LAPACKE_dlantr_work, + LAPACKE_dlapmr, + LAPACKE_dlapmr_work, + LAPACKE_dlapy2, + LAPACKE_dlapy2_work, + LAPACKE_dlapy3, + LAPACKE_dlapy3_work, + LAPACKE_dlarfb, + LAPACKE_dlarfb_work, + LAPACKE_dlarfg, + LAPACKE_dlarfg_work, + LAPACKE_dlarft, + LAPACKE_dlarft_work, + LAPACKE_dlarfx, + LAPACKE_dlarfx_work, + LAPACKE_dlarnv, + LAPACKE_dlarnv_work, + LAPACKE_dlartgp, + LAPACKE_dlartgp_work, + LAPACKE_dlartgs, + LAPACKE_dlartgs_work, + LAPACKE_dlaset, + LAPACKE_dlaset_work, + LAPACKE_dlasrt, + LAPACKE_dlasrt_work, + LAPACKE_dlaswp, + LAPACKE_dlaswp_work, + LAPACKE_dlauum, + LAPACKE_dlauum_work, + LAPACKE_dopgtr, + LAPACKE_dopgtr_work, + LAPACKE_dopmtr, + LAPACKE_dopmtr_work, + LAPACKE_dorbdb, + LAPACKE_dorbdb_work, + LAPACKE_dorcsd, + LAPACKE_dorcsd_work, + LAPACKE_dorgbr, + LAPACKE_dorgbr_work, + LAPACKE_dorghr, + LAPACKE_dorghr_work, + LAPACKE_dorglq, + LAPACKE_dorglq_work, + LAPACKE_dorgql, + LAPACKE_dorgql_work, + LAPACKE_dorgqr, + LAPACKE_dorgqr_work, + LAPACKE_dorgrq, + LAPACKE_dorgrq_work, + LAPACKE_dorgtr, + LAPACKE_dorgtr_work, + LAPACKE_dormbr, + LAPACKE_dormbr_work, + LAPACKE_dormhr, + LAPACKE_dormhr_work, + LAPACKE_dormlq, + LAPACKE_dormlq_work, + LAPACKE_dormql, + LAPACKE_dormql_work, + LAPACKE_dormqr, + LAPACKE_dormqr_work, + LAPACKE_dormrq, + LAPACKE_dormrq_work, + LAPACKE_dormrz, + LAPACKE_dormrz_work, + LAPACKE_dormtr, + LAPACKE_dormtr_work, + LAPACKE_dpb_nancheck, + LAPACKE_dpb_trans, + LAPACKE_dpbcon, + LAPACKE_dpbcon_work, + LAPACKE_dpbequ, + LAPACKE_dpbequ_work, + LAPACKE_dpbrfs, + LAPACKE_dpbrfs_work, + LAPACKE_dpbstf, + LAPACKE_dpbstf_work, + LAPACKE_dpbsv, + LAPACKE_dpbsv_work, + LAPACKE_dpbsvx, + LAPACKE_dpbsvx_work, + LAPACKE_dpbtrf, + LAPACKE_dpbtrf_work, + LAPACKE_dpbtrs, + LAPACKE_dpbtrs_work, + LAPACKE_dpf_nancheck, + LAPACKE_dpf_trans, + LAPACKE_dpftrf, + LAPACKE_dpftrf_work, + LAPACKE_dpftri, + LAPACKE_dpftri_work, + LAPACKE_dpftrs, + LAPACKE_dpftrs_work, + LAPACKE_dpo_nancheck, + LAPACKE_dpo_trans, + LAPACKE_dpocon, + LAPACKE_dpocon_work, + LAPACKE_dpoequ, + LAPACKE_dpoequ_work, + LAPACKE_dpoequb, + LAPACKE_dpoequb_work, + LAPACKE_dporfs, + LAPACKE_dporfs_work, + LAPACKE_dposv, + LAPACKE_dposv_work, + LAPACKE_dposvx, + LAPACKE_dposvx_work, + LAPACKE_dpotrf, + LAPACKE_dpotrf_work, + LAPACKE_dpotri, + LAPACKE_dpotri_work, + LAPACKE_dpotrs, + LAPACKE_dpotrs_work, + LAPACKE_dpp_nancheck, + LAPACKE_dpp_trans, + LAPACKE_dppcon, + LAPACKE_dppcon_work, + LAPACKE_dppequ, + LAPACKE_dppequ_work, + LAPACKE_dpprfs, + LAPACKE_dpprfs_work, + LAPACKE_dppsv, + LAPACKE_dppsv_work, + LAPACKE_dppsvx, + LAPACKE_dppsvx_work, + LAPACKE_dpptrf, + LAPACKE_dpptrf_work, + LAPACKE_dpptri, + LAPACKE_dpptri_work, + LAPACKE_dpptrs, + LAPACKE_dpptrs_work, + LAPACKE_dpstrf, + LAPACKE_dpstrf_work, + LAPACKE_dpt_nancheck, + LAPACKE_dptcon, + LAPACKE_dptcon_work, + LAPACKE_dpteqr, + LAPACKE_dpteqr_work, + LAPACKE_dptrfs, + LAPACKE_dptrfs_work, + LAPACKE_dptsv, + LAPACKE_dptsv_work, + LAPACKE_dptsvx, + LAPACKE_dptsvx_work, + LAPACKE_dpttrf, + LAPACKE_dpttrf_work, + LAPACKE_dpttrs, + LAPACKE_dpttrs_work, + LAPACKE_dsb_nancheck, + LAPACKE_dsb_trans, + LAPACKE_dsbev, + LAPACKE_dsbev_work, + LAPACKE_dsbevd, + LAPACKE_dsbevd_work, + LAPACKE_dsbevx, + LAPACKE_dsbevx_work, + LAPACKE_dsbgst, + LAPACKE_dsbgst_work, + LAPACKE_dsbgv, + LAPACKE_dsbgv_work, + LAPACKE_dsbgvd, + LAPACKE_dsbgvd_work, + LAPACKE_dsbgvx, + LAPACKE_dsbgvx_work, + LAPACKE_dsbtrd, + LAPACKE_dsbtrd_work, + LAPACKE_dsfrk, + LAPACKE_dsfrk_work, + LAPACKE_dsgesv, + LAPACKE_dsgesv_work, + LAPACKE_dsp_nancheck, + LAPACKE_dsp_trans, + LAPACKE_dspcon, + LAPACKE_dspcon_work, + LAPACKE_dspev, + LAPACKE_dspev_work, + LAPACKE_dspevd, + LAPACKE_dspevd_work, + LAPACKE_dspevx, + LAPACKE_dspevx_work, + LAPACKE_dspgst, + LAPACKE_dspgst_work, + LAPACKE_dspgv, + LAPACKE_dspgv_work, + LAPACKE_dspgvd, + LAPACKE_dspgvd_work, + LAPACKE_dspgvx, + LAPACKE_dspgvx_work, + LAPACKE_dsposv, + LAPACKE_dsposv_work, + LAPACKE_dsprfs, + LAPACKE_dsprfs_work, + LAPACKE_dspsv, + LAPACKE_dspsv_work, + LAPACKE_dspsvx, + LAPACKE_dspsvx_work, + LAPACKE_dsptrd, + LAPACKE_dsptrd_work, + LAPACKE_dsptrf, + LAPACKE_dsptrf_work, + LAPACKE_dsptri, + LAPACKE_dsptri_work, + LAPACKE_dsptrs, + LAPACKE_dsptrs_work, + LAPACKE_dst_nancheck, + LAPACKE_dstebz, + LAPACKE_dstebz_work, + LAPACKE_dstedc, + LAPACKE_dstedc_work, + LAPACKE_dstegr, + LAPACKE_dstegr_work, + LAPACKE_dstein, + LAPACKE_dstein_work, + LAPACKE_dstemr, + LAPACKE_dstemr_work, + LAPACKE_dsteqr, + LAPACKE_dsteqr_work, + LAPACKE_dsterf, + LAPACKE_dsterf_work, + LAPACKE_dstev, + LAPACKE_dstev_work, + LAPACKE_dstevd, + LAPACKE_dstevd_work, + LAPACKE_dstevr, + LAPACKE_dstevr_work, + LAPACKE_dstevx, + LAPACKE_dstevx_work, + LAPACKE_dsy_nancheck, + LAPACKE_dsy_trans, + LAPACKE_dsycon, + LAPACKE_dsycon_work, + LAPACKE_dsyconv, + LAPACKE_dsyconv_work, + LAPACKE_dsyequb, + LAPACKE_dsyequb_work, + LAPACKE_dsyev, + LAPACKE_dsyev_work, + LAPACKE_dsyevd, + LAPACKE_dsyevd_work, + LAPACKE_dsyevr, + LAPACKE_dsyevr_work, + LAPACKE_dsyevx, + LAPACKE_dsyevx_work, + LAPACKE_dsygst, + LAPACKE_dsygst_work, + LAPACKE_dsygv, + LAPACKE_dsygv_work, + LAPACKE_dsygvd, + LAPACKE_dsygvd_work, + LAPACKE_dsygvx, + LAPACKE_dsygvx_work, + LAPACKE_dsyrfs, + LAPACKE_dsyrfs_work, + LAPACKE_dsysv, + LAPACKE_dsysv_work, + LAPACKE_dsysvx, + LAPACKE_dsysvx_work, + LAPACKE_dsyswapr, + LAPACKE_dsyswapr_work, + LAPACKE_dsytrd, + LAPACKE_dsytrd_work, + LAPACKE_dsytrf, + LAPACKE_dsytrf_work, + LAPACKE_dsytri, + LAPACKE_dsytri2, + LAPACKE_dsytri2_work, + LAPACKE_dsytri2x, + LAPACKE_dsytri2x_work, + LAPACKE_dsytri_work, + LAPACKE_dsytrs, + LAPACKE_dsytrs2, + LAPACKE_dsytrs2_work, + LAPACKE_dsytrs_work, + LAPACKE_dtb_nancheck, + LAPACKE_dtb_trans, + LAPACKE_dtbcon, + LAPACKE_dtbcon_work, + LAPACKE_dtbrfs, + LAPACKE_dtbrfs_work, + LAPACKE_dtbtrs, + LAPACKE_dtbtrs_work, + LAPACKE_dtf_nancheck, + LAPACKE_dtf_trans, + LAPACKE_dtfsm, + LAPACKE_dtfsm_work, + LAPACKE_dtftri, + LAPACKE_dtftri_work, + LAPACKE_dtfttp, + LAPACKE_dtfttp_work, + LAPACKE_dtfttr, + LAPACKE_dtfttr_work, + LAPACKE_dtgevc, + LAPACKE_dtgevc_work, + LAPACKE_dtgexc, + LAPACKE_dtgexc_work, + LAPACKE_dtgsen, + LAPACKE_dtgsen_work, + LAPACKE_dtgsja, + LAPACKE_dtgsja_work, + LAPACKE_dtgsna, + LAPACKE_dtgsna_work, + LAPACKE_dtgsyl, + LAPACKE_dtgsyl_work, + LAPACKE_dtp_nancheck, + LAPACKE_dtp_trans, + LAPACKE_dtpcon, + LAPACKE_dtpcon_work, + LAPACKE_dtpmqrt, + LAPACKE_dtpmqrt_work, + LAPACKE_dtpqrt, + LAPACKE_dtpqrt2, + LAPACKE_dtpqrt2_work, + LAPACKE_dtpqrt_work, + LAPACKE_dtprfb, + LAPACKE_dtprfb_work, + LAPACKE_dtprfs, + LAPACKE_dtprfs_work, + LAPACKE_dtptri, + LAPACKE_dtptri_work, + LAPACKE_dtptrs, + LAPACKE_dtptrs_work, + LAPACKE_dtpttf, + LAPACKE_dtpttf_work, + LAPACKE_dtpttr, + LAPACKE_dtpttr_work, + LAPACKE_dtr_nancheck, + LAPACKE_dtr_trans, + LAPACKE_dtrcon, + LAPACKE_dtrcon_work, + LAPACKE_dtrevc, + LAPACKE_dtrevc_work, + LAPACKE_dtrexc, + LAPACKE_dtrexc_work, + LAPACKE_dtrrfs, + LAPACKE_dtrrfs_work, + LAPACKE_dtrsen, + LAPACKE_dtrsen_work, + LAPACKE_dtrsna, + LAPACKE_dtrsna_work, + LAPACKE_dtrsyl, + LAPACKE_dtrsyl_work, + LAPACKE_dtrtri, + LAPACKE_dtrtri_work, + LAPACKE_dtrtrs, + LAPACKE_dtrtrs_work, + LAPACKE_dtrttf, + LAPACKE_dtrttf_work, + LAPACKE_dtrttp, + LAPACKE_dtrttp_work, + LAPACKE_dtzrzf, + LAPACKE_dtzrzf_work, + LAPACKE_lsame, + LAPACKE_s_nancheck, + LAPACKE_sbbcsd, + LAPACKE_sbbcsd_work, + LAPACKE_sbdsdc, + LAPACKE_sbdsdc_work, + LAPACKE_sbdsqr, + LAPACKE_sbdsqr_work, + LAPACKE_sdisna, + LAPACKE_sdisna_work, + LAPACKE_sgb_nancheck, + LAPACKE_sgb_trans, + LAPACKE_sgbbrd, + LAPACKE_sgbbrd_work, + LAPACKE_sgbcon, + LAPACKE_sgbcon_work, + LAPACKE_sgbequ, + LAPACKE_sgbequ_work, + LAPACKE_sgbequb, + LAPACKE_sgbequb_work, + LAPACKE_sgbrfs, + LAPACKE_sgbrfs_work, + LAPACKE_sgbsv, + LAPACKE_sgbsv_work, + LAPACKE_sgbsvx, + LAPACKE_sgbsvx_work, + LAPACKE_sgbtrf, + LAPACKE_sgbtrf_work, + LAPACKE_sgbtrs, + LAPACKE_sgbtrs_work, + LAPACKE_sge_nancheck, + LAPACKE_sge_trans, + LAPACKE_sgebak, + LAPACKE_sgebak_work, + LAPACKE_sgebal, + LAPACKE_sgebal_work, + LAPACKE_sgebrd, + LAPACKE_sgebrd_work, + LAPACKE_sgecon, + LAPACKE_sgecon_work, + LAPACKE_sgeequ, + LAPACKE_sgeequ_work, + LAPACKE_sgeequb, + LAPACKE_sgeequb_work, + LAPACKE_sgees, + LAPACKE_sgees_work, + LAPACKE_sgeesx, + LAPACKE_sgeesx_work, + LAPACKE_sgeev, + LAPACKE_sgeev_work, + LAPACKE_sgeevx, + LAPACKE_sgeevx_work, + LAPACKE_sgehrd, + LAPACKE_sgehrd_work, + LAPACKE_sgejsv, + LAPACKE_sgejsv_work, + LAPACKE_sgelq2, + LAPACKE_sgelq2_work, + LAPACKE_sgelqf, + LAPACKE_sgelqf_work, + LAPACKE_sgels, + LAPACKE_sgels_work, + LAPACKE_sgelsd, + LAPACKE_sgelsd_work, + LAPACKE_sgelss, + LAPACKE_sgelss_work, + LAPACKE_sgelsy, + LAPACKE_sgelsy_work, + LAPACKE_sgemqrt, + LAPACKE_sgemqrt_work, + LAPACKE_sgeqlf, + LAPACKE_sgeqlf_work, + LAPACKE_sgeqp3, + LAPACKE_sgeqp3_work, + LAPACKE_sgeqpf, + LAPACKE_sgeqpf_work, + LAPACKE_sgeqr2, + LAPACKE_sgeqr2_work, + LAPACKE_sgeqrf, + LAPACKE_sgeqrf_work, + LAPACKE_sgeqrfp, + LAPACKE_sgeqrfp_work, + LAPACKE_sgeqrt, + LAPACKE_sgeqrt2, + LAPACKE_sgeqrt2_work, + LAPACKE_sgeqrt3, + LAPACKE_sgeqrt3_work, + LAPACKE_sgeqrt_work, + LAPACKE_sgerfs, + LAPACKE_sgerfs_work, + LAPACKE_sgerqf, + LAPACKE_sgerqf_work, + LAPACKE_sgesdd, + LAPACKE_sgesdd_work, + LAPACKE_sgesv, + LAPACKE_sgesv_work, + LAPACKE_sgesvd, + LAPACKE_sgesvd_work, + LAPACKE_sgesvj, + LAPACKE_sgesvj_work, + LAPACKE_sgesvx, + LAPACKE_sgesvx_work, + LAPACKE_sgetf2, + LAPACKE_sgetf2_work, + LAPACKE_sgetrf, + LAPACKE_sgetrf_work, + LAPACKE_sgetri, + LAPACKE_sgetri_work, + LAPACKE_sgetrs, + LAPACKE_sgetrs_work, + LAPACKE_sgg_nancheck, + LAPACKE_sgg_trans, + LAPACKE_sggbak, + LAPACKE_sggbak_work, + LAPACKE_sggbal, + LAPACKE_sggbal_work, + LAPACKE_sgges, + LAPACKE_sgges_work, + LAPACKE_sggesx, + LAPACKE_sggesx_work, + LAPACKE_sggev, + LAPACKE_sggev_work, + LAPACKE_sggevx, + LAPACKE_sggevx_work, + LAPACKE_sggglm, + LAPACKE_sggglm_work, + LAPACKE_sgghrd, + LAPACKE_sgghrd_work, + LAPACKE_sgglse, + LAPACKE_sgglse_work, + LAPACKE_sggqrf, + LAPACKE_sggqrf_work, + LAPACKE_sggrqf, + LAPACKE_sggrqf_work, + LAPACKE_sggsvd, + LAPACKE_sggsvd_work, + LAPACKE_sggsvp, + LAPACKE_sggsvp_work, + LAPACKE_sgt_nancheck, + LAPACKE_sgtcon, + LAPACKE_sgtcon_work, + LAPACKE_sgtrfs, + LAPACKE_sgtrfs_work, + LAPACKE_sgtsv, + LAPACKE_sgtsv_work, + LAPACKE_sgtsvx, + LAPACKE_sgtsvx_work, + LAPACKE_sgttrf, + LAPACKE_sgttrf_work, + LAPACKE_sgttrs, + LAPACKE_sgttrs_work, + LAPACKE_shgeqz, + LAPACKE_shgeqz_work, + LAPACKE_shs_nancheck, + LAPACKE_shs_trans, + LAPACKE_shsein, + LAPACKE_shsein_work, + LAPACKE_shseqr, + LAPACKE_shseqr_work, + LAPACKE_slacpy, + LAPACKE_slacpy_work, + LAPACKE_slag2d, + LAPACKE_slag2d_work, + LAPACKE_slamch, + LAPACKE_slamch_work, + LAPACKE_slange, + LAPACKE_slange_work, + LAPACKE_slansy, + LAPACKE_slansy_work, + LAPACKE_slantr, + LAPACKE_slantr_work, + LAPACKE_slapmr, + LAPACKE_slapmr_work, + LAPACKE_slapy2, + LAPACKE_slapy2_work, + LAPACKE_slapy3, + LAPACKE_slapy3_work, + LAPACKE_slarfb, + LAPACKE_slarfb_work, + LAPACKE_slarfg, + LAPACKE_slarfg_work, + LAPACKE_slarft, + LAPACKE_slarft_work, + LAPACKE_slarfx, + LAPACKE_slarfx_work, + LAPACKE_slarnv, + LAPACKE_slarnv_work, + LAPACKE_slartgp, + LAPACKE_slartgp_work, + LAPACKE_slartgs, + LAPACKE_slartgs_work, + LAPACKE_slaset, + LAPACKE_slaset_work, + LAPACKE_slasrt, + LAPACKE_slasrt_work, + LAPACKE_slaswp, + LAPACKE_slaswp_work, + LAPACKE_slauum, + LAPACKE_slauum_work, + LAPACKE_sopgtr, + LAPACKE_sopgtr_work, + LAPACKE_sopmtr, + LAPACKE_sopmtr_work, + LAPACKE_sorbdb, + LAPACKE_sorbdb_work, + LAPACKE_sorcsd, + LAPACKE_sorcsd_work, + LAPACKE_sorgbr, + LAPACKE_sorgbr_work, + LAPACKE_sorghr, + LAPACKE_sorghr_work, + LAPACKE_sorglq, + LAPACKE_sorglq_work, + LAPACKE_sorgql, + LAPACKE_sorgql_work, + LAPACKE_sorgqr, + LAPACKE_sorgqr_work, + LAPACKE_sorgrq, + LAPACKE_sorgrq_work, + LAPACKE_sorgtr, + LAPACKE_sorgtr_work, + LAPACKE_sormbr, + LAPACKE_sormbr_work, + LAPACKE_sormhr, + LAPACKE_sormhr_work, + LAPACKE_sormlq, + LAPACKE_sormlq_work, + LAPACKE_sormql, + LAPACKE_sormql_work, + LAPACKE_sormqr, + LAPACKE_sormqr_work, + LAPACKE_sormrq, + LAPACKE_sormrq_work, + LAPACKE_sormrz, + LAPACKE_sormrz_work, + LAPACKE_sormtr, + LAPACKE_sormtr_work, + LAPACKE_spb_nancheck, + LAPACKE_spb_trans, + LAPACKE_spbcon, + LAPACKE_spbcon_work, + LAPACKE_spbequ, + LAPACKE_spbequ_work, + LAPACKE_spbrfs, + LAPACKE_spbrfs_work, + LAPACKE_spbstf, + LAPACKE_spbstf_work, + LAPACKE_spbsv, + LAPACKE_spbsv_work, + LAPACKE_spbsvx, + LAPACKE_spbsvx_work, + LAPACKE_spbtrf, + LAPACKE_spbtrf_work, + LAPACKE_spbtrs, + LAPACKE_spbtrs_work, + LAPACKE_spf_nancheck, + LAPACKE_spf_trans, + LAPACKE_spftrf, + LAPACKE_spftrf_work, + LAPACKE_spftri, + LAPACKE_spftri_work, + LAPACKE_spftrs, + LAPACKE_spftrs_work, + LAPACKE_spo_nancheck, + LAPACKE_spo_trans, + LAPACKE_spocon, + LAPACKE_spocon_work, + LAPACKE_spoequ, + LAPACKE_spoequ_work, + LAPACKE_spoequb, + LAPACKE_spoequb_work, + LAPACKE_sporfs, + LAPACKE_sporfs_work, + LAPACKE_sposv, + LAPACKE_sposv_work, + LAPACKE_sposvx, + LAPACKE_sposvx_work, + LAPACKE_spotrf, + LAPACKE_spotrf_work, + LAPACKE_spotri, + LAPACKE_spotri_work, + LAPACKE_spotrs, + LAPACKE_spotrs_work, + LAPACKE_spp_nancheck, + LAPACKE_spp_trans, + LAPACKE_sppcon, + LAPACKE_sppcon_work, + LAPACKE_sppequ, + LAPACKE_sppequ_work, + LAPACKE_spprfs, + LAPACKE_spprfs_work, + LAPACKE_sppsv, + LAPACKE_sppsv_work, + LAPACKE_sppsvx, + LAPACKE_sppsvx_work, + LAPACKE_spptrf, + LAPACKE_spptrf_work, + LAPACKE_spptri, + LAPACKE_spptri_work, + LAPACKE_spptrs, + LAPACKE_spptrs_work, + LAPACKE_spstrf, + LAPACKE_spstrf_work, + LAPACKE_spt_nancheck, + LAPACKE_sptcon, + LAPACKE_sptcon_work, + LAPACKE_spteqr, + LAPACKE_spteqr_work, + LAPACKE_sptrfs, + LAPACKE_sptrfs_work, + LAPACKE_sptsv, + LAPACKE_sptsv_work, + LAPACKE_sptsvx, + LAPACKE_sptsvx_work, + LAPACKE_spttrf, + LAPACKE_spttrf_work, + LAPACKE_spttrs, + LAPACKE_spttrs_work, + LAPACKE_ssb_nancheck, + LAPACKE_ssb_trans, + LAPACKE_ssbev, + LAPACKE_ssbev_work, + LAPACKE_ssbevd, + LAPACKE_ssbevd_work, + LAPACKE_ssbevx, + LAPACKE_ssbevx_work, + LAPACKE_ssbgst, + LAPACKE_ssbgst_work, + LAPACKE_ssbgv, + LAPACKE_ssbgv_work, + LAPACKE_ssbgvd, + LAPACKE_ssbgvd_work, + LAPACKE_ssbgvx, + LAPACKE_ssbgvx_work, + LAPACKE_ssbtrd, + LAPACKE_ssbtrd_work, + LAPACKE_ssfrk, + LAPACKE_ssfrk_work, + LAPACKE_ssp_nancheck, + LAPACKE_ssp_trans, + LAPACKE_sspcon, + LAPACKE_sspcon_work, + LAPACKE_sspev, + LAPACKE_sspev_work, + LAPACKE_sspevd, + LAPACKE_sspevd_work, + LAPACKE_sspevx, + LAPACKE_sspevx_work, + LAPACKE_sspgst, + LAPACKE_sspgst_work, + LAPACKE_sspgv, + LAPACKE_sspgv_work, + LAPACKE_sspgvd, + LAPACKE_sspgvd_work, + LAPACKE_sspgvx, + LAPACKE_sspgvx_work, + LAPACKE_ssprfs, + LAPACKE_ssprfs_work, + LAPACKE_sspsv, + LAPACKE_sspsv_work, + LAPACKE_sspsvx, + LAPACKE_sspsvx_work, + LAPACKE_ssptrd, + LAPACKE_ssptrd_work, + LAPACKE_ssptrf, + LAPACKE_ssptrf_work, + LAPACKE_ssptri, + LAPACKE_ssptri_work, + LAPACKE_ssptrs, + LAPACKE_ssptrs_work, + LAPACKE_sst_nancheck, + LAPACKE_sstebz, + LAPACKE_sstebz_work, + LAPACKE_sstedc, + LAPACKE_sstedc_work, + LAPACKE_sstegr, + LAPACKE_sstegr_work, + LAPACKE_sstein, + LAPACKE_sstein_work, + LAPACKE_sstemr, + LAPACKE_sstemr_work, + LAPACKE_ssteqr, + LAPACKE_ssteqr_work, + LAPACKE_ssterf, + LAPACKE_ssterf_work, + LAPACKE_sstev, + LAPACKE_sstev_work, + LAPACKE_sstevd, + LAPACKE_sstevd_work, + LAPACKE_sstevr, + LAPACKE_sstevr_work, + LAPACKE_sstevx, + LAPACKE_sstevx_work, + LAPACKE_ssy_nancheck, + LAPACKE_ssy_trans, + LAPACKE_ssycon, + LAPACKE_ssycon_work, + LAPACKE_ssyconv, + LAPACKE_ssyconv_work, + LAPACKE_ssyequb, + LAPACKE_ssyequb_work, + LAPACKE_ssyev, + LAPACKE_ssyev_work, + LAPACKE_ssyevd, + LAPACKE_ssyevd_work, + LAPACKE_ssyevr, + LAPACKE_ssyevr_work, + LAPACKE_ssyevx, + LAPACKE_ssyevx_work, + LAPACKE_ssygst, + LAPACKE_ssygst_work, + LAPACKE_ssygv, + LAPACKE_ssygv_work, + LAPACKE_ssygvd, + LAPACKE_ssygvd_work, + LAPACKE_ssygvx, + LAPACKE_ssygvx_work, + LAPACKE_ssyrfs, + LAPACKE_ssyrfs_work, + LAPACKE_ssysv, + LAPACKE_ssysv_work, + LAPACKE_ssysvx, + LAPACKE_ssysvx_work, + LAPACKE_ssyswapr, + LAPACKE_ssyswapr_work, + LAPACKE_ssytrd, + LAPACKE_ssytrd_work, + LAPACKE_ssytrf, + LAPACKE_ssytrf_work, + LAPACKE_ssytri, + LAPACKE_ssytri2, + LAPACKE_ssytri2_work, + LAPACKE_ssytri2x, + LAPACKE_ssytri2x_work, + LAPACKE_ssytri_work, + LAPACKE_ssytrs, + LAPACKE_ssytrs2, + LAPACKE_ssytrs2_work, + LAPACKE_ssytrs_work, + LAPACKE_stb_nancheck, + LAPACKE_stb_trans, + LAPACKE_stbcon, + LAPACKE_stbcon_work, + LAPACKE_stbrfs, + LAPACKE_stbrfs_work, + LAPACKE_stbtrs, + LAPACKE_stbtrs_work, + LAPACKE_stf_nancheck, + LAPACKE_stf_trans, + LAPACKE_stfsm, + LAPACKE_stfsm_work, + LAPACKE_stftri, + LAPACKE_stftri_work, + LAPACKE_stfttp, + LAPACKE_stfttp_work, + LAPACKE_stfttr, + LAPACKE_stfttr_work, + LAPACKE_stgevc, + LAPACKE_stgevc_work, + LAPACKE_stgexc, + LAPACKE_stgexc_work, + LAPACKE_stgsen, + LAPACKE_stgsen_work, + LAPACKE_stgsja, + LAPACKE_stgsja_work, + LAPACKE_stgsna, + LAPACKE_stgsna_work, + LAPACKE_stgsyl, + LAPACKE_stgsyl_work, + LAPACKE_stp_nancheck, + LAPACKE_stp_trans, + LAPACKE_stpcon, + LAPACKE_stpcon_work, + LAPACKE_stpmqrt, + LAPACKE_stpmqrt_work, + LAPACKE_stpqrt2, + LAPACKE_stpqrt2_work, + LAPACKE_stprfb, + LAPACKE_stprfb_work, + LAPACKE_stprfs, + LAPACKE_stprfs_work, + LAPACKE_stptri, + LAPACKE_stptri_work, + LAPACKE_stptrs, + LAPACKE_stptrs_work, + LAPACKE_stpttf, + LAPACKE_stpttf_work, + LAPACKE_stpttr, + LAPACKE_stpttr_work, + LAPACKE_str_nancheck, + LAPACKE_str_trans, + LAPACKE_strcon, + LAPACKE_strcon_work, + LAPACKE_strevc, + LAPACKE_strevc_work, + LAPACKE_strexc, + LAPACKE_strexc_work, + LAPACKE_strrfs, + LAPACKE_strrfs_work, + LAPACKE_strsen, + LAPACKE_strsen_work, + LAPACKE_strsna, + LAPACKE_strsna_work, + LAPACKE_strsyl, + LAPACKE_strsyl_work, + LAPACKE_strtri, + LAPACKE_strtri_work, + LAPACKE_strtrs, + LAPACKE_strtrs_work, + LAPACKE_strttf, + LAPACKE_strttf_work, + LAPACKE_strttp, + LAPACKE_strttp_work, + LAPACKE_stzrzf, + LAPACKE_stzrzf_work, + LAPACKE_xerbla, + LAPACKE_z_nancheck, + LAPACKE_zbbcsd, + LAPACKE_zbbcsd_work, + LAPACKE_zbdsqr, + LAPACKE_zbdsqr_work, + LAPACKE_zcgesv, + LAPACKE_zcgesv_work, + LAPACKE_zcposv, + LAPACKE_zcposv_work, + LAPACKE_zgb_nancheck, + LAPACKE_zgb_trans, + LAPACKE_zgbbrd, + LAPACKE_zgbbrd_work, + LAPACKE_zgbcon, + LAPACKE_zgbcon_work, + LAPACKE_zgbequ, + LAPACKE_zgbequ_work, + LAPACKE_zgbequb, + LAPACKE_zgbequb_work, + LAPACKE_zgbrfs, + LAPACKE_zgbrfs_work, + LAPACKE_zgbsv, + LAPACKE_zgbsv_work, + LAPACKE_zgbsvx, + LAPACKE_zgbsvx_work, + LAPACKE_zgbtrf, + LAPACKE_zgbtrf_work, + LAPACKE_zgbtrs, + LAPACKE_zgbtrs_work, + LAPACKE_zge_nancheck, + LAPACKE_zge_trans, + LAPACKE_zgebak, + LAPACKE_zgebak_work, + LAPACKE_zgebal, + LAPACKE_zgebal_work, + LAPACKE_zgebrd, + LAPACKE_zgebrd_work, + LAPACKE_zgecon, + LAPACKE_zgecon_work, + LAPACKE_zgeequ, + LAPACKE_zgeequ_work, + LAPACKE_zgeequb, + LAPACKE_zgeequb_work, + LAPACKE_zgees, + LAPACKE_zgees_work, + LAPACKE_zgeesx, + LAPACKE_zgeesx_work, + LAPACKE_zgeev, + LAPACKE_zgeev_work, + LAPACKE_zgeevx, + LAPACKE_zgeevx_work, + LAPACKE_zgehrd, + LAPACKE_zgehrd_work, + LAPACKE_zgelq2, + LAPACKE_zgelq2_work, + LAPACKE_zgelqf, + LAPACKE_zgelqf_work, + LAPACKE_zgels, + LAPACKE_zgels_work, + LAPACKE_zgelsd, + LAPACKE_zgelsd_work, + LAPACKE_zgelss, + LAPACKE_zgelss_work, + LAPACKE_zgelsy, + LAPACKE_zgelsy_work, + LAPACKE_zgemqrt, + LAPACKE_zgemqrt_work, + LAPACKE_zgeqlf, + LAPACKE_zgeqlf_work, + LAPACKE_zgeqp3, + LAPACKE_zgeqp3_work, + LAPACKE_zgeqpf, + LAPACKE_zgeqpf_work, + LAPACKE_zgeqr2, + LAPACKE_zgeqr2_work, + LAPACKE_zgeqrf, + LAPACKE_zgeqrf_work, + LAPACKE_zgeqrfp, + LAPACKE_zgeqrfp_work, + LAPACKE_zgeqrt, + LAPACKE_zgeqrt2, + LAPACKE_zgeqrt2_work, + LAPACKE_zgeqrt3, + LAPACKE_zgeqrt3_work, + LAPACKE_zgeqrt_work, + LAPACKE_zgerfs, + LAPACKE_zgerfs_work, + LAPACKE_zgerqf, + LAPACKE_zgerqf_work, + LAPACKE_zgesdd, + LAPACKE_zgesdd_work, + LAPACKE_zgesv, + LAPACKE_zgesv_work, + LAPACKE_zgesvd, + LAPACKE_zgesvd_work, + LAPACKE_zgesvx, + LAPACKE_zgesvx_work, + LAPACKE_zgetf2, + LAPACKE_zgetf2_work, + LAPACKE_zgetrf, + LAPACKE_zgetrf_work, + LAPACKE_zgetri, + LAPACKE_zgetri_work, + LAPACKE_zgetrs, + LAPACKE_zgetrs_work, + LAPACKE_zgg_nancheck, + LAPACKE_zgg_trans, + LAPACKE_zggbak, + LAPACKE_zggbak_work, + LAPACKE_zggbal, + LAPACKE_zggbal_work, + LAPACKE_zgges, + LAPACKE_zgges_work, + LAPACKE_zggesx, + LAPACKE_zggesx_work, + LAPACKE_zggev, + LAPACKE_zggev_work, + LAPACKE_zggevx, + LAPACKE_zggevx_work, + LAPACKE_zggglm, + LAPACKE_zggglm_work, + LAPACKE_zgghrd, + LAPACKE_zgghrd_work, + LAPACKE_zgglse, + LAPACKE_zgglse_work, + LAPACKE_zggqrf, + LAPACKE_zggqrf_work, + LAPACKE_zggrqf, + LAPACKE_zggrqf_work, + LAPACKE_zggsvd, + LAPACKE_zggsvd_work, + LAPACKE_zggsvp, + LAPACKE_zggsvp_work, + LAPACKE_zgt_nancheck, + LAPACKE_zgtcon, + LAPACKE_zgtcon_work, + LAPACKE_zgtrfs, + LAPACKE_zgtrfs_work, + LAPACKE_zgtsv, + LAPACKE_zgtsv_work, + LAPACKE_zgtsvx, + LAPACKE_zgtsvx_work, + LAPACKE_zgttrf, + LAPACKE_zgttrf_work, + LAPACKE_zgttrs, + LAPACKE_zgttrs_work, + LAPACKE_zhb_nancheck, + LAPACKE_zhb_trans, + LAPACKE_zhbev, + LAPACKE_zhbev_work, + LAPACKE_zhbevd, + LAPACKE_zhbevd_work, + LAPACKE_zhbevx, + LAPACKE_zhbevx_work, + LAPACKE_zhbgst, + LAPACKE_zhbgst_work, + LAPACKE_zhbgv, + LAPACKE_zhbgv_work, + LAPACKE_zhbgvd, + LAPACKE_zhbgvd_work, + LAPACKE_zhbgvx, + LAPACKE_zhbgvx_work, + LAPACKE_zhbtrd, + LAPACKE_zhbtrd_work, + LAPACKE_zhe_nancheck, + LAPACKE_zhe_trans, + LAPACKE_zhecon, + LAPACKE_zhecon_work, + LAPACKE_zheequb, + LAPACKE_zheequb_work, + LAPACKE_zheev, + LAPACKE_zheev_work, + LAPACKE_zheevd, + LAPACKE_zheevd_work, + LAPACKE_zheevr, + LAPACKE_zheevr_work, + LAPACKE_zheevx, + LAPACKE_zheevx_work, + LAPACKE_zhegst, + LAPACKE_zhegst_work, + LAPACKE_zhegv, + LAPACKE_zhegv_work, + LAPACKE_zhegvd, + LAPACKE_zhegvd_work, + LAPACKE_zhegvx, + LAPACKE_zhegvx_work, + LAPACKE_zherfs, + LAPACKE_zherfs_work, + LAPACKE_zhesv, + LAPACKE_zhesv_work, + LAPACKE_zhesvx, + LAPACKE_zhesvx_work, + LAPACKE_zheswapr, + LAPACKE_zheswapr_work, + LAPACKE_zhetrd, + LAPACKE_zhetrd_work, + LAPACKE_zhetrf, + LAPACKE_zhetrf_work, + LAPACKE_zhetri, + LAPACKE_zhetri2, + LAPACKE_zhetri2_work, + LAPACKE_zhetri2x, + LAPACKE_zhetri2x_work, + LAPACKE_zhetri_work, + LAPACKE_zhetrs, + LAPACKE_zhetrs2, + LAPACKE_zhetrs2_work, + LAPACKE_zhetrs_work, + LAPACKE_zhfrk, + LAPACKE_zhfrk_work, + LAPACKE_zhgeqz, + LAPACKE_zhgeqz_work, + LAPACKE_zhp_nancheck, + LAPACKE_zhp_trans, + LAPACKE_zhpcon, + LAPACKE_zhpcon_work, + LAPACKE_zhpev, + LAPACKE_zhpev_work, + LAPACKE_zhpevd, + LAPACKE_zhpevd_work, + LAPACKE_zhpevx, + LAPACKE_zhpevx_work, + LAPACKE_zhpgst, + LAPACKE_zhpgst_work, + LAPACKE_zhpgv, + LAPACKE_zhpgv_work, + LAPACKE_zhpgvd, + LAPACKE_zhpgvd_work, + LAPACKE_zhpgvx, + LAPACKE_zhpgvx_work, + LAPACKE_zhprfs, + LAPACKE_zhprfs_work, + LAPACKE_zhpsv, + LAPACKE_zhpsv_work, + LAPACKE_zhpsvx, + LAPACKE_zhpsvx_work, + LAPACKE_zhptrd, + LAPACKE_zhptrd_work, + LAPACKE_zhptrf, + LAPACKE_zhptrf_work, + LAPACKE_zhptri, + LAPACKE_zhptri_work, + LAPACKE_zhptrs, + LAPACKE_zhptrs_work, + LAPACKE_zhs_nancheck, + LAPACKE_zhs_trans, + LAPACKE_zhsein, + LAPACKE_zhsein_work, + LAPACKE_zhseqr, + LAPACKE_zhseqr_work, + LAPACKE_zlacgv, + LAPACKE_zlacgv_work, + LAPACKE_zlacpy, + LAPACKE_zlacpy_work, + LAPACKE_zlag2c, + LAPACKE_zlag2c_work, + LAPACKE_zlange, + LAPACKE_zlange_work, + LAPACKE_zlanhe, + LAPACKE_zlanhe_work, + LAPACKE_zlansy, + LAPACKE_zlansy_work, + LAPACKE_zlantr, + LAPACKE_zlantr_work, + LAPACKE_zlapmr, + LAPACKE_zlapmr_work, + LAPACKE_zlarfb, + LAPACKE_zlarfb_work, + LAPACKE_zlarfg, + LAPACKE_zlarfg_work, + LAPACKE_zlarft, + LAPACKE_zlarft_work, + LAPACKE_zlarfx, + LAPACKE_zlarfx_work, + LAPACKE_zlarnv, + LAPACKE_zlarnv_work, + LAPACKE_zlaset, + LAPACKE_zlaset_work, + LAPACKE_zlaswp, + LAPACKE_zlaswp_work, + LAPACKE_zlauum, + LAPACKE_zlauum_work, + LAPACKE_zpb_nancheck, + LAPACKE_zpb_trans, + LAPACKE_zpbcon, + LAPACKE_zpbcon_work, + LAPACKE_zpbequ, + LAPACKE_zpbequ_work, + LAPACKE_zpbrfs, + LAPACKE_zpbrfs_work, + LAPACKE_zpbstf, + LAPACKE_zpbstf_work, + LAPACKE_zpbsv, + LAPACKE_zpbsv_work, + LAPACKE_zpbsvx, + LAPACKE_zpbsvx_work, + LAPACKE_zpbtrf, + LAPACKE_zpbtrf_work, + LAPACKE_zpbtrs, + LAPACKE_zpbtrs_work, + LAPACKE_zpf_nancheck, + LAPACKE_zpf_trans, + LAPACKE_zpftrf, + LAPACKE_zpftrf_work, + LAPACKE_zpftri, + LAPACKE_zpftri_work, + LAPACKE_zpftrs, + LAPACKE_zpftrs_work, + LAPACKE_zpo_nancheck, + LAPACKE_zpo_trans, + LAPACKE_zpocon, + LAPACKE_zpocon_work, + LAPACKE_zpoequ, + LAPACKE_zpoequ_work, + LAPACKE_zpoequb, + LAPACKE_zpoequb_work, + LAPACKE_zporfs, + LAPACKE_zporfs_work, + LAPACKE_zposv, + LAPACKE_zposv_work, + LAPACKE_zposvx, + LAPACKE_zposvx_work, + LAPACKE_zpotrf, + LAPACKE_zpotrf_work, + LAPACKE_zpotri, + LAPACKE_zpotri_work, + LAPACKE_zpotrs, + LAPACKE_zpotrs_work, + LAPACKE_zpp_nancheck, + LAPACKE_zpp_trans, + LAPACKE_zppcon, + LAPACKE_zppcon_work, + LAPACKE_zppequ, + LAPACKE_zppequ_work, + LAPACKE_zpprfs, + LAPACKE_zpprfs_work, + LAPACKE_zppsv, + LAPACKE_zppsv_work, + LAPACKE_zppsvx, + LAPACKE_zppsvx_work, + LAPACKE_zpptrf, + LAPACKE_zpptrf_work, + LAPACKE_zpptri, + LAPACKE_zpptri_work, + LAPACKE_zpptrs, + LAPACKE_zpptrs_work, + LAPACKE_zpstrf, + LAPACKE_zpstrf_work, + LAPACKE_zpt_nancheck, + LAPACKE_zptcon, + LAPACKE_zptcon_work, + LAPACKE_zpteqr, + LAPACKE_zpteqr_work, + LAPACKE_zptrfs, + LAPACKE_zptrfs_work, + LAPACKE_zptsv, + LAPACKE_zptsv_work, + LAPACKE_zptsvx, + LAPACKE_zptsvx_work, + LAPACKE_zpttrf, + LAPACKE_zpttrf_work, + LAPACKE_zpttrs, + LAPACKE_zpttrs_work, + LAPACKE_zsp_nancheck, + LAPACKE_zsp_trans, + LAPACKE_zspcon, + LAPACKE_zspcon_work, + LAPACKE_zsprfs, + LAPACKE_zsprfs_work, + LAPACKE_zspsv, + LAPACKE_zspsv_work, + LAPACKE_zspsvx, + LAPACKE_zspsvx_work, + LAPACKE_zsptrf, + LAPACKE_zsptrf_work, + LAPACKE_zsptri, + LAPACKE_zsptri_work, + LAPACKE_zsptrs, + LAPACKE_zsptrs_work, + LAPACKE_zst_nancheck, + LAPACKE_zstedc, + LAPACKE_zstedc_work, + LAPACKE_zstegr, + LAPACKE_zstegr_work, + LAPACKE_zstein, + LAPACKE_zstein_work, + LAPACKE_zstemr, + LAPACKE_zstemr_work, + LAPACKE_zsteqr, + LAPACKE_zsteqr_work, + LAPACKE_zsy_nancheck, + LAPACKE_zsy_trans, + LAPACKE_zsycon, + LAPACKE_zsycon_work, + LAPACKE_zsyconv, + LAPACKE_zsyconv_work, + LAPACKE_zsyequb, + LAPACKE_zsyequb_work, + LAPACKE_zsyr, + LAPACKE_zsyr_work, + LAPACKE_zsyrfs, + LAPACKE_zsyrfs_work, + LAPACKE_zsysv, + LAPACKE_zsysv_work, + LAPACKE_zsysvx, + LAPACKE_zsysvx_work, + LAPACKE_zsyswapr, + LAPACKE_zsyswapr_work, + LAPACKE_zsytrf, + LAPACKE_zsytrf_work, + LAPACKE_zsytri, + LAPACKE_zsytri2, + LAPACKE_zsytri2_work, + LAPACKE_zsytri2x, + LAPACKE_zsytri2x_work, + LAPACKE_zsytri_work, + LAPACKE_zsytrs, + LAPACKE_zsytrs2, + LAPACKE_zsytrs2_work, + LAPACKE_zsytrs_work, + LAPACKE_ztb_nancheck, + LAPACKE_ztb_trans, + LAPACKE_ztbcon, + LAPACKE_ztbcon_work, + LAPACKE_ztbrfs, + LAPACKE_ztbrfs_work, + LAPACKE_ztbtrs, + LAPACKE_ztbtrs_work, + LAPACKE_ztf_nancheck, + LAPACKE_ztf_trans, + LAPACKE_ztfsm, + LAPACKE_ztfsm_work, + LAPACKE_ztftri, + LAPACKE_ztftri_work, + LAPACKE_ztfttp, + LAPACKE_ztfttp_work, + LAPACKE_ztfttr, + LAPACKE_ztfttr_work, + LAPACKE_ztgevc, + LAPACKE_ztgevc_work, + LAPACKE_ztgexc, + LAPACKE_ztgexc_work, + LAPACKE_ztgsen, + LAPACKE_ztgsen_work, + LAPACKE_ztgsja, + LAPACKE_ztgsja_work, + LAPACKE_ztgsna, + LAPACKE_ztgsna_work, + LAPACKE_ztgsyl, + LAPACKE_ztgsyl_work, + LAPACKE_ztp_nancheck, + LAPACKE_ztp_trans, + LAPACKE_ztpcon, + LAPACKE_ztpcon_work, + LAPACKE_ztpmqrt, + LAPACKE_ztpmqrt_work, + LAPACKE_ztpqrt, + LAPACKE_ztpqrt2, + LAPACKE_ztpqrt2_work, + LAPACKE_ztpqrt_work, + LAPACKE_ztprfb, + LAPACKE_ztprfb_work, + LAPACKE_ztprfs, + LAPACKE_ztprfs_work, + LAPACKE_ztptri, + LAPACKE_ztptri_work, + LAPACKE_ztptrs, + LAPACKE_ztptrs_work, + LAPACKE_ztpttf, + LAPACKE_ztpttf_work, + LAPACKE_ztpttr, + LAPACKE_ztpttr_work, + LAPACKE_ztr_nancheck, + LAPACKE_ztr_trans, + LAPACKE_ztrcon, + LAPACKE_ztrcon_work, + LAPACKE_ztrevc, + LAPACKE_ztrevc_work, + LAPACKE_ztrexc, + LAPACKE_ztrexc_work, + LAPACKE_ztrrfs, + LAPACKE_ztrrfs_work, + LAPACKE_ztrsen, + LAPACKE_ztrsen_work, + LAPACKE_ztrsna, + LAPACKE_ztrsna_work, + LAPACKE_ztrsyl, + LAPACKE_ztrsyl_work, + LAPACKE_ztrtri, + LAPACKE_ztrtri_work, + LAPACKE_ztrtrs, + LAPACKE_ztrtrs_work, + LAPACKE_ztrttf, + LAPACKE_ztrttf_work, + LAPACKE_ztrttp, + LAPACKE_ztrttp_work, + LAPACKE_ztzrzf, + LAPACKE_ztzrzf_work, + LAPACKE_zunbdb, + LAPACKE_zunbdb_work, + LAPACKE_zuncsd, + LAPACKE_zuncsd_work, + LAPACKE_zungbr, + LAPACKE_zungbr_work, + LAPACKE_zunghr, + LAPACKE_zunghr_work, + LAPACKE_zunglq, + LAPACKE_zunglq_work, + LAPACKE_zungql, + LAPACKE_zungql_work, + LAPACKE_zungqr, + LAPACKE_zungqr_work, + LAPACKE_zungrq, + LAPACKE_zungrq_work, + LAPACKE_zungtr, + LAPACKE_zungtr_work, + LAPACKE_zunmbr, + LAPACKE_zunmbr_work, + LAPACKE_zunmhr, + LAPACKE_zunmhr_work, + LAPACKE_zunmlq, + LAPACKE_zunmlq_work, + LAPACKE_zunmql, + LAPACKE_zunmql_work, + LAPACKE_zunmqr, + LAPACKE_zunmqr_work, + LAPACKE_zunmrq, + LAPACKE_zunmrq_work, + LAPACKE_zunmrz, + LAPACKE_zunmrz_work, + LAPACKE_zunmtr, + LAPACKE_zunmtr_work, + LAPACKE_zupgtr, + LAPACKE_zupgtr_work, + LAPACKE_zupmtr, + LAPACKE_zupmtr_work, ); if ($ARGV[5] == 1) { #NO_LAPACK=1 - @objs = (@blasobjs); -} elsif (-d "../lapack-3.1.1" || -d "../lapack-3.4.0") { - @objs = (@blasobjs, @lapackobjs, @lapackobjs2); + @underscore_objs = (@blasobjs); +} elsif (-d "../lapack-3.1.1" || -d "../lapack-3.4.0" || -d "../lapack-3.4.1") { + @underscore_objs = (@blasobjs, @lapackobjs, @lapackobjs2); } else { - @objs = (@blasobjs, @lapackobjs); + @underscore_objs = (@blasobjs, @lapackobjs); } -if ($ARGV[3] == 1){ @objs = (@objs, @exblasobjs); }; +if ($ARGV[3] == 1){ @underscore_objs = (@underscore_objs, @exblasobjs); }; -if ($ARGV[1] eq "X86_64"){ @objs = (@objs, @gemm3mobjs); }; +if ($ARGV[1] eq "X86_64"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); }; -if ($ARGV[1] eq "x86"){ @objs = (@objs, @gemm3mobjs); }; +if ($ARGV[1] eq "x86"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); }; -if ($ARGV[1] eq "ia64"){ @objs = (@objs, @gemm3mobjs); }; +if ($ARGV[1] eq "ia64"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); }; -if ($ARGV[1] eq "MIPS"){ @objs = (@objs, @gemm3mobjs); }; +if ($ARGV[1] eq "MIPS"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); }; + +if ($ARGV[4] == 0) { + @no_underscore_objs = (@cblasobjs); +}else{ + #NO_CBLAS=1 + @no_underscore_objs = (); +} +if ($ARGV[6] == 1) { + #NO_LAPACKE=1 + @no_underscore_objs = (@no_underscore_objs); +} else { + @no_underscore_objs = (@no_underscore_objs, @lapackeobjs); +} @linuxobjs = ('__strtol_internal', 'exit', 'free', 'getenv', 'malloc', 'mmap', 'printf', 'sqrt', @@ -333,15 +2497,15 @@ $bu = $ARGV[2]; $bu = "" if (($bu eq "0") || ($bu eq "1")); if ($ARGV[0] eq "linux"){ - foreach $objs (@objs) { + foreach $objs (@underscore_objs) { print $objs, $bu, "\n"; } - if ($ARGV[4] == 0) { - foreach $objs (@cblasobjs) { +# if ($ARGV[4] == 0) { + foreach $objs (@no_underscore_objs) { print $objs, "\n"; } - } +# } foreach $objs (@linuxobjs) { print $objs, "\n"; @@ -350,35 +2514,35 @@ if ($ARGV[0] eq "linux"){ } if ($ARGV[0] eq "osx"){ - foreach $objs (@objs) { + foreach $objs (@underscore_objs) { print "_", $objs, $bu, "\n"; } - if ($ARGV[4] == 0) { - foreach $objs (@cblasobjs) { +# if ($ARGV[4] == 0) { + foreach $objs (@no_underscore_objs) { print "_", $objs, "\n"; } - } +# } exit(0); } if ($ARGV[0] eq "aix"){ - foreach $objs (@objs) { + foreach $objs (@underscore_objs) { print $objs, $bu, "\n"; } - if ($ARGV[4] == 0) { - foreach $objs (@cblasobjs) { +# if ($ARGV[4] == 0) { + foreach $objs (@no_underscore_objs) { print $objs, "\n"; } - } +# } exit(0); } if ($ARGV[0] eq "win2k"){ print "EXPORTS\n"; $count = 1; - foreach $objs (@objs) { + foreach $objs (@underscore_objs) { $uppercase = $objs; $uppercase =~ tr/[a-z]/[A-Z]/; print "\t$objs=$objs","_ \@", $count, "\n"; @@ -389,12 +2553,12 @@ if ($ARGV[0] eq "win2k"){ $count ++; } - if ($ARGV[4] == 0) { - foreach $objs (@cblasobjs) { +# if ($ARGV[4] == 0) { + foreach $objs (@no_underscore_objs) { print "\t",$objs,"=$objs"," \@", $count, "\n"; $count ++; } - } +# } exit(0); } @@ -424,7 +2588,7 @@ if ($ARGV[0] eq "win2khpl"){ if ($ARGV[0] eq "microsoft"){ print "EXPORTS\n"; $count = 1; - foreach $objs (@objs) { + foreach $objs (@underscore_objs) { $uppercase = $objs; $uppercase =~ tr/[a-z]/[A-Z]/; print "\t$objs = $objs","_\n"; @@ -441,7 +2605,7 @@ if ($ARGV[0] eq "microsoft"){ if ($ARGV[0] eq "win2kasm"){ print "\t.text\n"; - foreach $objs (@objs) { + foreach $objs (@underscore_objs) { $uppercase = $objs; $uppercase =~ tr/[a-z]/[A-Z]/; print "\t.align 16\n"; @@ -454,14 +2618,14 @@ if ($ARGV[0] eq "win2kasm"){ if ($ARGV[0] eq "linktest"){ print "int main(void){\n"; - foreach $objs (@objs) { + foreach $objs (@underscore_objs) { print $objs, $bu, "();\n" if $objs ne "xerbla"; } - if ($ARGV[4] == 0) { - foreach $objs (@cblasobjs) { +# if ($ARGV[4] == 0) { + foreach $objs (@no_underscore_objs) { print $objs, "();\n"; } - } +# } diff --git a/f_check b/f_check index f5bb5a7f6..93c39ec88 100644 --- a/f_check +++ b/f_check @@ -237,6 +237,8 @@ if ($link ne "") { $link =~ s/\-rpath\s+/\-rpath\@/g; @flags = split(/[\s\,\n]/, $link); + # remove leading and trailing quotes from each flag. + @flags = map {s/^['"]|['"]$//g; $_} @flags; foreach $flags (@flags) { if ( diff --git a/kernel/x86/amax_sse.S b/kernel/x86/amax_sse.S index 65792cf45..05d21a7eb 100644 --- a/kernel/x86/amax_sse.S +++ b/kernel/x86/amax_sse.S @@ -495,7 +495,6 @@ ALIGN_4 .L999: - RESTOREREGISTERS subl $8, %esp movss %xmm0, (%esp) diff --git a/kernel/x86/scal_sse2.S b/kernel/x86/scal_sse2.S index dab543470..67c1f437b 100644 --- a/kernel/x86/scal_sse2.S +++ b/kernel/x86/scal_sse2.S @@ -76,7 +76,8 @@ xorps %xmm1, %xmm1 comisd %xmm0, %xmm1 jne .L100 # Alpha != ZERO - + jp .L100 # For Alpha = NaN + /* Alpha == ZERO */ cmpl $SIZE, INCX jne .L50 diff --git a/kernel/x86_64/scal_sse2.S b/kernel/x86_64/scal_sse2.S index b0abb4533..8f5612081 100644 --- a/kernel/x86_64/scal_sse2.S +++ b/kernel/x86_64/scal_sse2.S @@ -74,7 +74,8 @@ xorps %xmm1, %xmm1 comisd %xmm0, %xmm1 jne .L100 # Alpha != ZERO - + jp .L100 # For Alpha = NaN + /* Alpha == ZERO */ cmpq $SIZE, INCX jne .L50 diff --git a/openblas_config_template.h b/openblas_config_template.h index 8bf972593..caeccf026 100644 --- a/openblas_config_template.h +++ b/openblas_config_template.h @@ -39,3 +39,34 @@ typedef int blasint; #define FLOATRET float #endif #endif + +/* Inclusion of a standard header file is needed for definition of __STDC_* + predefined macros with some compilers (e.g. GCC 4.7 on Linux). This occurs + as a side effect of including either or . */ +#include + +/* C99 supports complex floating numbers natively, which GCC also offers as an + extension since version 3.0. If neither are available, use a compatible + structure as fallback (see Clause 6.2.5.13 of the C99 standard). */ +#if defined(__STDC_IEC_559_COMPLEX__) || __STDC_VERSION__ >= 199901L || __GNUC__ >= 3 + #define OPENBLAS_COMPLEX_C99 + #include + typedef float _Complex openblas_complex_float; + typedef double _Complex openblas_complex_double; + #define openblas_make_complex_float(real, imag) ((real) + ((imag) * _Complex_I)) + #define openblas_make_complex_double(real, imag) ((real) + ((imag) * _Complex_I)) + #define openblas_complex_float_real(z) (creal(z)) + #define openblas_complex_float_imag(z) (cimag(z)) + #define openblas_complex_double_real(z) (creal(z)) + #define openblas_complex_double_imag(z) (cimag(z)) +#else + #define OPENBLAS_COMPLEX_STRUCT + typedef struct { float real, imag; } openblas_complex_float; + typedef struct { double real, imag; } openblas_complex_double; + #define openblas_make_complex_float(real, imag) {(real), (imag)} + #define openblas_make_complex_double(real, imag) {(real), (imag)} + #define openblas_complex_float_real(z) ((z).real) + #define openblas_complex_float_imag(z) ((z).imag) + #define openblas_complex_double_real(z) ((z).real) + #define openblas_complex_double_imag(z) ((z).imag) +#endif diff --git a/patch.for_lapack-3.4.0 b/patch.for_lapack-3.4.0 index 9d3cd5f31..a3dc9b8a9 100644 --- a/patch.for_lapack-3.4.0 +++ b/patch.for_lapack-3.4.0 @@ -887,3 +887,2070 @@ diff -ruN lapack-3.4.0.old/TESTING/LIN/Makefile lapack-3.4.0/TESTING/LIN/Makefil ../xlintsts: xlintsts mv xlintsts $@ + +diff -ruN lapack-3.4.0.old/lapacke/src/Makefile lapack-3.4.0/lapacke/src/Makefile +--- lapack-3.4.0.old/lapacke/src/Makefile 2011-11-10 06:56:15.000000000 +0800 ++++ lapack-3.4.0/lapacke/src/Makefile 2012-04-13 22:37:09.000000000 +0800 +@@ -35,12 +35,2060 @@ + include ../make.inc + + C_FILES := $(wildcard *.c) +-OBJ_FILES := $(C_FILES:.c=.o) ++ ++LAPACKE_OBJS := \ ++lapacke_cbbcsd.o \ ++lapacke_cbbcsd_work.o \ ++lapacke_cbdsqr.o \ ++lapacke_cbdsqr_work.o \ ++lapacke_cgbbrd.o \ ++lapacke_cgbbrd_work.o \ ++lapacke_cgbcon.o \ ++lapacke_cgbcon_work.o \ ++lapacke_cgbequb.o \ ++lapacke_cgbequb_work.o \ ++lapacke_cgbequ.o \ ++lapacke_cgbequ_work.o \ ++lapacke_cgbrfs.o \ ++lapacke_cgbrfs_work.o \ ++lapacke_cgbsv.o \ ++lapacke_cgbsv_work.o \ ++lapacke_cgbsvx.o \ ++lapacke_cgbsvx_work.o \ ++lapacke_cgbtrf.o \ ++lapacke_cgbtrf_work.o \ ++lapacke_cgbtrs.o \ ++lapacke_cgbtrs_work.o \ ++lapacke_cgebak.o \ ++lapacke_cgebak_work.o \ ++lapacke_cgebal.o \ ++lapacke_cgebal_work.o \ ++lapacke_cgebrd.o \ ++lapacke_cgebrd_work.o \ ++lapacke_cgecon.o \ ++lapacke_cgecon_work.o \ ++lapacke_cgeequb.o \ ++lapacke_cgeequb_work.o \ ++lapacke_cgeequ.o \ ++lapacke_cgeequ_work.o \ ++lapacke_cgees.o \ ++lapacke_cgees_work.o \ ++lapacke_cgeesx.o \ ++lapacke_cgeesx_work.o \ ++lapacke_cgeev.o \ ++lapacke_cgeev_work.o \ ++lapacke_cgeevx.o \ ++lapacke_cgeevx_work.o \ ++lapacke_cgehrd.o \ ++lapacke_cgehrd_work.o \ ++lapacke_cgelq2.o \ ++lapacke_cgelq2_work.o \ ++lapacke_cgelqf.o \ ++lapacke_cgelqf_work.o \ ++lapacke_cgels.o \ ++lapacke_cgelsd.o \ ++lapacke_cgelsd_work.o \ ++lapacke_cgelss.o \ ++lapacke_cgelss_work.o \ ++lapacke_cgels_work.o \ ++lapacke_cgelsy.o \ ++lapacke_cgelsy_work.o \ ++lapacke_cgemqrt.o \ ++lapacke_cgemqrt_work.o \ ++lapacke_cgeqlf.o \ ++lapacke_cgeqlf_work.o \ ++lapacke_cgeqp3.o \ ++lapacke_cgeqp3_work.o \ ++lapacke_cgeqpf.o \ ++lapacke_cgeqpf_work.o \ ++lapacke_cgeqr2.o \ ++lapacke_cgeqr2_work.o \ ++lapacke_cgeqrf.o \ ++lapacke_cgeqrfp.o \ ++lapacke_cgeqrfp_work.o \ ++lapacke_cgeqrf_work.o \ ++lapacke_cgeqrt2.o \ ++lapacke_cgeqrt2_work.o \ ++lapacke_cgeqrt3.o \ ++lapacke_cgeqrt3_work.o \ ++lapacke_cgeqrt.o \ ++lapacke_cgeqrt_work.o \ ++lapacke_cgerfs.o \ ++lapacke_cgerfs_work.o \ ++lapacke_cgerqf.o \ ++lapacke_cgerqf_work.o \ ++lapacke_cgesdd.o \ ++lapacke_cgesdd_work.o \ ++lapacke_cgesv.o \ ++lapacke_cgesvd.o \ ++lapacke_cgesvd_work.o \ ++lapacke_cgesv_work.o \ ++lapacke_cgesvx.o \ ++lapacke_cgesvx_work.o \ ++lapacke_cgetf2.o \ ++lapacke_cgetf2_work.o \ ++lapacke_cgetrf.o \ ++lapacke_cgetrf_work.o \ ++lapacke_cgetri.o \ ++lapacke_cgetri_work.o \ ++lapacke_cgetrs.o \ ++lapacke_cgetrs_work.o \ ++lapacke_cggbak.o \ ++lapacke_cggbak_work.o \ ++lapacke_cggbal.o \ ++lapacke_cggbal_work.o \ ++lapacke_cgges.o \ ++lapacke_cgges_work.o \ ++lapacke_cggesx.o \ ++lapacke_cggesx_work.o \ ++lapacke_cggev.o \ ++lapacke_cggev_work.o \ ++lapacke_cggevx.o \ ++lapacke_cggevx_work.o \ ++lapacke_cggglm.o \ ++lapacke_cggglm_work.o \ ++lapacke_cgghrd.o \ ++lapacke_cgghrd_work.o \ ++lapacke_cgglse.o \ ++lapacke_cgglse_work.o \ ++lapacke_cggqrf.o \ ++lapacke_cggqrf_work.o \ ++lapacke_cggrqf.o \ ++lapacke_cggrqf_work.o \ ++lapacke_cggsvd.o \ ++lapacke_cggsvd_work.o \ ++lapacke_cggsvp.o \ ++lapacke_cggsvp_work.o \ ++lapacke_cgtcon.o \ ++lapacke_cgtcon_work.o \ ++lapacke_cgtrfs.o \ ++lapacke_cgtrfs_work.o \ ++lapacke_cgtsv.o \ ++lapacke_cgtsv_work.o \ ++lapacke_cgtsvx.o \ ++lapacke_cgtsvx_work.o \ ++lapacke_cgttrf.o \ ++lapacke_cgttrf_work.o \ ++lapacke_cgttrs.o \ ++lapacke_cgttrs_work.o \ ++lapacke_chbev.o \ ++lapacke_chbevd.o \ ++lapacke_chbevd_work.o \ ++lapacke_chbev_work.o \ ++lapacke_chbevx.o \ ++lapacke_chbevx_work.o \ ++lapacke_chbgst.o \ ++lapacke_chbgst_work.o \ ++lapacke_chbgv.o \ ++lapacke_chbgvd.o \ ++lapacke_chbgvd_work.o \ ++lapacke_chbgv_work.o \ ++lapacke_chbgvx.o \ ++lapacke_chbgvx_work.o \ ++lapacke_chbtrd.o \ ++lapacke_chbtrd_work.o \ ++lapacke_checon.o \ ++lapacke_checon_work.o \ ++lapacke_cheequb.o \ ++lapacke_cheequb_work.o \ ++lapacke_cheev.o \ ++lapacke_cheevd.o \ ++lapacke_cheevd_work.o \ ++lapacke_cheevr.o \ ++lapacke_cheevr_work.o \ ++lapacke_cheev_work.o \ ++lapacke_cheevx.o \ ++lapacke_cheevx_work.o \ ++lapacke_chegst.o \ ++lapacke_chegst_work.o \ ++lapacke_chegv.o \ ++lapacke_chegvd.o \ ++lapacke_chegvd_work.o \ ++lapacke_chegv_work.o \ ++lapacke_chegvx.o \ ++lapacke_chegvx_work.o \ ++lapacke_cherfs.o \ ++lapacke_cherfs_work.o \ ++lapacke_chesv.o \ ++lapacke_chesv_work.o \ ++lapacke_chesvx.o \ ++lapacke_chesvx_work.o \ ++lapacke_cheswapr.o \ ++lapacke_cheswapr_work.o \ ++lapacke_chetrd.o \ ++lapacke_chetrd_work.o \ ++lapacke_chetrf.o \ ++lapacke_chetrf_work.o \ ++lapacke_chetri2.o \ ++lapacke_chetri2_work.o \ ++lapacke_chetri2x.o \ ++lapacke_chetri2x_work.o \ ++lapacke_chetri.o \ ++lapacke_chetri_work.o \ ++lapacke_chetrs2.o \ ++lapacke_chetrs2_work.o \ ++lapacke_chetrs.o \ ++lapacke_chetrs_work.o \ ++lapacke_chfrk.o \ ++lapacke_chfrk_work.o \ ++lapacke_chgeqz.o \ ++lapacke_chgeqz_work.o \ ++lapacke_chpcon.o \ ++lapacke_chpcon_work.o \ ++lapacke_chpev.o \ ++lapacke_chpevd.o \ ++lapacke_chpevd_work.o \ ++lapacke_chpev_work.o \ ++lapacke_chpevx.o \ ++lapacke_chpevx_work.o \ ++lapacke_chpgst.o \ ++lapacke_chpgst_work.o \ ++lapacke_chpgv.o \ ++lapacke_chpgvd.o \ ++lapacke_chpgvd_work.o \ ++lapacke_chpgv_work.o \ ++lapacke_chpgvx.o \ ++lapacke_chpgvx_work.o \ ++lapacke_chprfs.o \ ++lapacke_chprfs_work.o \ ++lapacke_chpsv.o \ ++lapacke_chpsv_work.o \ ++lapacke_chpsvx.o \ ++lapacke_chpsvx_work.o \ ++lapacke_chptrd.o \ ++lapacke_chptrd_work.o \ ++lapacke_chptrf.o \ ++lapacke_chptrf_work.o \ ++lapacke_chptri.o \ ++lapacke_chptri_work.o \ ++lapacke_chptrs.o \ ++lapacke_chptrs_work.o \ ++lapacke_chsein.o \ ++lapacke_chsein_work.o \ ++lapacke_chseqr.o \ ++lapacke_chseqr_work.o \ ++lapacke_clacgv.o \ ++lapacke_clacgv_work.o \ ++lapacke_clacpy.o \ ++lapacke_clacpy_work.o \ ++lapacke_clag2z.o \ ++lapacke_clag2z_work.o \ ++lapacke_clange.o \ ++lapacke_clange_work.o \ ++lapacke_clanhe.o \ ++lapacke_clanhe_work.o \ ++lapacke_clansy.o \ ++lapacke_clansy_work.o \ ++lapacke_clantr.o \ ++lapacke_clantr_work.o \ ++lapacke_clapmr.o \ ++lapacke_clapmr_work.o \ ++lapacke_clarfb.o \ ++lapacke_clarfb_work.o \ ++lapacke_clarfg.o \ ++lapacke_clarfg_work.o \ ++lapacke_clarft.o \ ++lapacke_clarft_work.o \ ++lapacke_clarfx.o \ ++lapacke_clarfx_work.o \ ++lapacke_clarnv.o \ ++lapacke_clarnv_work.o \ ++lapacke_claset.o \ ++lapacke_claset_work.o \ ++lapacke_claswp.o \ ++lapacke_claswp_work.o \ ++lapacke_clauum.o \ ++lapacke_clauum_work.o \ ++lapacke_cpbcon.o \ ++lapacke_cpbcon_work.o \ ++lapacke_cpbequ.o \ ++lapacke_cpbequ_work.o \ ++lapacke_cpbrfs.o \ ++lapacke_cpbrfs_work.o \ ++lapacke_cpbstf.o \ ++lapacke_cpbstf_work.o \ ++lapacke_cpbsv.o \ ++lapacke_cpbsv_work.o \ ++lapacke_cpbsvx.o \ ++lapacke_cpbsvx_work.o \ ++lapacke_cpbtrf.o \ ++lapacke_cpbtrf_work.o \ ++lapacke_cpbtrs.o \ ++lapacke_cpbtrs_work.o \ ++lapacke_cpftrf.o \ ++lapacke_cpftrf_work.o \ ++lapacke_cpftri.o \ ++lapacke_cpftri_work.o \ ++lapacke_cpftrs.o \ ++lapacke_cpftrs_work.o \ ++lapacke_cpocon.o \ ++lapacke_cpocon_work.o \ ++lapacke_cpoequb.o \ ++lapacke_cpoequb_work.o \ ++lapacke_cpoequ.o \ ++lapacke_cpoequ_work.o \ ++lapacke_cporfs.o \ ++lapacke_cporfs_work.o \ ++lapacke_cposv.o \ ++lapacke_cposv_work.o \ ++lapacke_cposvx.o \ ++lapacke_cposvx_work.o \ ++lapacke_cpotrf.o \ ++lapacke_cpotrf_work.o \ ++lapacke_cpotri.o \ ++lapacke_cpotri_work.o \ ++lapacke_cpotrs.o \ ++lapacke_cpotrs_work.o \ ++lapacke_cppcon.o \ ++lapacke_cppcon_work.o \ ++lapacke_cppequ.o \ ++lapacke_cppequ_work.o \ ++lapacke_cpprfs.o \ ++lapacke_cpprfs_work.o \ ++lapacke_cppsv.o \ ++lapacke_cppsv_work.o \ ++lapacke_cppsvx.o \ ++lapacke_cppsvx_work.o \ ++lapacke_cpptrf.o \ ++lapacke_cpptrf_work.o \ ++lapacke_cpptri.o \ ++lapacke_cpptri_work.o \ ++lapacke_cpptrs.o \ ++lapacke_cpptrs_work.o \ ++lapacke_cpstrf.o \ ++lapacke_cpstrf_work.o \ ++lapacke_cptcon.o \ ++lapacke_cptcon_work.o \ ++lapacke_cpteqr.o \ ++lapacke_cpteqr_work.o \ ++lapacke_cptrfs.o \ ++lapacke_cptrfs_work.o \ ++lapacke_cptsv.o \ ++lapacke_cptsv_work.o \ ++lapacke_cptsvx.o \ ++lapacke_cptsvx_work.o \ ++lapacke_cpttrf.o \ ++lapacke_cpttrf_work.o \ ++lapacke_cpttrs.o \ ++lapacke_cpttrs_work.o \ ++lapacke_cspcon.o \ ++lapacke_cspcon_work.o \ ++lapacke_csprfs.o \ ++lapacke_csprfs_work.o \ ++lapacke_cspsv.o \ ++lapacke_cspsv_work.o \ ++lapacke_cspsvx.o \ ++lapacke_cspsvx_work.o \ ++lapacke_csptrf.o \ ++lapacke_csptrf_work.o \ ++lapacke_csptri.o \ ++lapacke_csptri_work.o \ ++lapacke_csptrs.o \ ++lapacke_csptrs_work.o \ ++lapacke_cstedc.o \ ++lapacke_cstedc_work.o \ ++lapacke_cstegr.o \ ++lapacke_cstegr_work.o \ ++lapacke_cstein.o \ ++lapacke_cstein_work.o \ ++lapacke_cstemr.o \ ++lapacke_cstemr_work.o \ ++lapacke_csteqr.o \ ++lapacke_csteqr_work.o \ ++lapacke_csycon.o \ ++lapacke_csyconv.o \ ++lapacke_csyconv_work.o \ ++lapacke_csycon_work.o \ ++lapacke_csyequb.o \ ++lapacke_csyequb_work.o \ ++lapacke_csyrfs.o \ ++lapacke_csyrfs_work.o \ ++lapacke_csysv.o \ ++lapacke_csysv_work.o \ ++lapacke_csysvx.o \ ++lapacke_csysvx_work.o \ ++lapacke_csyswapr.o \ ++lapacke_csyswapr_work.o \ ++lapacke_csytrf.o \ ++lapacke_csytrf_work.o \ ++lapacke_csytri2.o \ ++lapacke_csytri2_work.o \ ++lapacke_csytri2x.o \ ++lapacke_csytri2x_work.o \ ++lapacke_csytri.o \ ++lapacke_csytri_work.o \ ++lapacke_csytrs2.o \ ++lapacke_csytrs2_work.o \ ++lapacke_csytrs.o \ ++lapacke_csytrs_work.o \ ++lapacke_ctbcon.o \ ++lapacke_ctbcon_work.o \ ++lapacke_ctbrfs.o \ ++lapacke_ctbrfs_work.o \ ++lapacke_ctbtrs.o \ ++lapacke_ctbtrs_work.o \ ++lapacke_ctfsm.o \ ++lapacke_ctfsm_work.o \ ++lapacke_ctftri.o \ ++lapacke_ctftri_work.o \ ++lapacke_ctfttp.o \ ++lapacke_ctfttp_work.o \ ++lapacke_ctfttr.o \ ++lapacke_ctfttr_work.o \ ++lapacke_ctgevc.o \ ++lapacke_ctgevc_work.o \ ++lapacke_ctgexc.o \ ++lapacke_ctgexc_work.o \ ++lapacke_ctgsen.o \ ++lapacke_ctgsen_work.o \ ++lapacke_ctgsja.o \ ++lapacke_ctgsja_work.o \ ++lapacke_ctgsna.o \ ++lapacke_ctgsna_work.o \ ++lapacke_ctgsyl.o \ ++lapacke_ctgsyl_work.o \ ++lapacke_ctpcon.o \ ++lapacke_ctpcon_work.o \ ++lapacke_ctpmqrt.o \ ++lapacke_ctpmqrt_work.o \ ++lapacke_ctpqrt2.o \ ++lapacke_ctpqrt2_work.o \ ++lapacke_ctpqrt.o \ ++lapacke_ctpqrt_work.o \ ++lapacke_ctprfb.o \ ++lapacke_ctprfb_work.o \ ++lapacke_ctprfs.o \ ++lapacke_ctprfs_work.o \ ++lapacke_ctptri.o \ ++lapacke_ctptri_work.o \ ++lapacke_ctptrs.o \ ++lapacke_ctptrs_work.o \ ++lapacke_ctpttf.o \ ++lapacke_ctpttf_work.o \ ++lapacke_ctpttr.o \ ++lapacke_ctpttr_work.o \ ++lapacke_ctrcon.o \ ++lapacke_ctrcon_work.o \ ++lapacke_ctrevc.o \ ++lapacke_ctrevc_work.o \ ++lapacke_ctrexc.o \ ++lapacke_ctrexc_work.o \ ++lapacke_ctrrfs.o \ ++lapacke_ctrrfs_work.o \ ++lapacke_ctrsen.o \ ++lapacke_ctrsen_work.o \ ++lapacke_ctrsna.o \ ++lapacke_ctrsna_work.o \ ++lapacke_ctrsyl.o \ ++lapacke_ctrsyl_work.o \ ++lapacke_ctrtri.o \ ++lapacke_ctrtri_work.o \ ++lapacke_ctrtrs.o \ ++lapacke_ctrtrs_work.o \ ++lapacke_ctrttf.o \ ++lapacke_ctrttf_work.o \ ++lapacke_ctrttp.o \ ++lapacke_ctrttp_work.o \ ++lapacke_ctzrzf.o \ ++lapacke_ctzrzf_work.o \ ++lapacke_cunbdb.o \ ++lapacke_cunbdb_work.o \ ++lapacke_cuncsd.o \ ++lapacke_cuncsd_work.o \ ++lapacke_cungbr.o \ ++lapacke_cungbr_work.o \ ++lapacke_cunghr.o \ ++lapacke_cunghr_work.o \ ++lapacke_cunglq.o \ ++lapacke_cunglq_work.o \ ++lapacke_cungql.o \ ++lapacke_cungql_work.o \ ++lapacke_cungqr.o \ ++lapacke_cungqr_work.o \ ++lapacke_cungrq.o \ ++lapacke_cungrq_work.o \ ++lapacke_cungtr.o \ ++lapacke_cungtr_work.o \ ++lapacke_cunmbr.o \ ++lapacke_cunmbr_work.o \ ++lapacke_cunmhr.o \ ++lapacke_cunmhr_work.o \ ++lapacke_cunmlq.o \ ++lapacke_cunmlq_work.o \ ++lapacke_cunmql.o \ ++lapacke_cunmql_work.o \ ++lapacke_cunmqr.o \ ++lapacke_cunmqr_work.o \ ++lapacke_cunmrq.o \ ++lapacke_cunmrq_work.o \ ++lapacke_cunmrz.o \ ++lapacke_cunmrz_work.o \ ++lapacke_cunmtr.o \ ++lapacke_cunmtr_work.o \ ++lapacke_cupgtr.o \ ++lapacke_cupgtr_work.o \ ++lapacke_cupmtr.o \ ++lapacke_cupmtr_work.o \ ++lapacke_dbbcsd.o \ ++lapacke_dbbcsd_work.o \ ++lapacke_dbdsdc.o \ ++lapacke_dbdsdc_work.o \ ++lapacke_dbdsqr.o \ ++lapacke_dbdsqr_work.o \ ++lapacke_ddisna.o \ ++lapacke_ddisna_work.o \ ++lapacke_dgbbrd.o \ ++lapacke_dgbbrd_work.o \ ++lapacke_dgbcon.o \ ++lapacke_dgbcon_work.o \ ++lapacke_dgbequb.o \ ++lapacke_dgbequb_work.o \ ++lapacke_dgbequ.o \ ++lapacke_dgbequ_work.o \ ++lapacke_dgbrfs.o \ ++lapacke_dgbrfs_work.o \ ++lapacke_dgbsv.o \ ++lapacke_dgbsv_work.o \ ++lapacke_dgbsvx.o \ ++lapacke_dgbsvx_work.o \ ++lapacke_dgbtrf.o \ ++lapacke_dgbtrf_work.o \ ++lapacke_dgbtrs.o \ ++lapacke_dgbtrs_work.o \ ++lapacke_dgebak.o \ ++lapacke_dgebak_work.o \ ++lapacke_dgebal.o \ ++lapacke_dgebal_work.o \ ++lapacke_dgebrd.o \ ++lapacke_dgebrd_work.o \ ++lapacke_dgecon.o \ ++lapacke_dgecon_work.o \ ++lapacke_dgeequb.o \ ++lapacke_dgeequb_work.o \ ++lapacke_dgeequ.o \ ++lapacke_dgeequ_work.o \ ++lapacke_dgees.o \ ++lapacke_dgees_work.o \ ++lapacke_dgeesx.o \ ++lapacke_dgeesx_work.o \ ++lapacke_dgeev.o \ ++lapacke_dgeev_work.o \ ++lapacke_dgeevx.o \ ++lapacke_dgeevx_work.o \ ++lapacke_dgehrd.o \ ++lapacke_dgehrd_work.o \ ++lapacke_dgejsv.o \ ++lapacke_dgejsv_work.o \ ++lapacke_dgelq2.o \ ++lapacke_dgelq2_work.o \ ++lapacke_dgelqf.o \ ++lapacke_dgelqf_work.o \ ++lapacke_dgels.o \ ++lapacke_dgelsd.o \ ++lapacke_dgelsd_work.o \ ++lapacke_dgelss.o \ ++lapacke_dgelss_work.o \ ++lapacke_dgels_work.o \ ++lapacke_dgelsy.o \ ++lapacke_dgelsy_work.o \ ++lapacke_dgemqrt.o \ ++lapacke_dgemqrt_work.o \ ++lapacke_dgeqlf.o \ ++lapacke_dgeqlf_work.o \ ++lapacke_dgeqp3.o \ ++lapacke_dgeqp3_work.o \ ++lapacke_dgeqpf.o \ ++lapacke_dgeqpf_work.o \ ++lapacke_dgeqr2.o \ ++lapacke_dgeqr2_work.o \ ++lapacke_dgeqrf.o \ ++lapacke_dgeqrfp.o \ ++lapacke_dgeqrfp_work.o \ ++lapacke_dgeqrf_work.o \ ++lapacke_dgeqrt2.o \ ++lapacke_dgeqrt2_work.o \ ++lapacke_dgeqrt3.o \ ++lapacke_dgeqrt3_work.o \ ++lapacke_dgeqrt.o \ ++lapacke_dgeqrt_work.o \ ++lapacke_dgerfs.o \ ++lapacke_dgerfs_work.o \ ++lapacke_dgerqf.o \ ++lapacke_dgerqf_work.o \ ++lapacke_dgesdd.o \ ++lapacke_dgesdd_work.o \ ++lapacke_dgesv.o \ ++lapacke_dgesvd.o \ ++lapacke_dgesvd_work.o \ ++lapacke_dgesvj.o \ ++lapacke_dgesvj_work.o \ ++lapacke_dgesv_work.o \ ++lapacke_dgesvx.o \ ++lapacke_dgesvx_work.o \ ++lapacke_dgetf2.o \ ++lapacke_dgetf2_work.o \ ++lapacke_dgetrf.o \ ++lapacke_dgetrf_work.o \ ++lapacke_dgetri.o \ ++lapacke_dgetri_work.o \ ++lapacke_dgetrs.o \ ++lapacke_dgetrs_work.o \ ++lapacke_dggbak.o \ ++lapacke_dggbak_work.o \ ++lapacke_dggbal.o \ ++lapacke_dggbal_work.o \ ++lapacke_dgges.o \ ++lapacke_dgges_work.o \ ++lapacke_dggesx.o \ ++lapacke_dggesx_work.o \ ++lapacke_dggev.o \ ++lapacke_dggev_work.o \ ++lapacke_dggevx.o \ ++lapacke_dggevx_work.o \ ++lapacke_dggglm.o \ ++lapacke_dggglm_work.o \ ++lapacke_dgghrd.o \ ++lapacke_dgghrd_work.o \ ++lapacke_dgglse.o \ ++lapacke_dgglse_work.o \ ++lapacke_dggqrf.o \ ++lapacke_dggqrf_work.o \ ++lapacke_dggrqf.o \ ++lapacke_dggrqf_work.o \ ++lapacke_dggsvd.o \ ++lapacke_dggsvd_work.o \ ++lapacke_dggsvp.o \ ++lapacke_dggsvp_work.o \ ++lapacke_dgtcon.o \ ++lapacke_dgtcon_work.o \ ++lapacke_dgtrfs.o \ ++lapacke_dgtrfs_work.o \ ++lapacke_dgtsv.o \ ++lapacke_dgtsv_work.o \ ++lapacke_dgtsvx.o \ ++lapacke_dgtsvx_work.o \ ++lapacke_dgttrf.o \ ++lapacke_dgttrf_work.o \ ++lapacke_dgttrs.o \ ++lapacke_dgttrs_work.o \ ++lapacke_dhgeqz.o \ ++lapacke_dhgeqz_work.o \ ++lapacke_dhsein.o \ ++lapacke_dhsein_work.o \ ++lapacke_dhseqr.o \ ++lapacke_dhseqr_work.o \ ++lapacke_dlacpy.o \ ++lapacke_dlacpy_work.o \ ++lapacke_dlag2s.o \ ++lapacke_dlag2s_work.o \ ++lapacke_dlamch.o \ ++lapacke_dlamch_work.o \ ++lapacke_dlange.o \ ++lapacke_dlange_work.o \ ++lapacke_dlansy.o \ ++lapacke_dlansy_work.o \ ++lapacke_dlantr.o \ ++lapacke_dlantr_work.o \ ++lapacke_dlapmr.o \ ++lapacke_dlapmr_work.o \ ++lapacke_dlapy2.o \ ++lapacke_dlapy2_work.o \ ++lapacke_dlapy3.o \ ++lapacke_dlapy3_work.o \ ++lapacke_dlarfb.o \ ++lapacke_dlarfb_work.o \ ++lapacke_dlarfg.o \ ++lapacke_dlarfg_work.o \ ++lapacke_dlarft.o \ ++lapacke_dlarft_work.o \ ++lapacke_dlarfx.o \ ++lapacke_dlarfx_work.o \ ++lapacke_dlarnv.o \ ++lapacke_dlarnv_work.o \ ++lapacke_dlartgp.o \ ++lapacke_dlartgp_work.o \ ++lapacke_dlartgs.o \ ++lapacke_dlartgs_work.o \ ++lapacke_dlaset.o \ ++lapacke_dlaset_work.o \ ++lapacke_dlasrt.o \ ++lapacke_dlasrt_work.o \ ++lapacke_dlaswp.o \ ++lapacke_dlaswp_work.o \ ++lapacke_dlauum.o \ ++lapacke_dlauum_work.o \ ++lapacke_dopgtr.o \ ++lapacke_dopgtr_work.o \ ++lapacke_dopmtr.o \ ++lapacke_dopmtr_work.o \ ++lapacke_dorbdb.o \ ++lapacke_dorbdb_work.o \ ++lapacke_dorcsd.o \ ++lapacke_dorcsd_work.o \ ++lapacke_dorgbr.o \ ++lapacke_dorgbr_work.o \ ++lapacke_dorghr.o \ ++lapacke_dorghr_work.o \ ++lapacke_dorglq.o \ ++lapacke_dorglq_work.o \ ++lapacke_dorgql.o \ ++lapacke_dorgql_work.o \ ++lapacke_dorgqr.o \ ++lapacke_dorgqr_work.o \ ++lapacke_dorgrq.o \ ++lapacke_dorgrq_work.o \ ++lapacke_dorgtr.o \ ++lapacke_dorgtr_work.o \ ++lapacke_dormbr.o \ ++lapacke_dormbr_work.o \ ++lapacke_dormhr.o \ ++lapacke_dormhr_work.o \ ++lapacke_dormlq.o \ ++lapacke_dormlq_work.o \ ++lapacke_dormql.o \ ++lapacke_dormql_work.o \ ++lapacke_dormqr.o \ ++lapacke_dormqr_work.o \ ++lapacke_dormrq.o \ ++lapacke_dormrq_work.o \ ++lapacke_dormrz.o \ ++lapacke_dormrz_work.o \ ++lapacke_dormtr.o \ ++lapacke_dormtr_work.o \ ++lapacke_dpbcon.o \ ++lapacke_dpbcon_work.o \ ++lapacke_dpbequ.o \ ++lapacke_dpbequ_work.o \ ++lapacke_dpbrfs.o \ ++lapacke_dpbrfs_work.o \ ++lapacke_dpbstf.o \ ++lapacke_dpbstf_work.o \ ++lapacke_dpbsv.o \ ++lapacke_dpbsv_work.o \ ++lapacke_dpbsvx.o \ ++lapacke_dpbsvx_work.o \ ++lapacke_dpbtrf.o \ ++lapacke_dpbtrf_work.o \ ++lapacke_dpbtrs.o \ ++lapacke_dpbtrs_work.o \ ++lapacke_dpftrf.o \ ++lapacke_dpftrf_work.o \ ++lapacke_dpftri.o \ ++lapacke_dpftri_work.o \ ++lapacke_dpftrs.o \ ++lapacke_dpftrs_work.o \ ++lapacke_dpocon.o \ ++lapacke_dpocon_work.o \ ++lapacke_dpoequb.o \ ++lapacke_dpoequb_work.o \ ++lapacke_dpoequ.o \ ++lapacke_dpoequ_work.o \ ++lapacke_dporfs.o \ ++lapacke_dporfs_work.o \ ++lapacke_dposv.o \ ++lapacke_dposv_work.o \ ++lapacke_dposvx.o \ ++lapacke_dposvx_work.o \ ++lapacke_dpotrf.o \ ++lapacke_dpotrf_work.o \ ++lapacke_dpotri.o \ ++lapacke_dpotri_work.o \ ++lapacke_dpotrs.o \ ++lapacke_dpotrs_work.o \ ++lapacke_dppcon.o \ ++lapacke_dppcon_work.o \ ++lapacke_dppequ.o \ ++lapacke_dppequ_work.o \ ++lapacke_dpprfs.o \ ++lapacke_dpprfs_work.o \ ++lapacke_dppsv.o \ ++lapacke_dppsv_work.o \ ++lapacke_dppsvx.o \ ++lapacke_dppsvx_work.o \ ++lapacke_dpptrf.o \ ++lapacke_dpptrf_work.o \ ++lapacke_dpptri.o \ ++lapacke_dpptri_work.o \ ++lapacke_dpptrs.o \ ++lapacke_dpptrs_work.o \ ++lapacke_dpstrf.o \ ++lapacke_dpstrf_work.o \ ++lapacke_dptcon.o \ ++lapacke_dptcon_work.o \ ++lapacke_dpteqr.o \ ++lapacke_dpteqr_work.o \ ++lapacke_dptrfs.o \ ++lapacke_dptrfs_work.o \ ++lapacke_dptsv.o \ ++lapacke_dptsv_work.o \ ++lapacke_dptsvx.o \ ++lapacke_dptsvx_work.o \ ++lapacke_dpttrf.o \ ++lapacke_dpttrf_work.o \ ++lapacke_dpttrs.o \ ++lapacke_dpttrs_work.o \ ++lapacke_dsbev.o \ ++lapacke_dsbevd.o \ ++lapacke_dsbevd_work.o \ ++lapacke_dsbev_work.o \ ++lapacke_dsbevx.o \ ++lapacke_dsbevx_work.o \ ++lapacke_dsbgst.o \ ++lapacke_dsbgst_work.o \ ++lapacke_dsbgv.o \ ++lapacke_dsbgvd.o \ ++lapacke_dsbgvd_work.o \ ++lapacke_dsbgv_work.o \ ++lapacke_dsbgvx.o \ ++lapacke_dsbgvx_work.o \ ++lapacke_dsbtrd.o \ ++lapacke_dsbtrd_work.o \ ++lapacke_dsfrk.o \ ++lapacke_dsfrk_work.o \ ++lapacke_dsgesv.o \ ++lapacke_dsgesv_work.o \ ++lapacke_dspcon.o \ ++lapacke_dspcon_work.o \ ++lapacke_dspev.o \ ++lapacke_dspevd.o \ ++lapacke_dspevd_work.o \ ++lapacke_dspev_work.o \ ++lapacke_dspevx.o \ ++lapacke_dspevx_work.o \ ++lapacke_dspgst.o \ ++lapacke_dspgst_work.o \ ++lapacke_dspgv.o \ ++lapacke_dspgvd.o \ ++lapacke_dspgvd_work.o \ ++lapacke_dspgv_work.o \ ++lapacke_dspgvx.o \ ++lapacke_dspgvx_work.o \ ++lapacke_dsposv.o \ ++lapacke_dsposv_work.o \ ++lapacke_dsprfs.o \ ++lapacke_dsprfs_work.o \ ++lapacke_dspsv.o \ ++lapacke_dspsv_work.o \ ++lapacke_dspsvx.o \ ++lapacke_dspsvx_work.o \ ++lapacke_dsptrd.o \ ++lapacke_dsptrd_work.o \ ++lapacke_dsptrf.o \ ++lapacke_dsptrf_work.o \ ++lapacke_dsptri.o \ ++lapacke_dsptri_work.o \ ++lapacke_dsptrs.o \ ++lapacke_dsptrs_work.o \ ++lapacke_dstebz.o \ ++lapacke_dstebz_work.o \ ++lapacke_dstedc.o \ ++lapacke_dstedc_work.o \ ++lapacke_dstegr.o \ ++lapacke_dstegr_work.o \ ++lapacke_dstein.o \ ++lapacke_dstein_work.o \ ++lapacke_dstemr.o \ ++lapacke_dstemr_work.o \ ++lapacke_dsteqr.o \ ++lapacke_dsteqr_work.o \ ++lapacke_dsterf.o \ ++lapacke_dsterf_work.o \ ++lapacke_dstev.o \ ++lapacke_dstevd.o \ ++lapacke_dstevd_work.o \ ++lapacke_dstevr.o \ ++lapacke_dstevr_work.o \ ++lapacke_dstev_work.o \ ++lapacke_dstevx.o \ ++lapacke_dstevx_work.o \ ++lapacke_dsycon.o \ ++lapacke_dsyconv.o \ ++lapacke_dsyconv_work.o \ ++lapacke_dsycon_work.o \ ++lapacke_dsyequb.o \ ++lapacke_dsyequb_work.o \ ++lapacke_dsyev.o \ ++lapacke_dsyevd.o \ ++lapacke_dsyevd_work.o \ ++lapacke_dsyevr.o \ ++lapacke_dsyevr_work.o \ ++lapacke_dsyev_work.o \ ++lapacke_dsyevx.o \ ++lapacke_dsyevx_work.o \ ++lapacke_dsygst.o \ ++lapacke_dsygst_work.o \ ++lapacke_dsygv.o \ ++lapacke_dsygvd.o \ ++lapacke_dsygvd_work.o \ ++lapacke_dsygv_work.o \ ++lapacke_dsygvx.o \ ++lapacke_dsygvx_work.o \ ++lapacke_dsyrfs.o \ ++lapacke_dsyrfs_work.o \ ++lapacke_dsysv.o \ ++lapacke_dsysv_work.o \ ++lapacke_dsysvx.o \ ++lapacke_dsysvx_work.o \ ++lapacke_dsyswapr.o \ ++lapacke_dsyswapr_work.o \ ++lapacke_dsytrd.o \ ++lapacke_dsytrd_work.o \ ++lapacke_dsytrf.o \ ++lapacke_dsytrf_work.o \ ++lapacke_dsytri2.o \ ++lapacke_dsytri2_work.o \ ++lapacke_dsytri2x.o \ ++lapacke_dsytri2x_work.o \ ++lapacke_dsytri.o \ ++lapacke_dsytri_work.o \ ++lapacke_dsytrs2.o \ ++lapacke_dsytrs2_work.o \ ++lapacke_dsytrs.o \ ++lapacke_dsytrs_work.o \ ++lapacke_dtbcon.o \ ++lapacke_dtbcon_work.o \ ++lapacke_dtbrfs.o \ ++lapacke_dtbrfs_work.o \ ++lapacke_dtbtrs.o \ ++lapacke_dtbtrs_work.o \ ++lapacke_dtfsm.o \ ++lapacke_dtfsm_work.o \ ++lapacke_dtftri.o \ ++lapacke_dtftri_work.o \ ++lapacke_dtfttp.o \ ++lapacke_dtfttp_work.o \ ++lapacke_dtfttr.o \ ++lapacke_dtfttr_work.o \ ++lapacke_dtgevc.o \ ++lapacke_dtgevc_work.o \ ++lapacke_dtgexc.o \ ++lapacke_dtgexc_work.o \ ++lapacke_dtgsen.o \ ++lapacke_dtgsen_work.o \ ++lapacke_dtgsja.o \ ++lapacke_dtgsja_work.o \ ++lapacke_dtgsna.o \ ++lapacke_dtgsna_work.o \ ++lapacke_dtgsyl.o \ ++lapacke_dtgsyl_work.o \ ++lapacke_dtpcon.o \ ++lapacke_dtpcon_work.o \ ++lapacke_dtpmqrt.o \ ++lapacke_dtpmqrt_work.o \ ++lapacke_dtpqrt2.o \ ++lapacke_dtpqrt2_work.o \ ++lapacke_dtpqrt.o \ ++lapacke_dtpqrt_work.o \ ++lapacke_dtprfb.o \ ++lapacke_dtprfb_work.o \ ++lapacke_dtprfs.o \ ++lapacke_dtprfs_work.o \ ++lapacke_dtptri.o \ ++lapacke_dtptri_work.o \ ++lapacke_dtptrs.o \ ++lapacke_dtptrs_work.o \ ++lapacke_dtpttf.o \ ++lapacke_dtpttf_work.o \ ++lapacke_dtpttr.o \ ++lapacke_dtpttr_work.o \ ++lapacke_dtrcon.o \ ++lapacke_dtrcon_work.o \ ++lapacke_dtrevc.o \ ++lapacke_dtrevc_work.o \ ++lapacke_dtrexc.o \ ++lapacke_dtrexc_work.o \ ++lapacke_dtrrfs.o \ ++lapacke_dtrrfs_work.o \ ++lapacke_dtrsen.o \ ++lapacke_dtrsen_work.o \ ++lapacke_dtrsna.o \ ++lapacke_dtrsna_work.o \ ++lapacke_dtrsyl.o \ ++lapacke_dtrsyl_work.o \ ++lapacke_dtrtri.o \ ++lapacke_dtrtri_work.o \ ++lapacke_dtrtrs.o \ ++lapacke_dtrtrs_work.o \ ++lapacke_dtrttf.o \ ++lapacke_dtrttf_work.o \ ++lapacke_dtrttp.o \ ++lapacke_dtrttp_work.o \ ++lapacke_dtzrzf.o \ ++lapacke_dtzrzf_work.o \ ++lapacke_sbbcsd.o \ ++lapacke_sbbcsd_work.o \ ++lapacke_sbdsdc.o \ ++lapacke_sbdsdc_work.o \ ++lapacke_sbdsqr.o \ ++lapacke_sbdsqr_work.o \ ++lapacke_sdisna.o \ ++lapacke_sdisna_work.o \ ++lapacke_sgbbrd.o \ ++lapacke_sgbbrd_work.o \ ++lapacke_sgbcon.o \ ++lapacke_sgbcon_work.o \ ++lapacke_sgbequb.o \ ++lapacke_sgbequb_work.o \ ++lapacke_sgbequ.o \ ++lapacke_sgbequ_work.o \ ++lapacke_sgbrfs.o \ ++lapacke_sgbrfs_work.o \ ++lapacke_sgbsv.o \ ++lapacke_sgbsv_work.o \ ++lapacke_sgbsvx.o \ ++lapacke_sgbsvx_work.o \ ++lapacke_sgbtrf.o \ ++lapacke_sgbtrf_work.o \ ++lapacke_sgbtrs.o \ ++lapacke_sgbtrs_work.o \ ++lapacke_sgebak.o \ ++lapacke_sgebak_work.o \ ++lapacke_sgebal.o \ ++lapacke_sgebal_work.o \ ++lapacke_sgebrd.o \ ++lapacke_sgebrd_work.o \ ++lapacke_sgecon.o \ ++lapacke_sgecon_work.o \ ++lapacke_sgeequb.o \ ++lapacke_sgeequb_work.o \ ++lapacke_sgeequ.o \ ++lapacke_sgeequ_work.o \ ++lapacke_sgees.o \ ++lapacke_sgees_work.o \ ++lapacke_sgeesx.o \ ++lapacke_sgeesx_work.o \ ++lapacke_sgeev.o \ ++lapacke_sgeev_work.o \ ++lapacke_sgeevx.o \ ++lapacke_sgeevx_work.o \ ++lapacke_sgehrd.o \ ++lapacke_sgehrd_work.o \ ++lapacke_sgejsv.o \ ++lapacke_sgejsv_work.o \ ++lapacke_sgelq2.o \ ++lapacke_sgelq2_work.o \ ++lapacke_sgelqf.o \ ++lapacke_sgelqf_work.o \ ++lapacke_sgels.o \ ++lapacke_sgelsd.o \ ++lapacke_sgelsd_work.o \ ++lapacke_sgelss.o \ ++lapacke_sgelss_work.o \ ++lapacke_sgels_work.o \ ++lapacke_sgelsy.o \ ++lapacke_sgelsy_work.o \ ++lapacke_sgemqrt.o \ ++lapacke_sgemqrt_work.o \ ++lapacke_sgeqlf.o \ ++lapacke_sgeqlf_work.o \ ++lapacke_sgeqp3.o \ ++lapacke_sgeqp3_work.o \ ++lapacke_sgeqpf.o \ ++lapacke_sgeqpf_work.o \ ++lapacke_sgeqr2.o \ ++lapacke_sgeqr2_work.o \ ++lapacke_sgeqrf.o \ ++lapacke_sgeqrfp.o \ ++lapacke_sgeqrfp_work.o \ ++lapacke_sgeqrf_work.o \ ++lapacke_sgeqrt2.o \ ++lapacke_sgeqrt2_work.o \ ++lapacke_sgeqrt3.o \ ++lapacke_sgeqrt3_work.o \ ++lapacke_sgeqrt.o \ ++lapacke_sgeqrt_work.o \ ++lapacke_sgerfs.o \ ++lapacke_sgerfs_work.o \ ++lapacke_sgerqf.o \ ++lapacke_sgerqf_work.o \ ++lapacke_sgesdd.o \ ++lapacke_sgesdd_work.o \ ++lapacke_sgesv.o \ ++lapacke_sgesvd.o \ ++lapacke_sgesvd_work.o \ ++lapacke_sgesvj.o \ ++lapacke_sgesvj_work.o \ ++lapacke_sgesv_work.o \ ++lapacke_sgesvx.o \ ++lapacke_sgesvx_work.o \ ++lapacke_sgetf2.o \ ++lapacke_sgetf2_work.o \ ++lapacke_sgetrf.o \ ++lapacke_sgetrf_work.o \ ++lapacke_sgetri.o \ ++lapacke_sgetri_work.o \ ++lapacke_sgetrs.o \ ++lapacke_sgetrs_work.o \ ++lapacke_sggbak.o \ ++lapacke_sggbak_work.o \ ++lapacke_sggbal.o \ ++lapacke_sggbal_work.o \ ++lapacke_sgges.o \ ++lapacke_sgges_work.o \ ++lapacke_sggesx.o \ ++lapacke_sggesx_work.o \ ++lapacke_sggev.o \ ++lapacke_sggev_work.o \ ++lapacke_sggevx.o \ ++lapacke_sggevx_work.o \ ++lapacke_sggglm.o \ ++lapacke_sggglm_work.o \ ++lapacke_sgghrd.o \ ++lapacke_sgghrd_work.o \ ++lapacke_sgglse.o \ ++lapacke_sgglse_work.o \ ++lapacke_sggqrf.o \ ++lapacke_sggqrf_work.o \ ++lapacke_sggrqf.o \ ++lapacke_sggrqf_work.o \ ++lapacke_sggsvd.o \ ++lapacke_sggsvd_work.o \ ++lapacke_sggsvp.o \ ++lapacke_sggsvp_work.o \ ++lapacke_sgtcon.o \ ++lapacke_sgtcon_work.o \ ++lapacke_sgtrfs.o \ ++lapacke_sgtrfs_work.o \ ++lapacke_sgtsv.o \ ++lapacke_sgtsv_work.o \ ++lapacke_sgtsvx.o \ ++lapacke_sgtsvx_work.o \ ++lapacke_sgttrf.o \ ++lapacke_sgttrf_work.o \ ++lapacke_sgttrs.o \ ++lapacke_sgttrs_work.o \ ++lapacke_shgeqz.o \ ++lapacke_shgeqz_work.o \ ++lapacke_shsein.o \ ++lapacke_shsein_work.o \ ++lapacke_shseqr.o \ ++lapacke_shseqr_work.o \ ++lapacke_slacpy.o \ ++lapacke_slacpy_work.o \ ++lapacke_slag2d.o \ ++lapacke_slag2d_work.o \ ++lapacke_slamch.o \ ++lapacke_slamch_work.o \ ++lapacke_slange.o \ ++lapacke_slange_work.o \ ++lapacke_slansy.o \ ++lapacke_slansy_work.o \ ++lapacke_slantr.o \ ++lapacke_slantr_work.o \ ++lapacke_slapmr.o \ ++lapacke_slapmr_work.o \ ++lapacke_slapy2.o \ ++lapacke_slapy2_work.o \ ++lapacke_slapy3.o \ ++lapacke_slapy3_work.o \ ++lapacke_slarfb.o \ ++lapacke_slarfb_work.o \ ++lapacke_slarfg.o \ ++lapacke_slarfg_work.o \ ++lapacke_slarft.o \ ++lapacke_slarft_work.o \ ++lapacke_slarfx.o \ ++lapacke_slarfx_work.o \ ++lapacke_slarnv.o \ ++lapacke_slarnv_work.o \ ++lapacke_slartgp.o \ ++lapacke_slartgp_work.o \ ++lapacke_slartgs.o \ ++lapacke_slartgs_work.o \ ++lapacke_slaset.o \ ++lapacke_slaset_work.o \ ++lapacke_slasrt.o \ ++lapacke_slasrt_work.o \ ++lapacke_slaswp.o \ ++lapacke_slaswp_work.o \ ++lapacke_slauum.o \ ++lapacke_slauum_work.o \ ++lapacke_sopgtr.o \ ++lapacke_sopgtr_work.o \ ++lapacke_sopmtr.o \ ++lapacke_sopmtr_work.o \ ++lapacke_sorbdb.o \ ++lapacke_sorbdb_work.o \ ++lapacke_sorcsd.o \ ++lapacke_sorcsd_work.o \ ++lapacke_sorgbr.o \ ++lapacke_sorgbr_work.o \ ++lapacke_sorghr.o \ ++lapacke_sorghr_work.o \ ++lapacke_sorglq.o \ ++lapacke_sorglq_work.o \ ++lapacke_sorgql.o \ ++lapacke_sorgql_work.o \ ++lapacke_sorgqr.o \ ++lapacke_sorgqr_work.o \ ++lapacke_sorgrq.o \ ++lapacke_sorgrq_work.o \ ++lapacke_sorgtr.o \ ++lapacke_sorgtr_work.o \ ++lapacke_sormbr.o \ ++lapacke_sormbr_work.o \ ++lapacke_sormhr.o \ ++lapacke_sormhr_work.o \ ++lapacke_sormlq.o \ ++lapacke_sormlq_work.o \ ++lapacke_sormql.o \ ++lapacke_sormql_work.o \ ++lapacke_sormqr.o \ ++lapacke_sormqr_work.o \ ++lapacke_sormrq.o \ ++lapacke_sormrq_work.o \ ++lapacke_sormrz.o \ ++lapacke_sormrz_work.o \ ++lapacke_sormtr.o \ ++lapacke_sormtr_work.o \ ++lapacke_spbcon.o \ ++lapacke_spbcon_work.o \ ++lapacke_spbequ.o \ ++lapacke_spbequ_work.o \ ++lapacke_spbrfs.o \ ++lapacke_spbrfs_work.o \ ++lapacke_spbstf.o \ ++lapacke_spbstf_work.o \ ++lapacke_spbsv.o \ ++lapacke_spbsv_work.o \ ++lapacke_spbsvx.o \ ++lapacke_spbsvx_work.o \ ++lapacke_spbtrf.o \ ++lapacke_spbtrf_work.o \ ++lapacke_spbtrs.o \ ++lapacke_spbtrs_work.o \ ++lapacke_spftrf.o \ ++lapacke_spftrf_work.o \ ++lapacke_spftri.o \ ++lapacke_spftri_work.o \ ++lapacke_spftrs.o \ ++lapacke_spftrs_work.o \ ++lapacke_spocon.o \ ++lapacke_spocon_work.o \ ++lapacke_spoequb.o \ ++lapacke_spoequb_work.o \ ++lapacke_spoequ.o \ ++lapacke_spoequ_work.o \ ++lapacke_sporfs.o \ ++lapacke_sporfs_work.o \ ++lapacke_sposv.o \ ++lapacke_sposv_work.o \ ++lapacke_sposvx.o \ ++lapacke_sposvx_work.o \ ++lapacke_spotrf.o \ ++lapacke_spotrf_work.o \ ++lapacke_spotri.o \ ++lapacke_spotri_work.o \ ++lapacke_spotrs.o \ ++lapacke_spotrs_work.o \ ++lapacke_sppcon.o \ ++lapacke_sppcon_work.o \ ++lapacke_sppequ.o \ ++lapacke_sppequ_work.o \ ++lapacke_spprfs.o \ ++lapacke_spprfs_work.o \ ++lapacke_sppsv.o \ ++lapacke_sppsv_work.o \ ++lapacke_sppsvx.o \ ++lapacke_sppsvx_work.o \ ++lapacke_spptrf.o \ ++lapacke_spptrf_work.o \ ++lapacke_spptri.o \ ++lapacke_spptri_work.o \ ++lapacke_spptrs.o \ ++lapacke_spptrs_work.o \ ++lapacke_spstrf.o \ ++lapacke_spstrf_work.o \ ++lapacke_sptcon.o \ ++lapacke_sptcon_work.o \ ++lapacke_spteqr.o \ ++lapacke_spteqr_work.o \ ++lapacke_sptrfs.o \ ++lapacke_sptrfs_work.o \ ++lapacke_sptsv.o \ ++lapacke_sptsv_work.o \ ++lapacke_sptsvx.o \ ++lapacke_sptsvx_work.o \ ++lapacke_spttrf.o \ ++lapacke_spttrf_work.o \ ++lapacke_spttrs.o \ ++lapacke_spttrs_work.o \ ++lapacke_ssbev.o \ ++lapacke_ssbevd.o \ ++lapacke_ssbevd_work.o \ ++lapacke_ssbev_work.o \ ++lapacke_ssbevx.o \ ++lapacke_ssbevx_work.o \ ++lapacke_ssbgst.o \ ++lapacke_ssbgst_work.o \ ++lapacke_ssbgv.o \ ++lapacke_ssbgvd.o \ ++lapacke_ssbgvd_work.o \ ++lapacke_ssbgv_work.o \ ++lapacke_ssbgvx.o \ ++lapacke_ssbgvx_work.o \ ++lapacke_ssbtrd.o \ ++lapacke_ssbtrd_work.o \ ++lapacke_ssfrk.o \ ++lapacke_ssfrk_work.o \ ++lapacke_sspcon.o \ ++lapacke_sspcon_work.o \ ++lapacke_sspev.o \ ++lapacke_sspevd.o \ ++lapacke_sspevd_work.o \ ++lapacke_sspev_work.o \ ++lapacke_sspevx.o \ ++lapacke_sspevx_work.o \ ++lapacke_sspgst.o \ ++lapacke_sspgst_work.o \ ++lapacke_sspgv.o \ ++lapacke_sspgvd.o \ ++lapacke_sspgvd_work.o \ ++lapacke_sspgv_work.o \ ++lapacke_sspgvx.o \ ++lapacke_sspgvx_work.o \ ++lapacke_ssprfs.o \ ++lapacke_ssprfs_work.o \ ++lapacke_sspsv.o \ ++lapacke_sspsv_work.o \ ++lapacke_sspsvx.o \ ++lapacke_sspsvx_work.o \ ++lapacke_ssptrd.o \ ++lapacke_ssptrd_work.o \ ++lapacke_ssptrf.o \ ++lapacke_ssptrf_work.o \ ++lapacke_ssptri.o \ ++lapacke_ssptri_work.o \ ++lapacke_ssptrs.o \ ++lapacke_ssptrs_work.o \ ++lapacke_sstebz.o \ ++lapacke_sstebz_work.o \ ++lapacke_sstedc.o \ ++lapacke_sstedc_work.o \ ++lapacke_sstegr.o \ ++lapacke_sstegr_work.o \ ++lapacke_sstein.o \ ++lapacke_sstein_work.o \ ++lapacke_sstemr.o \ ++lapacke_sstemr_work.o \ ++lapacke_ssteqr.o \ ++lapacke_ssteqr_work.o \ ++lapacke_ssterf.o \ ++lapacke_ssterf_work.o \ ++lapacke_sstev.o \ ++lapacke_sstevd.o \ ++lapacke_sstevd_work.o \ ++lapacke_sstevr.o \ ++lapacke_sstevr_work.o \ ++lapacke_sstev_work.o \ ++lapacke_sstevx.o \ ++lapacke_sstevx_work.o \ ++lapacke_ssycon.o \ ++lapacke_ssyconv.o \ ++lapacke_ssyconv_work.o \ ++lapacke_ssycon_work.o \ ++lapacke_ssyequb.o \ ++lapacke_ssyequb_work.o \ ++lapacke_ssyev.o \ ++lapacke_ssyevd.o \ ++lapacke_ssyevd_work.o \ ++lapacke_ssyevr.o \ ++lapacke_ssyevr_work.o \ ++lapacke_ssyev_work.o \ ++lapacke_ssyevx.o \ ++lapacke_ssyevx_work.o \ ++lapacke_ssygst.o \ ++lapacke_ssygst_work.o \ ++lapacke_ssygv.o \ ++lapacke_ssygvd.o \ ++lapacke_ssygvd_work.o \ ++lapacke_ssygv_work.o \ ++lapacke_ssygvx.o \ ++lapacke_ssygvx_work.o \ ++lapacke_ssyrfs.o \ ++lapacke_ssyrfs_work.o \ ++lapacke_ssysv.o \ ++lapacke_ssysv_work.o \ ++lapacke_ssysvx.o \ ++lapacke_ssysvx_work.o \ ++lapacke_ssyswapr.o \ ++lapacke_ssyswapr_work.o \ ++lapacke_ssytrd.o \ ++lapacke_ssytrd_work.o \ ++lapacke_ssytrf.o \ ++lapacke_ssytrf_work.o \ ++lapacke_ssytri2.o \ ++lapacke_ssytri2_work.o \ ++lapacke_ssytri2x.o \ ++lapacke_ssytri2x_work.o \ ++lapacke_ssytri.o \ ++lapacke_ssytri_work.o \ ++lapacke_ssytrs2.o \ ++lapacke_ssytrs2_work.o \ ++lapacke_ssytrs.o \ ++lapacke_ssytrs_work.o \ ++lapacke_stbcon.o \ ++lapacke_stbcon_work.o \ ++lapacke_stbrfs.o \ ++lapacke_stbrfs_work.o \ ++lapacke_stbtrs.o \ ++lapacke_stbtrs_work.o \ ++lapacke_stfsm.o \ ++lapacke_stfsm_work.o \ ++lapacke_stftri.o \ ++lapacke_stftri_work.o \ ++lapacke_stfttp.o \ ++lapacke_stfttp_work.o \ ++lapacke_stfttr.o \ ++lapacke_stfttr_work.o \ ++lapacke_stgevc.o \ ++lapacke_stgevc_work.o \ ++lapacke_stgexc.o \ ++lapacke_stgexc_work.o \ ++lapacke_stgsen.o \ ++lapacke_stgsen_work.o \ ++lapacke_stgsja.o \ ++lapacke_stgsja_work.o \ ++lapacke_stgsna.o \ ++lapacke_stgsna_work.o \ ++lapacke_stgsyl.o \ ++lapacke_stgsyl_work.o \ ++lapacke_stpcon.o \ ++lapacke_stpcon_work.o \ ++lapacke_stpmqrt.o \ ++lapacke_stpmqrt_work.o \ ++lapacke_stpqrt2.o \ ++lapacke_stpqrt2_work.o \ ++lapacke_stprfb.o \ ++lapacke_stprfb_work.o \ ++lapacke_stprfs.o \ ++lapacke_stprfs_work.o \ ++lapacke_stptri.o \ ++lapacke_stptri_work.o \ ++lapacke_stptrs.o \ ++lapacke_stptrs_work.o \ ++lapacke_stpttf.o \ ++lapacke_stpttf_work.o \ ++lapacke_stpttr.o \ ++lapacke_stpttr_work.o \ ++lapacke_strcon.o \ ++lapacke_strcon_work.o \ ++lapacke_strevc.o \ ++lapacke_strevc_work.o \ ++lapacke_strexc.o \ ++lapacke_strexc_work.o \ ++lapacke_strrfs.o \ ++lapacke_strrfs_work.o \ ++lapacke_strsen.o \ ++lapacke_strsen_work.o \ ++lapacke_strsna.o \ ++lapacke_strsna_work.o \ ++lapacke_strsyl.o \ ++lapacke_strsyl_work.o \ ++lapacke_strtri.o \ ++lapacke_strtri_work.o \ ++lapacke_strtrs.o \ ++lapacke_strtrs_work.o \ ++lapacke_strttf.o \ ++lapacke_strttf_work.o \ ++lapacke_strttp.o \ ++lapacke_strttp_work.o \ ++lapacke_stzrzf.o \ ++lapacke_stzrzf_work.o \ ++lapacke_zbbcsd.o \ ++lapacke_zbbcsd_work.o \ ++lapacke_zbdsqr.o \ ++lapacke_zbdsqr_work.o \ ++lapacke_zcgesv.o \ ++lapacke_zcgesv_work.o \ ++lapacke_zcposv.o \ ++lapacke_zcposv_work.o \ ++lapacke_zgbbrd.o \ ++lapacke_zgbbrd_work.o \ ++lapacke_zgbcon.o \ ++lapacke_zgbcon_work.o \ ++lapacke_zgbequb.o \ ++lapacke_zgbequb_work.o \ ++lapacke_zgbequ.o \ ++lapacke_zgbequ_work.o \ ++lapacke_zgbrfs.o \ ++lapacke_zgbrfs_work.o \ ++lapacke_zgbsv.o \ ++lapacke_zgbsv_work.o \ ++lapacke_zgbsvx.o \ ++lapacke_zgbsvx_work.o \ ++lapacke_zgbtrf.o \ ++lapacke_zgbtrf_work.o \ ++lapacke_zgbtrs.o \ ++lapacke_zgbtrs_work.o \ ++lapacke_zgebak.o \ ++lapacke_zgebak_work.o \ ++lapacke_zgebal.o \ ++lapacke_zgebal_work.o \ ++lapacke_zgebrd.o \ ++lapacke_zgebrd_work.o \ ++lapacke_zgecon.o \ ++lapacke_zgecon_work.o \ ++lapacke_zgeequb.o \ ++lapacke_zgeequb_work.o \ ++lapacke_zgeequ.o \ ++lapacke_zgeequ_work.o \ ++lapacke_zgees.o \ ++lapacke_zgees_work.o \ ++lapacke_zgeesx.o \ ++lapacke_zgeesx_work.o \ ++lapacke_zgeev.o \ ++lapacke_zgeev_work.o \ ++lapacke_zgeevx.o \ ++lapacke_zgeevx_work.o \ ++lapacke_zgehrd.o \ ++lapacke_zgehrd_work.o \ ++lapacke_zgelq2.o \ ++lapacke_zgelq2_work.o \ ++lapacke_zgelqf.o \ ++lapacke_zgelqf_work.o \ ++lapacke_zgels.o \ ++lapacke_zgelsd.o \ ++lapacke_zgelsd_work.o \ ++lapacke_zgelss.o \ ++lapacke_zgelss_work.o \ ++lapacke_zgels_work.o \ ++lapacke_zgelsy.o \ ++lapacke_zgelsy_work.o \ ++lapacke_zgemqrt.o \ ++lapacke_zgemqrt_work.o \ ++lapacke_zgeqlf.o \ ++lapacke_zgeqlf_work.o \ ++lapacke_zgeqp3.o \ ++lapacke_zgeqp3_work.o \ ++lapacke_zgeqpf.o \ ++lapacke_zgeqpf_work.o \ ++lapacke_zgeqr2.o \ ++lapacke_zgeqr2_work.o \ ++lapacke_zgeqrf.o \ ++lapacke_zgeqrfp.o \ ++lapacke_zgeqrfp_work.o \ ++lapacke_zgeqrf_work.o \ ++lapacke_zgeqrt2.o \ ++lapacke_zgeqrt2_work.o \ ++lapacke_zgeqrt3.o \ ++lapacke_zgeqrt3_work.o \ ++lapacke_zgeqrt.o \ ++lapacke_zgeqrt_work.o \ ++lapacke_zgerfs.o \ ++lapacke_zgerfs_work.o \ ++lapacke_zgerqf.o \ ++lapacke_zgerqf_work.o \ ++lapacke_zgesdd.o \ ++lapacke_zgesdd_work.o \ ++lapacke_zgesv.o \ ++lapacke_zgesvd.o \ ++lapacke_zgesvd_work.o \ ++lapacke_zgesv_work.o \ ++lapacke_zgesvx.o \ ++lapacke_zgesvx_work.o \ ++lapacke_zgetf2.o \ ++lapacke_zgetf2_work.o \ ++lapacke_zgetrf.o \ ++lapacke_zgetrf_work.o \ ++lapacke_zgetri.o \ ++lapacke_zgetri_work.o \ ++lapacke_zgetrs.o \ ++lapacke_zgetrs_work.o \ ++lapacke_zggbak.o \ ++lapacke_zggbak_work.o \ ++lapacke_zggbal.o \ ++lapacke_zggbal_work.o \ ++lapacke_zgges.o \ ++lapacke_zgges_work.o \ ++lapacke_zggesx.o \ ++lapacke_zggesx_work.o \ ++lapacke_zggev.o \ ++lapacke_zggev_work.o \ ++lapacke_zggevx.o \ ++lapacke_zggevx_work.o \ ++lapacke_zggglm.o \ ++lapacke_zggglm_work.o \ ++lapacke_zgghrd.o \ ++lapacke_zgghrd_work.o \ ++lapacke_zgglse.o \ ++lapacke_zgglse_work.o \ ++lapacke_zggqrf.o \ ++lapacke_zggqrf_work.o \ ++lapacke_zggrqf.o \ ++lapacke_zggrqf_work.o \ ++lapacke_zggsvd.o \ ++lapacke_zggsvd_work.o \ ++lapacke_zggsvp.o \ ++lapacke_zggsvp_work.o \ ++lapacke_zgtcon.o \ ++lapacke_zgtcon_work.o \ ++lapacke_zgtrfs.o \ ++lapacke_zgtrfs_work.o \ ++lapacke_zgtsv.o \ ++lapacke_zgtsv_work.o \ ++lapacke_zgtsvx.o \ ++lapacke_zgtsvx_work.o \ ++lapacke_zgttrf.o \ ++lapacke_zgttrf_work.o \ ++lapacke_zgttrs.o \ ++lapacke_zgttrs_work.o \ ++lapacke_zhbev.o \ ++lapacke_zhbevd.o \ ++lapacke_zhbevd_work.o \ ++lapacke_zhbev_work.o \ ++lapacke_zhbevx.o \ ++lapacke_zhbevx_work.o \ ++lapacke_zhbgst.o \ ++lapacke_zhbgst_work.o \ ++lapacke_zhbgv.o \ ++lapacke_zhbgvd.o \ ++lapacke_zhbgvd_work.o \ ++lapacke_zhbgv_work.o \ ++lapacke_zhbgvx.o \ ++lapacke_zhbgvx_work.o \ ++lapacke_zhbtrd.o \ ++lapacke_zhbtrd_work.o \ ++lapacke_zhecon.o \ ++lapacke_zhecon_work.o \ ++lapacke_zheequb.o \ ++lapacke_zheequb_work.o \ ++lapacke_zheev.o \ ++lapacke_zheevd.o \ ++lapacke_zheevd_work.o \ ++lapacke_zheevr.o \ ++lapacke_zheevr_work.o \ ++lapacke_zheev_work.o \ ++lapacke_zheevx.o \ ++lapacke_zheevx_work.o \ ++lapacke_zhegst.o \ ++lapacke_zhegst_work.o \ ++lapacke_zhegv.o \ ++lapacke_zhegvd.o \ ++lapacke_zhegvd_work.o \ ++lapacke_zhegv_work.o \ ++lapacke_zhegvx.o \ ++lapacke_zhegvx_work.o \ ++lapacke_zherfs.o \ ++lapacke_zherfs_work.o \ ++lapacke_zhesv.o \ ++lapacke_zhesv_work.o \ ++lapacke_zhesvx.o \ ++lapacke_zhesvx_work.o \ ++lapacke_zheswapr.o \ ++lapacke_zheswapr_work.o \ ++lapacke_zhetrd.o \ ++lapacke_zhetrd_work.o \ ++lapacke_zhetrf.o \ ++lapacke_zhetrf_work.o \ ++lapacke_zhetri2.o \ ++lapacke_zhetri2_work.o \ ++lapacke_zhetri2x.o \ ++lapacke_zhetri2x_work.o \ ++lapacke_zhetri.o \ ++lapacke_zhetri_work.o \ ++lapacke_zhetrs2.o \ ++lapacke_zhetrs2_work.o \ ++lapacke_zhetrs.o \ ++lapacke_zhetrs_work.o \ ++lapacke_zhfrk.o \ ++lapacke_zhfrk_work.o \ ++lapacke_zhgeqz.o \ ++lapacke_zhgeqz_work.o \ ++lapacke_zhpcon.o \ ++lapacke_zhpcon_work.o \ ++lapacke_zhpev.o \ ++lapacke_zhpevd.o \ ++lapacke_zhpevd_work.o \ ++lapacke_zhpev_work.o \ ++lapacke_zhpevx.o \ ++lapacke_zhpevx_work.o \ ++lapacke_zhpgst.o \ ++lapacke_zhpgst_work.o \ ++lapacke_zhpgv.o \ ++lapacke_zhpgvd.o \ ++lapacke_zhpgvd_work.o \ ++lapacke_zhpgv_work.o \ ++lapacke_zhpgvx.o \ ++lapacke_zhpgvx_work.o \ ++lapacke_zhprfs.o \ ++lapacke_zhprfs_work.o \ ++lapacke_zhpsv.o \ ++lapacke_zhpsv_work.o \ ++lapacke_zhpsvx.o \ ++lapacke_zhpsvx_work.o \ ++lapacke_zhptrd.o \ ++lapacke_zhptrd_work.o \ ++lapacke_zhptrf.o \ ++lapacke_zhptrf_work.o \ ++lapacke_zhptri.o \ ++lapacke_zhptri_work.o \ ++lapacke_zhptrs.o \ ++lapacke_zhptrs_work.o \ ++lapacke_zhsein.o \ ++lapacke_zhsein_work.o \ ++lapacke_zhseqr.o \ ++lapacke_zhseqr_work.o \ ++lapacke_zlacgv.o \ ++lapacke_zlacgv_work.o \ ++lapacke_zlacpy.o \ ++lapacke_zlacpy_work.o \ ++lapacke_zlag2c.o \ ++lapacke_zlag2c_work.o \ ++lapacke_zlange.o \ ++lapacke_zlange_work.o \ ++lapacke_zlanhe.o \ ++lapacke_zlanhe_work.o \ ++lapacke_zlansy.o \ ++lapacke_zlansy_work.o \ ++lapacke_zlantr.o \ ++lapacke_zlantr_work.o \ ++lapacke_zlapmr.o \ ++lapacke_zlapmr_work.o \ ++lapacke_zlarfb.o \ ++lapacke_zlarfb_work.o \ ++lapacke_zlarfg.o \ ++lapacke_zlarfg_work.o \ ++lapacke_zlarft.o \ ++lapacke_zlarft_work.o \ ++lapacke_zlarfx.o \ ++lapacke_zlarfx_work.o \ ++lapacke_zlarnv.o \ ++lapacke_zlarnv_work.o \ ++lapacke_zlaset.o \ ++lapacke_zlaset_work.o \ ++lapacke_zlaswp.o \ ++lapacke_zlaswp_work.o \ ++lapacke_zlauum.o \ ++lapacke_zlauum_work.o \ ++lapacke_zpbcon.o \ ++lapacke_zpbcon_work.o \ ++lapacke_zpbequ.o \ ++lapacke_zpbequ_work.o \ ++lapacke_zpbrfs.o \ ++lapacke_zpbrfs_work.o \ ++lapacke_zpbstf.o \ ++lapacke_zpbstf_work.o \ ++lapacke_zpbsv.o \ ++lapacke_zpbsv_work.o \ ++lapacke_zpbsvx.o \ ++lapacke_zpbsvx_work.o \ ++lapacke_zpbtrf.o \ ++lapacke_zpbtrf_work.o \ ++lapacke_zpbtrs.o \ ++lapacke_zpbtrs_work.o \ ++lapacke_zpftrf.o \ ++lapacke_zpftrf_work.o \ ++lapacke_zpftri.o \ ++lapacke_zpftri_work.o \ ++lapacke_zpftrs.o \ ++lapacke_zpftrs_work.o \ ++lapacke_zpocon.o \ ++lapacke_zpocon_work.o \ ++lapacke_zpoequb.o \ ++lapacke_zpoequb_work.o \ ++lapacke_zpoequ.o \ ++lapacke_zpoequ_work.o \ ++lapacke_zporfs.o \ ++lapacke_zporfs_work.o \ ++lapacke_zposv.o \ ++lapacke_zposv_work.o \ ++lapacke_zposvx.o \ ++lapacke_zposvx_work.o \ ++lapacke_zpotrf.o \ ++lapacke_zpotrf_work.o \ ++lapacke_zpotri.o \ ++lapacke_zpotri_work.o \ ++lapacke_zpotrs.o \ ++lapacke_zpotrs_work.o \ ++lapacke_zppcon.o \ ++lapacke_zppcon_work.o \ ++lapacke_zppequ.o \ ++lapacke_zppequ_work.o \ ++lapacke_zpprfs.o \ ++lapacke_zpprfs_work.o \ ++lapacke_zppsv.o \ ++lapacke_zppsv_work.o \ ++lapacke_zppsvx.o \ ++lapacke_zppsvx_work.o \ ++lapacke_zpptrf.o \ ++lapacke_zpptrf_work.o \ ++lapacke_zpptri.o \ ++lapacke_zpptri_work.o \ ++lapacke_zpptrs.o \ ++lapacke_zpptrs_work.o \ ++lapacke_zpstrf.o \ ++lapacke_zpstrf_work.o \ ++lapacke_zptcon.o \ ++lapacke_zptcon_work.o \ ++lapacke_zpteqr.o \ ++lapacke_zpteqr_work.o \ ++lapacke_zptrfs.o \ ++lapacke_zptrfs_work.o \ ++lapacke_zptsv.o \ ++lapacke_zptsv_work.o \ ++lapacke_zptsvx.o \ ++lapacke_zptsvx_work.o \ ++lapacke_zpttrf.o \ ++lapacke_zpttrf_work.o \ ++lapacke_zpttrs.o \ ++lapacke_zpttrs_work.o \ ++lapacke_zspcon.o \ ++lapacke_zspcon_work.o \ ++lapacke_zsprfs.o \ ++lapacke_zsprfs_work.o \ ++lapacke_zspsv.o \ ++lapacke_zspsv_work.o \ ++lapacke_zspsvx.o \ ++lapacke_zspsvx_work.o \ ++lapacke_zsptrf.o \ ++lapacke_zsptrf_work.o \ ++lapacke_zsptri.o \ ++lapacke_zsptri_work.o \ ++lapacke_zsptrs.o \ ++lapacke_zsptrs_work.o \ ++lapacke_zstedc.o \ ++lapacke_zstedc_work.o \ ++lapacke_zstegr.o \ ++lapacke_zstegr_work.o \ ++lapacke_zstein.o \ ++lapacke_zstein_work.o \ ++lapacke_zstemr.o \ ++lapacke_zstemr_work.o \ ++lapacke_zsteqr.o \ ++lapacke_zsteqr_work.o \ ++lapacke_zsycon.o \ ++lapacke_zsyconv.o \ ++lapacke_zsyconv_work.o \ ++lapacke_zsycon_work.o \ ++lapacke_zsyequb.o \ ++lapacke_zsyequb_work.o \ ++lapacke_zsyrfs.o \ ++lapacke_zsyrfs_work.o \ ++lapacke_zsysv.o \ ++lapacke_zsysv_work.o \ ++lapacke_zsysvx.o \ ++lapacke_zsysvx_work.o \ ++lapacke_zsyswapr.o \ ++lapacke_zsyswapr_work.o \ ++lapacke_zsytrf.o \ ++lapacke_zsytrf_work.o \ ++lapacke_zsytri2.o \ ++lapacke_zsytri2_work.o \ ++lapacke_zsytri2x.o \ ++lapacke_zsytri2x_work.o \ ++lapacke_zsytri.o \ ++lapacke_zsytri_work.o \ ++lapacke_zsytrs2.o \ ++lapacke_zsytrs2_work.o \ ++lapacke_zsytrs.o \ ++lapacke_zsytrs_work.o \ ++lapacke_ztbcon.o \ ++lapacke_ztbcon_work.o \ ++lapacke_ztbrfs.o \ ++lapacke_ztbrfs_work.o \ ++lapacke_ztbtrs.o \ ++lapacke_ztbtrs_work.o \ ++lapacke_ztfsm.o \ ++lapacke_ztfsm_work.o \ ++lapacke_ztftri.o \ ++lapacke_ztftri_work.o \ ++lapacke_ztfttp.o \ ++lapacke_ztfttp_work.o \ ++lapacke_ztfttr.o \ ++lapacke_ztfttr_work.o \ ++lapacke_ztgevc.o \ ++lapacke_ztgevc_work.o \ ++lapacke_ztgexc.o \ ++lapacke_ztgexc_work.o \ ++lapacke_ztgsen.o \ ++lapacke_ztgsen_work.o \ ++lapacke_ztgsja.o \ ++lapacke_ztgsja_work.o \ ++lapacke_ztgsna.o \ ++lapacke_ztgsna_work.o \ ++lapacke_ztgsyl.o \ ++lapacke_ztgsyl_work.o \ ++lapacke_ztpcon.o \ ++lapacke_ztpcon_work.o \ ++lapacke_ztpmqrt.o \ ++lapacke_ztpmqrt_work.o \ ++lapacke_ztpqrt2.o \ ++lapacke_ztpqrt2_work.o \ ++lapacke_ztpqrt.o \ ++lapacke_ztpqrt_work.o \ ++lapacke_ztprfb.o \ ++lapacke_ztprfb_work.o \ ++lapacke_ztprfs.o \ ++lapacke_ztprfs_work.o \ ++lapacke_ztptri.o \ ++lapacke_ztptri_work.o \ ++lapacke_ztptrs.o \ ++lapacke_ztptrs_work.o \ ++lapacke_ztpttf.o \ ++lapacke_ztpttf_work.o \ ++lapacke_ztpttr.o \ ++lapacke_ztpttr_work.o \ ++lapacke_ztrcon.o \ ++lapacke_ztrcon_work.o \ ++lapacke_ztrevc.o \ ++lapacke_ztrevc_work.o \ ++lapacke_ztrexc.o \ ++lapacke_ztrexc_work.o \ ++lapacke_ztrrfs.o \ ++lapacke_ztrrfs_work.o \ ++lapacke_ztrsen.o \ ++lapacke_ztrsen_work.o \ ++lapacke_ztrsna.o \ ++lapacke_ztrsna_work.o \ ++lapacke_ztrsyl.o \ ++lapacke_ztrsyl_work.o \ ++lapacke_ztrtri.o \ ++lapacke_ztrtri_work.o \ ++lapacke_ztrtrs.o \ ++lapacke_ztrtrs_work.o \ ++lapacke_ztrttf.o \ ++lapacke_ztrttf_work.o \ ++lapacke_ztrttp.o \ ++lapacke_ztrttp_work.o \ ++lapacke_ztzrzf.o \ ++lapacke_ztzrzf_work.o \ ++lapacke_zunbdb.o \ ++lapacke_zunbdb_work.o \ ++lapacke_zuncsd.o \ ++lapacke_zuncsd_work.o \ ++lapacke_zungbr.o \ ++lapacke_zungbr_work.o \ ++lapacke_zunghr.o \ ++lapacke_zunghr_work.o \ ++lapacke_zunglq.o \ ++lapacke_zunglq_work.o \ ++lapacke_zungql.o \ ++lapacke_zungql_work.o \ ++lapacke_zungqr.o \ ++lapacke_zungqr_work.o \ ++lapacke_zungrq.o \ ++lapacke_zungrq_work.o \ ++lapacke_zungtr.o \ ++lapacke_zungtr_work.o \ ++lapacke_zunmbr.o \ ++lapacke_zunmbr_work.o \ ++lapacke_zunmhr.o \ ++lapacke_zunmhr_work.o \ ++lapacke_zunmlq.o \ ++lapacke_zunmlq_work.o \ ++lapacke_zunmql.o \ ++lapacke_zunmql_work.o \ ++lapacke_zunmqr.o \ ++lapacke_zunmqr_work.o \ ++lapacke_zunmrq.o \ ++lapacke_zunmrq_work.o \ ++lapacke_zunmrz.o \ ++lapacke_zunmrz_work.o \ ++lapacke_zunmtr.o \ ++lapacke_zunmtr_work.o \ ++lapacke_zupgtr.o \ ++lapacke_zupgtr_work.o \ ++lapacke_zupmtr.o \ ++lapacke_zupmtr_work.o ++ ++ ++LAPACKE_EXTENDEDPRECSION_OBJS := \ ++ lapacke_dgbrfsx.o lapacke_dgbrfsx_work.o lapacke_zgbrfsx.o lapacke_zgbrfsx_work.o lapacke_zsyrfsx.o \ ++lapacke_zsyrfsx_work.o \ ++lapacke_zgerfsx.o \ ++lapacke_zgerfsx_work.o \ ++lapacke_zporfsx.o \ ++lapacke_zporfsx_work.o \ ++lapacke_sgerfsx.o \ ++lapacke_sgerfsx_work.o \ ++lapacke_zgesvxx.o \ ++lapacke_zgesvxx_work.o \ ++lapacke_sgbrfsx.o \ ++lapacke_sgbrfsx_work.o \ ++lapacke_ssysvxx.o \ ++lapacke_ssysvxx_work.o \ ++lapacke_sgesvxx.o \ ++lapacke_sgesvxx_work.o \ ++lapacke_cgbsvxx.o \ ++lapacke_cgbsvxx_work.o \ ++lapacke_cporfsx.o \ ++lapacke_cporfsx_work.o \ ++lapacke_cherfsx.o \ ++lapacke_cherfsx_work.o \ ++lapacke_dporfsx.o \ ++lapacke_dporfsx_work.o \ ++lapacke_sposvxx.o \ ++lapacke_sposvxx_work.o \ ++lapacke_sgbsvxx.o \ ++lapacke_sgbsvxx_work.o \ ++lapacke_zposvxx.o \ ++lapacke_zposvxx_work.o \ ++lapacke_chesvxx.o \ ++lapacke_chesvxx_work.o \ ++lapacke_cposvxx.o \ ++lapacke_cposvxx_work.o \ ++lapacke_cgesvxx.o \ ++lapacke_cgesvxx_work.o \ ++lapacke_ssyrfsx.o \ ++lapacke_ssyrfsx_work.o \ ++lapacke_csyrfsx.o \ ++lapacke_csyrfsx_work.o \ ++lapacke_dsysvxx.o \ ++lapacke_dsysvxx_work.o \ ++lapacke_sporfsx.o \ ++lapacke_sporfsx_work.o \ ++lapacke_zherfsx.o \ ++lapacke_zherfsx_work.o \ ++lapacke_csysvxx.o \ ++lapacke_csysvxx_work.o \ ++lapacke_dposvxx.o \ ++lapacke_dposvxx_work.o \ ++lapacke_cgerfsx.o \ ++lapacke_cgerfsx_work.o \ ++lapacke_zgbsvxx.o \ ++lapacke_zgbsvxx_work.o \ ++lapacke_zsysvxx.o \ ++lapacke_zsysvxx_work.o \ ++lapacke_dgesvxx.o \ ++lapacke_dgesvxx_work.o \ ++lapacke_dgerfsx.o \ ++lapacke_dgerfsx_work.o \ ++lapacke_dsyrfsx.o \ ++lapacke_dsyrfsx_work.o \ ++lapacke_claghe.o \ ++lapacke_claghe_work.o \ ++lapacke_zhesvxx.o \ ++lapacke_zhesvxx_work.o \ ++lapacke_cgbrfsx.o \ ++lapacke_cgbrfsx_work.o \ ++lapacke_dgbsvxx.o \ ++lapacke_dgbsvxx_work.o ++ ++LAPACKE_TESTING_OBJS := \ ++ lapacke_slagge.o lapacke_slagge_work.o lapacke_clagge.o lapacke_clagge_work.o \ ++ lapacke_clatms.o lapacke_clatms_work.o lapacke_slatms.o lapacke_slatms_work.o lapacke_zlatms.o lapacke_zlatms_work.o \ ++ lapacke_clagsy.o lapacke_clagsy_work.o lapacke_slagsy.o lapacke_slagsy_work.o \ ++ lapacke_zlagsy.o lapacke_zlagsy_work.o lapacke_zlagge.o lapacke_zlagge_work.o \ ++ lapacke_dlatms.o lapacke_dlatms_work.o lapacke_zlaghe.o lapacke_zlaghe_work.o \ ++ lapacke_dlagsy.o lapacke_dlagsy_work.o lapacke_dlagge.o lapacke_dlagge_work.o ++ ++ ++OBJ_FILES := $(LAPACKE_OBJS) ++ ++ifdef LAPACKE_EXTENDED ++OBJ_FILES += $(LAPACKE_EXTENDEDPRECSION_OBJS) ++endif ++ ++ifdef LAPACKE_TESTING ++OBJ_FILES += $(LAPACK_TESTING_OBJS) ++endif + + all: lib + + lib: $(OBJ_FILES) +- $(ARCH) $(ARCHFLAGS) ../$(LAPACKE) $(OBJ_FILES) ++# http://hackage.haskell.org/trac/gtk2hs/ticket/1146 ++ echo $(OBJ_FILES) | xargs --max-args=100 $(ARCH) $(ARCHFLAGS) ../$(LAPACKE) + $(RANLIB) ../$(LAPACKE) + + .c.o: diff --git a/patch.for_lapack-3.4.1 b/patch.for_lapack-3.4.1 new file mode 100644 index 000000000..79c74aad2 --- /dev/null +++ b/patch.for_lapack-3.4.1 @@ -0,0 +1,932 @@ +diff -ruN lapack-3.4.1.old/INSTALL/Makefile lapack-3.4.1/INSTALL/Makefile +--- lapack-3.4.1.old/INSTALL/Makefile 2011-10-01 04:37:03 +0200 ++++ lapack-3.4.1/INSTALL/Makefile 2012-04-22 21:48:48 +0200 +@@ -27,7 +27,7 @@ + $(LOADER) $(LOADOPTS) -o testversion ilaver.o LAPACK_version.o + + clean: +- rm -f *.o ++ rm -f *.o test* + .f.o: + $(FORTRAN) $(OPTS) -c $< -o $@ + +diff -ruN lapack-3.4.1.old/Makefile lapack-3.4.1/Makefile +--- lapack-3.4.1.old/Makefile 2012-04-13 20:13:07 +0200 ++++ lapack-3.4.1/Makefile 2012-04-22 21:48:07 +0200 +@@ -20,9 +20,12 @@ + blaslib: + ( cd BLAS/SRC; $(MAKE) ) + +-lapacklib: lapack_install ++lapacklib: + ( cd SRC; $(MAKE) ) + ++lapack_prof: ++ ( cd SRC; $(MAKE) lapack_prof) ++ + lapackelib: lapacklib + ( cd lapacke; $(MAKE) ) + +diff -ruN lapack-3.4.1.old/SRC/Makefile lapack-3.4.1/SRC/Makefile +--- lapack-3.4.1.old/SRC/Makefile 2012-04-02 21:06:36 +0200 ++++ lapack-3.4.1/SRC/Makefile 2012-04-22 21:40:21 +0200 +@@ -54,363 +54,371 @@ + # + ####################################################################### + +-ALLAUX = ilaenv.o ieeeck.o lsamen.o xerbla.o xerbla_array.o iparmq.o \ +- ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \ +- ../INSTALL/ilaver.o ../INSTALL/lsame.o ../INSTALL/slamch.o ++ALLAUX = ilaenv.$(SUFFIX) ieeeck.$(SUFFIX) lsamen.$(SUFFIX) xerbla_array.$(SUFFIX) iparmq.$(SUFFIX) \ ++ ilaprec.$(SUFFIX) ilatrans.$(SUFFIX) ilauplo.$(SUFFIX) iladiag.$(SUFFIX) chla_transtype.$(SUFFIX) \ ++ ../INSTALL/ilaver.$(SUFFIX) + + SCLAUX = \ +- sbdsdc.o \ +- sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \ +- slaed0.o slaed1.o slaed2.o slaed3.o slaed4.o slaed5.o slaed6.o \ +- slaed7.o slaed8.o slaed9.o slaeda.o slaev2.o slagtf.o \ +- slagts.o slamrg.o slanst.o \ +- slapy2.o slapy3.o slarnv.o \ +- slarra.o slarrb.o slarrc.o slarrd.o slarre.o slarrf.o slarrj.o \ +- slarrk.o slarrr.o slaneg.o \ +- slartg.o slaruv.o slas2.o slascl.o \ +- slasd0.o slasd1.o slasd2.o slasd3.o slasd4.o slasd5.o slasd6.o \ +- slasd7.o slasd8.o slasda.o slasdq.o slasdt.o \ +- slaset.o slasq1.o slasq2.o slasq3.o slasq4.o slasq5.o slasq6.o \ +- slasr.o slasrt.o slassq.o slasv2.o spttrf.o sstebz.o sstedc.o \ +- ssteqr.o ssterf.o slaisnan.o sisnan.o \ +- slartgp.o slartgs.o \ +- ../INSTALL/second_$(TIMER).o ++ sbdsdc.$(SUFFIX) \ ++ sbdsqr.$(SUFFIX) sdisna.$(SUFFIX) slabad.$(SUFFIX) slacpy.$(SUFFIX) sladiv.$(SUFFIX) slae2.$(SUFFIX) slaebz.$(SUFFIX) \ ++ slaed0.$(SUFFIX) slaed1.$(SUFFIX) slaed2.$(SUFFIX) slaed3.$(SUFFIX) slaed4.$(SUFFIX) slaed5.$(SUFFIX) slaed6.$(SUFFIX) \ ++ slaed7.$(SUFFIX) slaed8.$(SUFFIX) slaed9.$(SUFFIX) slaeda.$(SUFFIX) slaev2.$(SUFFIX) slagtf.$(SUFFIX) \ ++ slagts.$(SUFFIX) slamrg.$(SUFFIX) slanst.$(SUFFIX) \ ++ slapy2.$(SUFFIX) slapy3.$(SUFFIX) slarnv.$(SUFFIX) \ ++ slarra.$(SUFFIX) slarrb.$(SUFFIX) slarrc.$(SUFFIX) slarrd.$(SUFFIX) slarre.$(SUFFIX) slarrf.$(SUFFIX) slarrj.$(SUFFIX) \ ++ slarrk.$(SUFFIX) slarrr.$(SUFFIX) slaneg.$(SUFFIX) \ ++ slartg.$(SUFFIX) slaruv.$(SUFFIX) slas2.$(SUFFIX) slascl.$(SUFFIX) \ ++ slasd0.$(SUFFIX) slasd1.$(SUFFIX) slasd2.$(SUFFIX) slasd3.$(SUFFIX) slasd4.$(SUFFIX) slasd5.$(SUFFIX) slasd6.$(SUFFIX) \ ++ slasd7.$(SUFFIX) slasd8.$(SUFFIX) slasda.$(SUFFIX) slasdq.$(SUFFIX) slasdt.$(SUFFIX) \ ++ slaset.$(SUFFIX) slasq1.$(SUFFIX) slasq2.$(SUFFIX) slasq3.$(SUFFIX) slasq4.$(SUFFIX) slasq5.$(SUFFIX) slasq6.$(SUFFIX) \ ++ slasr.$(SUFFIX) slasrt.$(SUFFIX) slassq.$(SUFFIX) slasv2.$(SUFFIX) spttrf.$(SUFFIX) sstebz.$(SUFFIX) sstedc.$(SUFFIX) \ ++ ssteqr.$(SUFFIX) ssterf.$(SUFFIX) slaisnan.$(SUFFIX) sisnan.$(SUFFIX) \ ++ slartgp.$(SUFFIX) slartgs.$(SUFFIX) \ ++ ../INSTALL/second_$(TIMER).$(SUFFIX) + + DZLAUX = \ +- dbdsdc.o \ +- dbdsqr.o ddisna.o dlabad.o dlacpy.o dladiv.o dlae2.o dlaebz.o \ +- dlaed0.o dlaed1.o dlaed2.o dlaed3.o dlaed4.o dlaed5.o dlaed6.o \ +- dlaed7.o dlaed8.o dlaed9.o dlaeda.o dlaev2.o dlagtf.o \ +- dlagts.o dlamrg.o dlanst.o \ +- dlapy2.o dlapy3.o dlarnv.o \ +- dlarra.o dlarrb.o dlarrc.o dlarrd.o dlarre.o dlarrf.o dlarrj.o \ +- dlarrk.o dlarrr.o dlaneg.o \ +- dlartg.o dlaruv.o dlas2.o dlascl.o \ +- dlasd0.o dlasd1.o dlasd2.o dlasd3.o dlasd4.o dlasd5.o dlasd6.o \ +- dlasd7.o dlasd8.o dlasda.o dlasdq.o dlasdt.o \ +- dlaset.o dlasq1.o dlasq2.o dlasq3.o dlasq4.o dlasq5.o dlasq6.o \ +- dlasr.o dlasrt.o dlassq.o dlasv2.o dpttrf.o dstebz.o dstedc.o \ +- dsteqr.o dsterf.o dlaisnan.o disnan.o \ +- dlartgp.o dlartgs.o \ +- ../INSTALL/dlamch.o ../INSTALL/dsecnd_$(TIMER).o ++ dbdsdc.$(SUFFIX) \ ++ dbdsqr.$(SUFFIX) ddisna.$(SUFFIX) dlabad.$(SUFFIX) dlacpy.$(SUFFIX) dladiv.$(SUFFIX) dlae2.$(SUFFIX) dlaebz.$(SUFFIX) \ ++ dlaed0.$(SUFFIX) dlaed1.$(SUFFIX) dlaed2.$(SUFFIX) dlaed3.$(SUFFIX) dlaed4.$(SUFFIX) dlaed5.$(SUFFIX) dlaed6.$(SUFFIX) \ ++ dlaed7.$(SUFFIX) dlaed8.$(SUFFIX) dlaed9.$(SUFFIX) dlaeda.$(SUFFIX) dlaev2.$(SUFFIX) dlagtf.$(SUFFIX) \ ++ dlagts.$(SUFFIX) dlamrg.$(SUFFIX) dlanst.$(SUFFIX) \ ++ dlapy2.$(SUFFIX) dlapy3.$(SUFFIX) dlarnv.$(SUFFIX) \ ++ dlarra.$(SUFFIX) dlarrb.$(SUFFIX) dlarrc.$(SUFFIX) dlarrd.$(SUFFIX) dlarre.$(SUFFIX) dlarrf.$(SUFFIX) dlarrj.$(SUFFIX) \ ++ dlarrk.$(SUFFIX) dlarrr.$(SUFFIX) dlaneg.$(SUFFIX) \ ++ dlartg.$(SUFFIX) dlaruv.$(SUFFIX) dlas2.$(SUFFIX) dlascl.$(SUFFIX) \ ++ dlasd0.$(SUFFIX) dlasd1.$(SUFFIX) dlasd2.$(SUFFIX) dlasd3.$(SUFFIX) dlasd4.$(SUFFIX) dlasd5.$(SUFFIX) dlasd6.$(SUFFIX) \ ++ dlasd7.$(SUFFIX) dlasd8.$(SUFFIX) dlasda.$(SUFFIX) dlasdq.$(SUFFIX) dlasdt.$(SUFFIX) \ ++ dlaset.$(SUFFIX) dlasq1.$(SUFFIX) dlasq2.$(SUFFIX) dlasq3.$(SUFFIX) dlasq4.$(SUFFIX) dlasq5.$(SUFFIX) dlasq6.$(SUFFIX) \ ++ dlasr.$(SUFFIX) dlasrt.$(SUFFIX) dlassq.$(SUFFIX) dlasv2.$(SUFFIX) dpttrf.$(SUFFIX) dstebz.$(SUFFIX) dstedc.$(SUFFIX) \ ++ dsteqr.$(SUFFIX) dsterf.$(SUFFIX) dlaisnan.$(SUFFIX) disnan.$(SUFFIX) \ ++ dlartgp.$(SUFFIX) dlartgs.$(SUFFIX) \ ++ ../INSTALL/dsecnd_$(TIMER).$(SUFFIX) + + SLASRC = \ +- sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \ +- sgbsvx.o sgbtf2.o sgbtrf.o sgbtrs.o sgebak.o sgebal.o sgebd2.o \ +- sgebrd.o sgecon.o sgeequ.o sgees.o sgeesx.o sgeev.o sgeevx.o \ +- sgegs.o sgegv.o sgehd2.o sgehrd.o sgelq2.o sgelqf.o \ +- sgels.o sgelsd.o sgelss.o sgelsx.o sgelsy.o sgeql2.o sgeqlf.o \ +- sgeqp3.o sgeqpf.o sgeqr2.o sgeqr2p.o sgeqrf.o sgeqrfp.o sgerfs.o \ +- sgerq2.o sgerqf.o sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvx.o \ +- sgetc2.o sgetf2.o sgetri.o \ +- sggbak.o sggbal.o sgges.o sggesx.o sggev.o sggevx.o \ +- sggglm.o sgghrd.o sgglse.o sggqrf.o \ +- sggrqf.o sggsvd.o sggsvp.o sgtcon.o sgtrfs.o sgtsv.o \ +- sgtsvx.o sgttrf.o sgttrs.o sgtts2.o shgeqz.o \ +- shsein.o shseqr.o slabrd.o slacon.o slacn2.o \ +- slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o slahqr.o \ +- slahrd.o slahr2.o slaic1.o slaln2.o slals0.o slalsa.o slalsd.o \ +- slangb.o slange.o slangt.o slanhs.o slansb.o slansp.o \ +- slansy.o slantb.o slantp.o slantr.o slanv2.o \ +- slapll.o slapmt.o \ +- slaqgb.o slaqge.o slaqp2.o slaqps.o slaqsb.o slaqsp.o slaqsy.o \ +- slaqr0.o slaqr1.o slaqr2.o slaqr3.o slaqr4.o slaqr5.o \ +- slaqtr.o slar1v.o slar2v.o ilaslr.o ilaslc.o \ +- slarf.o slarfb.o slarfg.o slarfgp.o slarft.o slarfx.o slargv.o \ +- slarrv.o slartv.o \ +- slarz.o slarzb.o slarzt.o slaswp.o slasy2.o slasyf.o \ +- slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o slatzm.o \ +- slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \ +- sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \ +- sorgrq.o sorgtr.o sorm2l.o sorm2r.o \ +- sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \ +- sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \ +- spbstf.o spbsv.o spbsvx.o \ +- spbtf2.o spbtrf.o spbtrs.o spocon.o spoequ.o sporfs.o sposv.o \ +- sposvx.o spotf2.o spotri.o spstrf.o spstf2.o \ +- sppcon.o sppequ.o \ +- spprfs.o sppsv.o sppsvx.o spptrf.o spptri.o spptrs.o sptcon.o \ +- spteqr.o sptrfs.o sptsv.o sptsvx.o spttrs.o sptts2.o srscl.o \ +- ssbev.o ssbevd.o ssbevx.o ssbgst.o ssbgv.o ssbgvd.o ssbgvx.o \ +- ssbtrd.o sspcon.o sspev.o sspevd.o sspevx.o sspgst.o \ +- sspgv.o sspgvd.o sspgvx.o ssprfs.o sspsv.o sspsvx.o ssptrd.o \ +- ssptrf.o ssptri.o ssptrs.o sstegr.o sstein.o sstev.o sstevd.o sstevr.o \ +- sstevx.o \ +- ssycon.o ssyev.o ssyevd.o ssyevr.o ssyevx.o ssygs2.o \ +- ssygst.o ssygv.o ssygvd.o ssygvx.o ssyrfs.o ssysv.o ssysvx.o \ +- ssytd2.o ssytf2.o ssytrd.o ssytrf.o ssytri.o ssytri2.o ssytri2x.o \ +- ssyswapr.o ssytrs.o ssytrs2.o ssyconv.o \ +- stbcon.o \ +- stbrfs.o stbtrs.o stgevc.o stgex2.o stgexc.o stgsen.o \ +- stgsja.o stgsna.o stgsy2.o stgsyl.o stpcon.o stprfs.o stptri.o \ +- stptrs.o \ +- strcon.o strevc.o strexc.o strrfs.o strsen.o strsna.o strsyl.o \ +- strti2.o strtri.o strtrs.o stzrqf.o stzrzf.o sstemr.o \ +- slansf.o spftrf.o spftri.o spftrs.o ssfrk.o stfsm.o stftri.o stfttp.o \ +- stfttr.o stpttf.o stpttr.o strttf.o strttp.o \ +- sgejsv.o sgesvj.o sgsvj0.o sgsvj1.o \ +- sgeequb.o ssyequb.o spoequb.o sgbequb.o \ +- sbbcsd.o slapmr.o sorbdb.o sorcsd.o \ +- sgeqrt.o sgeqrt2.o sgeqrt3.o sgemqrt.o \ +- stpqrt.o stpqrt2.o stpmqrt.o stprfb.o ++ sgbbrd.$(SUFFIX) sgbcon.$(SUFFIX) sgbequ.$(SUFFIX) sgbrfs.$(SUFFIX) sgbsv.$(SUFFIX) \ ++ sgbsvx.$(SUFFIX) sgbtf2.$(SUFFIX) sgbtrf.$(SUFFIX) sgbtrs.$(SUFFIX) sgebak.$(SUFFIX) sgebal.$(SUFFIX) sgebd2.$(SUFFIX) \ ++ sgebrd.$(SUFFIX) sgecon.$(SUFFIX) sgeequ.$(SUFFIX) sgees.$(SUFFIX) sgeesx.$(SUFFIX) sgeev.$(SUFFIX) sgeevx.$(SUFFIX) \ ++ sgegs.$(SUFFIX) sgegv.$(SUFFIX) sgehd2.$(SUFFIX) sgehrd.$(SUFFIX) sgelq2.$(SUFFIX) sgelqf.$(SUFFIX) \ ++ sgels.$(SUFFIX) sgelsd.$(SUFFIX) sgelss.$(SUFFIX) sgelsx.$(SUFFIX) sgelsy.$(SUFFIX) sgeql2.$(SUFFIX) sgeqlf.$(SUFFIX) \ ++ sgeqp3.$(SUFFIX) sgeqpf.$(SUFFIX) sgeqr2.$(SUFFIX) sgeqr2p.$(SUFFIX) sgeqrf.$(SUFFIX) sgeqrfp.$(SUFFIX) sgerfs.$(SUFFIX) \ ++ sgerq2.$(SUFFIX) sgerqf.$(SUFFIX) sgesc2.$(SUFFIX) sgesdd.$(SUFFIX) sgesv.$(SUFFIX) sgesvd.$(SUFFIX) sgesvx.$(SUFFIX) \ ++ sgetc2.$(SUFFIX) sgetri.$(SUFFIX) \ ++ sggbak.$(SUFFIX) sggbal.$(SUFFIX) sgges.$(SUFFIX) sggesx.$(SUFFIX) sggev.$(SUFFIX) sggevx.$(SUFFIX) \ ++ sggglm.$(SUFFIX) sgghrd.$(SUFFIX) sgglse.$(SUFFIX) sggqrf.$(SUFFIX) \ ++ sggrqf.$(SUFFIX) sggsvd.$(SUFFIX) sggsvp.$(SUFFIX) sgtcon.$(SUFFIX) sgtrfs.$(SUFFIX) sgtsv.$(SUFFIX) \ ++ sgtsvx.$(SUFFIX) sgttrf.$(SUFFIX) sgttrs.$(SUFFIX) sgtts2.$(SUFFIX) shgeqz.$(SUFFIX) \ ++ shsein.$(SUFFIX) shseqr.$(SUFFIX) slabrd.$(SUFFIX) slacon.$(SUFFIX) slacn2.$(SUFFIX) \ ++ slaein.$(SUFFIX) slaexc.$(SUFFIX) slag2.$(SUFFIX) slags2.$(SUFFIX) slagtm.$(SUFFIX) slagv2.$(SUFFIX) slahqr.$(SUFFIX) \ ++ slahrd.$(SUFFIX) slahr2.$(SUFFIX) slaic1.$(SUFFIX) slaln2.$(SUFFIX) slals0.$(SUFFIX) slalsa.$(SUFFIX) slalsd.$(SUFFIX) \ ++ slangb.$(SUFFIX) slange.$(SUFFIX) slangt.$(SUFFIX) slanhs.$(SUFFIX) slansb.$(SUFFIX) slansp.$(SUFFIX) \ ++ slansy.$(SUFFIX) slantb.$(SUFFIX) slantp.$(SUFFIX) slantr.$(SUFFIX) slanv2.$(SUFFIX) \ ++ slapll.$(SUFFIX) slapmt.$(SUFFIX) \ ++ slaqgb.$(SUFFIX) slaqge.$(SUFFIX) slaqp2.$(SUFFIX) slaqps.$(SUFFIX) slaqsb.$(SUFFIX) slaqsp.$(SUFFIX) slaqsy.$(SUFFIX) \ ++ slaqr0.$(SUFFIX) slaqr1.$(SUFFIX) slaqr2.$(SUFFIX) slaqr3.$(SUFFIX) slaqr4.$(SUFFIX) slaqr5.$(SUFFIX) \ ++ slaqtr.$(SUFFIX) slar1v.$(SUFFIX) slar2v.$(SUFFIX) ilaslr.$(SUFFIX) ilaslc.$(SUFFIX) \ ++ slarf.$(SUFFIX) slarfb.$(SUFFIX) slarfg.$(SUFFIX) slarfgp.$(SUFFIX) slarft.$(SUFFIX) slarfx.$(SUFFIX) slargv.$(SUFFIX) \ ++ slarrv.$(SUFFIX) slartv.$(SUFFIX) \ ++ slarz.$(SUFFIX) slarzb.$(SUFFIX) slarzt.$(SUFFIX) slaswp.$(SUFFIX) slasy2.$(SUFFIX) slasyf.$(SUFFIX) \ ++ slatbs.$(SUFFIX) slatdf.$(SUFFIX) slatps.$(SUFFIX) slatrd.$(SUFFIX) slatrs.$(SUFFIX) slatrz.$(SUFFIX) slatzm.$(SUFFIX) \ ++ sopgtr.$(SUFFIX) sopmtr.$(SUFFIX) sorg2l.$(SUFFIX) sorg2r.$(SUFFIX) \ ++ sorgbr.$(SUFFIX) sorghr.$(SUFFIX) sorgl2.$(SUFFIX) sorglq.$(SUFFIX) sorgql.$(SUFFIX) sorgqr.$(SUFFIX) sorgr2.$(SUFFIX) \ ++ sorgrq.$(SUFFIX) sorgtr.$(SUFFIX) sorm2l.$(SUFFIX) sorm2r.$(SUFFIX) \ ++ sormbr.$(SUFFIX) sormhr.$(SUFFIX) sorml2.$(SUFFIX) sormlq.$(SUFFIX) sormql.$(SUFFIX) sormqr.$(SUFFIX) sormr2.$(SUFFIX) \ ++ sormr3.$(SUFFIX) sormrq.$(SUFFIX) sormrz.$(SUFFIX) sormtr.$(SUFFIX) spbcon.$(SUFFIX) spbequ.$(SUFFIX) spbrfs.$(SUFFIX) \ ++ spbstf.$(SUFFIX) spbsv.$(SUFFIX) spbsvx.$(SUFFIX) \ ++ spbtf2.$(SUFFIX) spbtrf.$(SUFFIX) spbtrs.$(SUFFIX) spocon.$(SUFFIX) spoequ.$(SUFFIX) sporfs.$(SUFFIX) sposv.$(SUFFIX) \ ++ sposvx.$(SUFFIX) spotri.$(SUFFIX) spstrf.$(SUFFIX) spstf2.$(SUFFIX) \ ++ sppcon.$(SUFFIX) sppequ.$(SUFFIX) \ ++ spprfs.$(SUFFIX) sppsv.$(SUFFIX) sppsvx.$(SUFFIX) spptrf.$(SUFFIX) spptri.$(SUFFIX) spptrs.$(SUFFIX) sptcon.$(SUFFIX) \ ++ spteqr.$(SUFFIX) sptrfs.$(SUFFIX) sptsv.$(SUFFIX) sptsvx.$(SUFFIX) spttrs.$(SUFFIX) sptts2.$(SUFFIX) srscl.$(SUFFIX) \ ++ ssbev.$(SUFFIX) ssbevd.$(SUFFIX) ssbevx.$(SUFFIX) ssbgst.$(SUFFIX) ssbgv.$(SUFFIX) ssbgvd.$(SUFFIX) ssbgvx.$(SUFFIX) \ ++ ssbtrd.$(SUFFIX) sspcon.$(SUFFIX) sspev.$(SUFFIX) sspevd.$(SUFFIX) sspevx.$(SUFFIX) sspgst.$(SUFFIX) \ ++ sspgv.$(SUFFIX) sspgvd.$(SUFFIX) sspgvx.$(SUFFIX) ssprfs.$(SUFFIX) sspsv.$(SUFFIX) sspsvx.$(SUFFIX) ssptrd.$(SUFFIX) \ ++ ssptrf.$(SUFFIX) ssptri.$(SUFFIX) ssptrs.$(SUFFIX) sstegr.$(SUFFIX) sstein.$(SUFFIX) sstev.$(SUFFIX) sstevd.$(SUFFIX) sstevr.$(SUFFIX) \ ++ sstevx.$(SUFFIX) \ ++ ssycon.$(SUFFIX) ssyev.$(SUFFIX) ssyevd.$(SUFFIX) ssyevr.$(SUFFIX) ssyevx.$(SUFFIX) ssygs2.$(SUFFIX) \ ++ ssygst.$(SUFFIX) ssygv.$(SUFFIX) ssygvd.$(SUFFIX) ssygvx.$(SUFFIX) ssyrfs.$(SUFFIX) ssysv.$(SUFFIX) ssysvx.$(SUFFIX) \ ++ ssytd2.$(SUFFIX) ssytf2.$(SUFFIX) ssytrd.$(SUFFIX) ssytrf.$(SUFFIX) ssytri.$(SUFFIX) ssytri2.$(SUFFIX) ssytri2x.$(SUFFIX) \ ++ ssyswapr.$(SUFFIX) ssytrs.$(SUFFIX) ssytrs2.$(SUFFIX) ssyconv.$(SUFFIX) \ ++ stbcon.$(SUFFIX) \ ++ stbrfs.$(SUFFIX) stbtrs.$(SUFFIX) stgevc.$(SUFFIX) stgex2.$(SUFFIX) stgexc.$(SUFFIX) stgsen.$(SUFFIX) \ ++ stgsja.$(SUFFIX) stgsna.$(SUFFIX) stgsy2.$(SUFFIX) stgsyl.$(SUFFIX) stpcon.$(SUFFIX) stprfs.$(SUFFIX) stptri.$(SUFFIX) \ ++ stptrs.$(SUFFIX) \ ++ strcon.$(SUFFIX) strevc.$(SUFFIX) strexc.$(SUFFIX) strrfs.$(SUFFIX) strsen.$(SUFFIX) strsna.$(SUFFIX) strsyl.$(SUFFIX) \ ++ strtrs.$(SUFFIX) stzrqf.$(SUFFIX) stzrzf.$(SUFFIX) sstemr.$(SUFFIX) \ ++ slansf.$(SUFFIX) spftrf.$(SUFFIX) spftri.$(SUFFIX) spftrs.$(SUFFIX) ssfrk.$(SUFFIX) stfsm.$(SUFFIX) stftri.$(SUFFIX) stfttp.$(SUFFIX) \ ++ stfttr.$(SUFFIX) stpttf.$(SUFFIX) stpttr.$(SUFFIX) strttf.$(SUFFIX) strttp.$(SUFFIX) \ ++ sgejsv.$(SUFFIX) sgesvj.$(SUFFIX) sgsvj0.$(SUFFIX) sgsvj1.$(SUFFIX) \ ++ sgeequb.$(SUFFIX) ssyequb.$(SUFFIX) spoequb.$(SUFFIX) sgbequb.$(SUFFIX) \ ++ sbbcsd.$(SUFFIX) slapmr.$(SUFFIX) sorbdb.$(SUFFIX) sorcsd.$(SUFFIX) \ ++ sgeqrt.$(SUFFIX) sgeqrt2.$(SUFFIX) sgeqrt3.$(SUFFIX) sgemqrt.$(SUFFIX) \ ++ stpqrt.$(SUFFIX) stpqrt2.$(SUFFIX) stpmqrt.$(SUFFIX) stprfb.$(SUFFIX) + +-DSLASRC = spotrs.o sgetrs.o spotrf.o sgetrf.o ++DSLASRC = spotrs.$(SUFFIX) + + ifdef USEXBLAS +-SXLASRC = sgesvxx.o sgerfsx.o sla_gerfsx_extended.o sla_geamv.o \ +- sla_gercond.o sla_gerpvgrw.o ssysvxx.o ssyrfsx.o \ +- sla_syrfsx_extended.o sla_syamv.o sla_syrcond.o sla_syrpvgrw.o \ +- sposvxx.o sporfsx.o sla_porfsx_extended.o sla_porcond.o \ +- sla_porpvgrw.o sgbsvxx.o sgbrfsx.o sla_gbrfsx_extended.o \ +- sla_gbamv.o sla_gbrcond.o sla_gbrpvgrw.o sla_lin_berr.o slarscl2.o \ +- slascl2.o sla_wwaddw.o ++SXLASRC = sgesvxx.$(SUFFIX) sgerfsx.$(SUFFIX) sla_gerfsx_extended.$(SUFFIX) sla_geamv.$(SUFFIX) \ ++ sla_gercond.$(SUFFIX) sla_gerpvgrw.$(SUFFIX) ssysvxx.$(SUFFIX) ssyrfsx.$(SUFFIX) \ ++ sla_syrfsx_extended.$(SUFFIX) sla_syamv.$(SUFFIX) sla_syrcond.$(SUFFIX) sla_syrpvgrw.$(SUFFIX) \ ++ sposvxx.$(SUFFIX) sporfsx.$(SUFFIX) sla_porfsx_extended.$(SUFFIX) sla_porcond.$(SUFFIX) \ ++ sla_porpvgrw.$(SUFFIX) sgbsvxx.$(SUFFIX) sgbrfsx.$(SUFFIX) sla_gbrfsx_extended.$(SUFFIX) \ ++ sla_gbamv.$(SUFFIX) sla_gbrcond.$(SUFFIX) sla_gbrpvgrw.$(SUFFIX) sla_lin_berr.$(SUFFIX) slarscl2.$(SUFFIX) \ ++ slascl2.$(SUFFIX) sla_wwaddw.$(SUFFIX) + endif + + CLASRC = \ +- cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \ +- cgbtf2.o cgbtrf.o cgbtrs.o cgebak.o cgebal.o cgebd2.o cgebrd.o \ +- cgecon.o cgeequ.o cgees.o cgeesx.o cgeev.o cgeevx.o \ +- cgegs.o cgegv.o cgehd2.o cgehrd.o cgelq2.o cgelqf.o \ +- cgels.o cgelsd.o cgelss.o cgelsx.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \ +- cgeqpf.o cgeqr2.o cgeqr2p.o cgeqrf.o cgeqrfp.o cgerfs.o \ +- cgerq2.o cgerqf.o cgesc2.o cgesdd.o cgesv.o cgesvd.o \ +- cgesvx.o cgetc2.o cgetf2.o cgetri.o \ +- cggbak.o cggbal.o cgges.o cggesx.o cggev.o cggevx.o cggglm.o \ +- cgghrd.o cgglse.o cggqrf.o cggrqf.o \ +- cggsvd.o cggsvp.o \ +- cgtcon.o cgtrfs.o cgtsv.o cgtsvx.o cgttrf.o cgttrs.o cgtts2.o chbev.o \ +- chbevd.o chbevx.o chbgst.o chbgv.o chbgvd.o chbgvx.o chbtrd.o \ +- checon.o cheev.o cheevd.o cheevr.o cheevx.o chegs2.o chegst.o \ +- chegv.o chegvd.o chegvx.o cherfs.o chesv.o chesvx.o chetd2.o \ +- chetf2.o chetrd.o \ +- chetrf.o chetri.o chetri2.o chetri2x.o cheswapr.o \ +- chetrs.o chetrs2.o chgeqz.o chpcon.o chpev.o chpevd.o \ +- chpevx.o chpgst.o chpgv.o chpgvd.o chpgvx.o chprfs.o chpsv.o \ +- chpsvx.o \ +- chptrd.o chptrf.o chptri.o chptrs.o chsein.o chseqr.o clabrd.o \ +- clacgv.o clacon.o clacn2.o clacp2.o clacpy.o clacrm.o clacrt.o cladiv.o \ +- claed0.o claed7.o claed8.o \ +- claein.o claesy.o claev2.o clags2.o clagtm.o \ +- clahef.o clahqr.o \ +- clahrd.o clahr2.o claic1.o clals0.o clalsa.o clalsd.o clangb.o clange.o clangt.o \ +- clanhb.o clanhe.o \ +- clanhp.o clanhs.o clanht.o clansb.o clansp.o clansy.o clantb.o \ +- clantp.o clantr.o clapll.o clapmt.o clarcm.o claqgb.o claqge.o \ +- claqhb.o claqhe.o claqhp.o claqp2.o claqps.o claqsb.o \ +- claqr0.o claqr1.o claqr2.o claqr3.o claqr4.o claqr5.o \ +- claqsp.o claqsy.o clar1v.o clar2v.o ilaclr.o ilaclc.o \ +- clarf.o clarfb.o clarfg.o clarft.o clarfgp.o \ +- clarfx.o clargv.o clarnv.o clarrv.o clartg.o clartv.o \ +- clarz.o clarzb.o clarzt.o clascl.o claset.o clasr.o classq.o \ +- claswp.o clasyf.o clatbs.o clatdf.o clatps.o clatrd.o clatrs.o clatrz.o \ +- clatzm.o clauu2.o clauum.o cpbcon.o cpbequ.o cpbrfs.o cpbstf.o cpbsv.o \ +- cpbsvx.o cpbtf2.o cpbtrf.o cpbtrs.o cpocon.o cpoequ.o cporfs.o \ +- cposv.o cposvx.o cpotf2.o cpotri.o cpstrf.o cpstf2.o \ +- cppcon.o cppequ.o cpprfs.o cppsv.o cppsvx.o cpptrf.o cpptri.o cpptrs.o \ +- cptcon.o cpteqr.o cptrfs.o cptsv.o cptsvx.o cpttrf.o cpttrs.o cptts2.o \ +- crot.o cspcon.o cspmv.o cspr.o csprfs.o cspsv.o \ +- cspsvx.o csptrf.o csptri.o csptrs.o csrscl.o cstedc.o \ +- cstegr.o cstein.o csteqr.o \ +- csycon.o csymv.o \ +- csyr.o csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o csytri2.o csytri2x.o \ +- csyswapr.o csytrs.o csytrs2.o csyconv.o \ +- ctbcon.o ctbrfs.o ctbtrs.o ctgevc.o ctgex2.o \ +- ctgexc.o ctgsen.o ctgsja.o ctgsna.o ctgsy2.o ctgsyl.o ctpcon.o \ +- ctprfs.o ctptri.o \ +- ctptrs.o ctrcon.o ctrevc.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \ +- ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrqf.o ctzrzf.o cung2l.o cung2r.o \ +- cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \ +- cungrq.o cungtr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o \ +- cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \ +- cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \ +- chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \ +- ctfttr.o ctpttf.o ctpttr.o ctrttf.o ctrttp.o \ +- cgeequb.o cgbequb.o csyequb.o cpoequb.o cheequb.o \ +- cbbcsd.o clapmr.o cunbdb.o cuncsd.o \ +- cgeqrt.o cgeqrt2.o cgeqrt3.o cgemqrt.o \ +- ctpqrt.o ctpqrt2.o ctpmqrt.o ctprfb.o ++ cbdsqr.$(SUFFIX) cgbbrd.$(SUFFIX) cgbcon.$(SUFFIX) cgbequ.$(SUFFIX) cgbrfs.$(SUFFIX) cgbsv.$(SUFFIX) cgbsvx.$(SUFFIX) \ ++ cgbtf2.$(SUFFIX) cgbtrf.$(SUFFIX) cgbtrs.$(SUFFIX) cgebak.$(SUFFIX) cgebal.$(SUFFIX) cgebd2.$(SUFFIX) cgebrd.$(SUFFIX) \ ++ cgecon.$(SUFFIX) cgeequ.$(SUFFIX) cgees.$(SUFFIX) cgeesx.$(SUFFIX) cgeev.$(SUFFIX) cgeevx.$(SUFFIX) \ ++ cgegs.$(SUFFIX) cgegv.$(SUFFIX) cgehd2.$(SUFFIX) cgehrd.$(SUFFIX) cgelq2.$(SUFFIX) cgelqf.$(SUFFIX) \ ++ cgels.$(SUFFIX) cgelsd.$(SUFFIX) cgelss.$(SUFFIX) cgelsx.$(SUFFIX) cgelsy.$(SUFFIX) cgeql2.$(SUFFIX) cgeqlf.$(SUFFIX) cgeqp3.$(SUFFIX) \ ++ cgeqpf.$(SUFFIX) cgeqr2.$(SUFFIX) cgeqr2p.$(SUFFIX) cgeqrf.$(SUFFIX) cgeqrfp.$(SUFFIX) cgerfs.$(SUFFIX) \ ++ cgerq2.$(SUFFIX) cgerqf.$(SUFFIX) cgesc2.$(SUFFIX) cgesdd.$(SUFFIX) cgesv.$(SUFFIX) cgesvd.$(SUFFIX) \ ++ cgesvx.$(SUFFIX) cgetc2.$(SUFFIX) cgetri.$(SUFFIX) \ ++ cggbak.$(SUFFIX) cggbal.$(SUFFIX) cgges.$(SUFFIX) cggesx.$(SUFFIX) cggev.$(SUFFIX) cggevx.$(SUFFIX) cggglm.$(SUFFIX) \ ++ cgghrd.$(SUFFIX) cgglse.$(SUFFIX) cggqrf.$(SUFFIX) cggrqf.$(SUFFIX) \ ++ cggsvd.$(SUFFIX) cggsvp.$(SUFFIX) \ ++ cgtcon.$(SUFFIX) cgtrfs.$(SUFFIX) cgtsv.$(SUFFIX) cgtsvx.$(SUFFIX) cgttrf.$(SUFFIX) cgttrs.$(SUFFIX) cgtts2.$(SUFFIX) chbev.$(SUFFIX) \ ++ chbevd.$(SUFFIX) chbevx.$(SUFFIX) chbgst.$(SUFFIX) chbgv.$(SUFFIX) chbgvd.$(SUFFIX) chbgvx.$(SUFFIX) chbtrd.$(SUFFIX) \ ++ checon.$(SUFFIX) cheev.$(SUFFIX) cheevd.$(SUFFIX) cheevr.$(SUFFIX) cheevx.$(SUFFIX) chegs2.$(SUFFIX) chegst.$(SUFFIX) \ ++ chegv.$(SUFFIX) chegvd.$(SUFFIX) chegvx.$(SUFFIX) cherfs.$(SUFFIX) chesv.$(SUFFIX) chesvx.$(SUFFIX) chetd2.$(SUFFIX) \ ++ chetf2.$(SUFFIX) chetrd.$(SUFFIX) \ ++ chetrf.$(SUFFIX) chetri.$(SUFFIX) chetri2.$(SUFFIX) chetri2x.$(SUFFIX) cheswapr.$(SUFFIX) \ ++ chetrs.$(SUFFIX) chetrs2.$(SUFFIX) chgeqz.$(SUFFIX) chpcon.$(SUFFIX) chpev.$(SUFFIX) chpevd.$(SUFFIX) \ ++ chpevx.$(SUFFIX) chpgst.$(SUFFIX) chpgv.$(SUFFIX) chpgvd.$(SUFFIX) chpgvx.$(SUFFIX) chprfs.$(SUFFIX) chpsv.$(SUFFIX) \ ++ chpsvx.$(SUFFIX) \ ++ chptrd.$(SUFFIX) chptrf.$(SUFFIX) chptri.$(SUFFIX) chptrs.$(SUFFIX) chsein.$(SUFFIX) chseqr.$(SUFFIX) clabrd.$(SUFFIX) \ ++ clacgv.$(SUFFIX) clacon.$(SUFFIX) clacn2.$(SUFFIX) clacp2.$(SUFFIX) clacpy.$(SUFFIX) clacrm.$(SUFFIX) clacrt.$(SUFFIX) cladiv.$(SUFFIX) \ ++ claed0.$(SUFFIX) claed7.$(SUFFIX) claed8.$(SUFFIX) \ ++ claein.$(SUFFIX) claesy.$(SUFFIX) claev2.$(SUFFIX) clags2.$(SUFFIX) clagtm.$(SUFFIX) \ ++ clahef.$(SUFFIX) clahqr.$(SUFFIX) \ ++ clahrd.$(SUFFIX) clahr2.$(SUFFIX) claic1.$(SUFFIX) clals0.$(SUFFIX) clalsa.$(SUFFIX) clalsd.$(SUFFIX) clangb.$(SUFFIX) clange.$(SUFFIX) clangt.$(SUFFIX) \ ++ clanhb.$(SUFFIX) clanhe.$(SUFFIX) \ ++ clanhp.$(SUFFIX) clanhs.$(SUFFIX) clanht.$(SUFFIX) clansb.$(SUFFIX) clansp.$(SUFFIX) clansy.$(SUFFIX) clantb.$(SUFFIX) \ ++ clantp.$(SUFFIX) clantr.$(SUFFIX) clapll.$(SUFFIX) clapmt.$(SUFFIX) clarcm.$(SUFFIX) claqgb.$(SUFFIX) claqge.$(SUFFIX) \ ++ claqhb.$(SUFFIX) claqhe.$(SUFFIX) claqhp.$(SUFFIX) claqp2.$(SUFFIX) claqps.$(SUFFIX) claqsb.$(SUFFIX) \ ++ claqr0.$(SUFFIX) claqr1.$(SUFFIX) claqr2.$(SUFFIX) claqr3.$(SUFFIX) claqr4.$(SUFFIX) claqr5.$(SUFFIX) \ ++ claqsp.$(SUFFIX) claqsy.$(SUFFIX) clar1v.$(SUFFIX) clar2v.$(SUFFIX) ilaclr.$(SUFFIX) ilaclc.$(SUFFIX) \ ++ clarf.$(SUFFIX) clarfb.$(SUFFIX) clarfg.$(SUFFIX) clarft.$(SUFFIX) clarfgp.$(SUFFIX) \ ++ clarfx.$(SUFFIX) clargv.$(SUFFIX) clarnv.$(SUFFIX) clarrv.$(SUFFIX) clartg.$(SUFFIX) clartv.$(SUFFIX) \ ++ clarz.$(SUFFIX) clarzb.$(SUFFIX) clarzt.$(SUFFIX) clascl.$(SUFFIX) claset.$(SUFFIX) clasr.$(SUFFIX) classq.$(SUFFIX) \ ++ claswp.$(SUFFIX) clasyf.$(SUFFIX) clatbs.$(SUFFIX) clatdf.$(SUFFIX) clatps.$(SUFFIX) clatrd.$(SUFFIX) clatrs.$(SUFFIX) clatrz.$(SUFFIX) \ ++ clatzm.$(SUFFIX) cpbcon.$(SUFFIX) cpbequ.$(SUFFIX) cpbrfs.$(SUFFIX) cpbstf.$(SUFFIX) cpbsv.$(SUFFIX) \ ++ cpbsvx.$(SUFFIX) cpbtf2.$(SUFFIX) cpbtrf.$(SUFFIX) cpbtrs.$(SUFFIX) cpocon.$(SUFFIX) cpoequ.$(SUFFIX) cporfs.$(SUFFIX) \ ++ cposv.$(SUFFIX) cposvx.$(SUFFIX) cpotri.$(SUFFIX) cpstrf.$(SUFFIX) cpstf2.$(SUFFIX) \ ++ cppcon.$(SUFFIX) cppequ.$(SUFFIX) cpprfs.$(SUFFIX) cppsv.$(SUFFIX) cppsvx.$(SUFFIX) cpptrf.$(SUFFIX) cpptri.$(SUFFIX) cpptrs.$(SUFFIX) \ ++ cptcon.$(SUFFIX) cpteqr.$(SUFFIX) cptrfs.$(SUFFIX) cptsv.$(SUFFIX) cptsvx.$(SUFFIX) cpttrf.$(SUFFIX) cpttrs.$(SUFFIX) cptts2.$(SUFFIX) \ ++ crot.$(SUFFIX) cspcon.$(SUFFIX) cspmv.$(SUFFIX) cspr.$(SUFFIX) csprfs.$(SUFFIX) cspsv.$(SUFFIX) \ ++ cspsvx.$(SUFFIX) csptrf.$(SUFFIX) csptri.$(SUFFIX) csptrs.$(SUFFIX) csrscl.$(SUFFIX) cstedc.$(SUFFIX) \ ++ cstegr.$(SUFFIX) cstein.$(SUFFIX) csteqr.$(SUFFIX) \ ++ csycon.$(SUFFIX) csymv.$(SUFFIX) \ ++ csyr.$(SUFFIX) csyrfs.$(SUFFIX) csysv.$(SUFFIX) csysvx.$(SUFFIX) csytf2.$(SUFFIX) csytrf.$(SUFFIX) csytri.$(SUFFIX) csytri2.$(SUFFIX) csytri2x.$(SUFFIX) \ ++ csyswapr.$(SUFFIX) csytrs.$(SUFFIX) csytrs2.$(SUFFIX) csyconv.$(SUFFIX) \ ++ ctbcon.$(SUFFIX) ctbrfs.$(SUFFIX) ctbtrs.$(SUFFIX) ctgevc.$(SUFFIX) ctgex2.$(SUFFIX) \ ++ ctgexc.$(SUFFIX) ctgsen.$(SUFFIX) ctgsja.$(SUFFIX) ctgsna.$(SUFFIX) ctgsy2.$(SUFFIX) ctgsyl.$(SUFFIX) ctpcon.$(SUFFIX) \ ++ ctprfs.$(SUFFIX) ctptri.$(SUFFIX) \ ++ ctptrs.$(SUFFIX) ctrcon.$(SUFFIX) ctrevc.$(SUFFIX) ctrexc.$(SUFFIX) ctrrfs.$(SUFFIX) ctrsen.$(SUFFIX) ctrsna.$(SUFFIX) \ ++ ctrsyl.$(SUFFIX) ctrtrs.$(SUFFIX) ctzrqf.$(SUFFIX) ctzrzf.$(SUFFIX) cung2l.$(SUFFIX) cung2r.$(SUFFIX) \ ++ cungbr.$(SUFFIX) cunghr.$(SUFFIX) cungl2.$(SUFFIX) cunglq.$(SUFFIX) cungql.$(SUFFIX) cungqr.$(SUFFIX) cungr2.$(SUFFIX) \ ++ cungrq.$(SUFFIX) cungtr.$(SUFFIX) cunm2l.$(SUFFIX) cunm2r.$(SUFFIX) cunmbr.$(SUFFIX) cunmhr.$(SUFFIX) cunml2.$(SUFFIX) \ ++ cunmlq.$(SUFFIX) cunmql.$(SUFFIX) cunmqr.$(SUFFIX) cunmr2.$(SUFFIX) cunmr3.$(SUFFIX) cunmrq.$(SUFFIX) cunmrz.$(SUFFIX) \ ++ cunmtr.$(SUFFIX) cupgtr.$(SUFFIX) cupmtr.$(SUFFIX) icmax1.$(SUFFIX) scsum1.$(SUFFIX) cstemr.$(SUFFIX) \ ++ chfrk.$(SUFFIX) ctfttp.$(SUFFIX) clanhf.$(SUFFIX) cpftrf.$(SUFFIX) cpftri.$(SUFFIX) cpftrs.$(SUFFIX) ctfsm.$(SUFFIX) ctftri.$(SUFFIX) \ ++ ctfttr.$(SUFFIX) ctpttf.$(SUFFIX) ctpttr.$(SUFFIX) ctrttf.$(SUFFIX) ctrttp.$(SUFFIX) \ ++ cgeequb.$(SUFFIX) cgbequb.$(SUFFIX) csyequb.$(SUFFIX) cpoequb.$(SUFFIX) cheequb.$(SUFFIX) \ ++ cbbcsd.$(SUFFIX) clapmr.$(SUFFIX) cunbdb.$(SUFFIX) cuncsd.$(SUFFIX) \ ++ cgeqrt.$(SUFFIX) cgeqrt2.$(SUFFIX) cgeqrt3.$(SUFFIX) cgemqrt.$(SUFFIX) \ ++ ctpqrt.$(SUFFIX) ctpqrt2.$(SUFFIX) ctpmqrt.$(SUFFIX) ctprfb.$(SUFFIX) + + ifdef USEXBLAS +-CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \ +- cla_gercond_c.o cla_gercond_x.o cla_gerpvgrw.o \ +- csysvxx.o csyrfsx.o cla_syrfsx_extended.o cla_syamv.o \ +- cla_syrcond_c.o cla_syrcond_x.o cla_syrpvgrw.o \ +- cposvxx.o cporfsx.o cla_porfsx_extended.o \ +- cla_porcond_c.o cla_porcond_x.o cla_porpvgrw.o \ +- cgbsvxx.o cgbrfsx.o cla_gbrfsx_extended.o cla_gbamv.o \ +- cla_gbrcond_c.o cla_gbrcond_x.o cla_gbrpvgrw.o \ +- chesvxx.o cherfsx.o cla_herfsx_extended.o cla_heamv.o \ +- cla_hercond_c.o cla_hercond_x.o cla_herpvgrw.o \ +- cla_lin_berr.o clarscl2.o clascl2.o cla_wwaddw.o ++CXLASRC = cgesvxx.$(SUFFIX) cgerfsx.$(SUFFIX) cla_gerfsx_extended.$(SUFFIX) cla_geamv.$(SUFFIX) \ ++ cla_gercond_c.$(SUFFIX) cla_gercond_x.$(SUFFIX) cla_gerpvgrw.$(SUFFIX) \ ++ csysvxx.$(SUFFIX) csyrfsx.$(SUFFIX) cla_syrfsx_extended.$(SUFFIX) cla_syamv.$(SUFFIX) \ ++ cla_syrcond_c.$(SUFFIX) cla_syrcond_x.$(SUFFIX) cla_syrpvgrw.$(SUFFIX) \ ++ cposvxx.$(SUFFIX) cporfsx.$(SUFFIX) cla_porfsx_extended.$(SUFFIX) \ ++ cla_porcond_c.$(SUFFIX) cla_porcond_x.$(SUFFIX) cla_porpvgrw.$(SUFFIX) \ ++ cgbsvxx.$(SUFFIX) cgbrfsx.$(SUFFIX) cla_gbrfsx_extended.$(SUFFIX) cla_gbamv.$(SUFFIX) \ ++ cla_gbrcond_c.$(SUFFIX) cla_gbrcond_x.$(SUFFIX) cla_gbrpvgrw.$(SUFFIX) \ ++ chesvxx.$(SUFFIX) cherfsx.$(SUFFIX) cla_herfsx_extended.$(SUFFIX) cla_heamv.$(SUFFIX) \ ++ cla_hercond_c.$(SUFFIX) cla_hercond_x.$(SUFFIX) cla_herpvgrw.$(SUFFIX) \ ++ cla_lin_berr.$(SUFFIX) clarscl2.$(SUFFIX) clascl2.$(SUFFIX) cla_wwaddw.$(SUFFIX) + endif + +-ZCLASRC = cpotrs.o cgetrs.o cpotrf.o cgetrf.o ++ZCLASRC = cpotrs.$(SUFFIX) + + DLASRC = \ +- dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \ +- dgbsvx.o dgbtf2.o dgbtrf.o dgbtrs.o dgebak.o dgebal.o dgebd2.o \ +- dgebrd.o dgecon.o dgeequ.o dgees.o dgeesx.o dgeev.o dgeevx.o \ +- dgegs.o dgegv.o dgehd2.o dgehrd.o dgelq2.o dgelqf.o \ +- dgels.o dgelsd.o dgelss.o dgelsx.o dgelsy.o dgeql2.o dgeqlf.o \ +- dgeqp3.o dgeqpf.o dgeqr2.o dgeqr2p.o dgeqrf.o dgeqrfp.o dgerfs.o \ +- dgerq2.o dgerqf.o dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvx.o \ +- dgetc2.o dgetf2.o dgetrf.o dgetri.o \ +- dgetrs.o dggbak.o dggbal.o dgges.o dggesx.o dggev.o dggevx.o \ +- dggglm.o dgghrd.o dgglse.o dggqrf.o \ +- dggrqf.o dggsvd.o dggsvp.o dgtcon.o dgtrfs.o dgtsv.o \ +- dgtsvx.o dgttrf.o dgttrs.o dgtts2.o dhgeqz.o \ +- dhsein.o dhseqr.o dlabrd.o dlacon.o dlacn2.o \ +- dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o dlahqr.o \ +- dlahrd.o dlahr2.o dlaic1.o dlaln2.o dlals0.o dlalsa.o dlalsd.o \ +- dlangb.o dlange.o dlangt.o dlanhs.o dlansb.o dlansp.o \ +- dlansy.o dlantb.o dlantp.o dlantr.o dlanv2.o \ +- dlapll.o dlapmt.o \ +- dlaqgb.o dlaqge.o dlaqp2.o dlaqps.o dlaqsb.o dlaqsp.o dlaqsy.o \ +- dlaqr0.o dlaqr1.o dlaqr2.o dlaqr3.o dlaqr4.o dlaqr5.o \ +- dlaqtr.o dlar1v.o dlar2v.o iladlr.o iladlc.o \ +- dlarf.o dlarfb.o dlarfg.o dlarfgp.o dlarft.o dlarfx.o \ +- dlargv.o dlarrv.o dlartv.o \ +- dlarz.o dlarzb.o dlarzt.o dlaswp.o dlasy2.o dlasyf.o \ +- dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlatzm.o dlauu2.o \ +- dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \ +- dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \ +- dorgrq.o dorgtr.o dorm2l.o dorm2r.o \ +- dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \ +- dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \ +- dpbstf.o dpbsv.o dpbsvx.o \ +- dpbtf2.o dpbtrf.o dpbtrs.o dpocon.o dpoequ.o dporfs.o dposv.o \ +- dposvx.o dpotf2.o dpotrf.o dpotri.o dpotrs.o dpstrf.o dpstf2.o \ +- dppcon.o dppequ.o \ +- dpprfs.o dppsv.o dppsvx.o dpptrf.o dpptri.o dpptrs.o dptcon.o \ +- dpteqr.o dptrfs.o dptsv.o dptsvx.o dpttrs.o dptts2.o drscl.o \ +- dsbev.o dsbevd.o dsbevx.o dsbgst.o dsbgv.o dsbgvd.o dsbgvx.o \ +- dsbtrd.o dspcon.o dspev.o dspevd.o dspevx.o dspgst.o \ +- dspgv.o dspgvd.o dspgvx.o dsprfs.o dspsv.o dspsvx.o dsptrd.o \ +- dsptrf.o dsptri.o dsptrs.o dstegr.o dstein.o dstev.o dstevd.o dstevr.o \ +- dstevx.o \ +- dsycon.o dsyev.o dsyevd.o dsyevr.o \ +- dsyevx.o dsygs2.o dsygst.o dsygv.o dsygvd.o dsygvx.o dsyrfs.o \ +- dsysv.o dsysvx.o \ +- dsytd2.o dsytf2.o dsytrd.o dsytrf.o dsytri.o dsytri2.o dsytri2x.o \ +- dsyswapr.o dsytrs.o dsytrs2.o dsyconv.o \ +- dtbcon.o dtbrfs.o dtbtrs.o dtgevc.o dtgex2.o dtgexc.o dtgsen.o \ +- dtgsja.o dtgsna.o dtgsy2.o dtgsyl.o dtpcon.o dtprfs.o dtptri.o \ +- dtptrs.o \ +- dtrcon.o dtrevc.o dtrexc.o dtrrfs.o dtrsen.o dtrsna.o dtrsyl.o \ +- dtrti2.o dtrtri.o dtrtrs.o dtzrqf.o dtzrzf.o dstemr.o \ +- dsgesv.o dsposv.o dlag2s.o slag2d.o dlat2s.o \ +- dlansf.o dpftrf.o dpftri.o dpftrs.o dsfrk.o dtfsm.o dtftri.o dtfttp.o \ +- dtfttr.o dtpttf.o dtpttr.o dtrttf.o dtrttp.o \ +- dgejsv.o dgesvj.o dgsvj0.o dgsvj1.o \ +- dgeequb.o dsyequb.o dpoequb.o dgbequb.o \ +- dbbcsd.o dlapmr.o dorbdb.o dorcsd.o \ +- dgeqrt.o dgeqrt2.o dgeqrt3.o dgemqrt.o \ +- dtpqrt.o dtpqrt2.o dtpmqrt.o dtprfb.o ++ dgbbrd.$(SUFFIX) dgbcon.$(SUFFIX) dgbequ.$(SUFFIX) dgbrfs.$(SUFFIX) dgbsv.$(SUFFIX) \ ++ dgbsvx.$(SUFFIX) dgbtf2.$(SUFFIX) dgbtrf.$(SUFFIX) dgbtrs.$(SUFFIX) dgebak.$(SUFFIX) dgebal.$(SUFFIX) dgebd2.$(SUFFIX) \ ++ dgebrd.$(SUFFIX) dgecon.$(SUFFIX) dgeequ.$(SUFFIX) dgees.$(SUFFIX) dgeesx.$(SUFFIX) dgeev.$(SUFFIX) dgeevx.$(SUFFIX) \ ++ dgegs.$(SUFFIX) dgegv.$(SUFFIX) dgehd2.$(SUFFIX) dgehrd.$(SUFFIX) dgelq2.$(SUFFIX) dgelqf.$(SUFFIX) \ ++ dgels.$(SUFFIX) dgelsd.$(SUFFIX) dgelss.$(SUFFIX) dgelsx.$(SUFFIX) dgelsy.$(SUFFIX) dgeql2.$(SUFFIX) dgeqlf.$(SUFFIX) \ ++ dgeqp3.$(SUFFIX) dgeqpf.$(SUFFIX) dgeqr2.$(SUFFIX) dgeqr2p.$(SUFFIX) dgeqrf.$(SUFFIX) dgeqrfp.$(SUFFIX) dgerfs.$(SUFFIX) \ ++ dgerq2.$(SUFFIX) dgerqf.$(SUFFIX) dgesc2.$(SUFFIX) dgesdd.$(SUFFIX) dgesv.$(SUFFIX) dgesvd.$(SUFFIX) dgesvx.$(SUFFIX) \ ++ dgetc2.$(SUFFIX) dgetri.$(SUFFIX) \ ++ dggbak.$(SUFFIX) dggbal.$(SUFFIX) dgges.$(SUFFIX) dggesx.$(SUFFIX) dggev.$(SUFFIX) dggevx.$(SUFFIX) \ ++ dggglm.$(SUFFIX) dgghrd.$(SUFFIX) dgglse.$(SUFFIX) dggqrf.$(SUFFIX) \ ++ dggrqf.$(SUFFIX) dggsvd.$(SUFFIX) dggsvp.$(SUFFIX) dgtcon.$(SUFFIX) dgtrfs.$(SUFFIX) dgtsv.$(SUFFIX) \ ++ dgtsvx.$(SUFFIX) dgttrf.$(SUFFIX) dgttrs.$(SUFFIX) dgtts2.$(SUFFIX) dhgeqz.$(SUFFIX) \ ++ dhsein.$(SUFFIX) dhseqr.$(SUFFIX) dlabrd.$(SUFFIX) dlacon.$(SUFFIX) dlacn2.$(SUFFIX) \ ++ dlaein.$(SUFFIX) dlaexc.$(SUFFIX) dlag2.$(SUFFIX) dlags2.$(SUFFIX) dlagtm.$(SUFFIX) dlagv2.$(SUFFIX) dlahqr.$(SUFFIX) \ ++ dlahrd.$(SUFFIX) dlahr2.$(SUFFIX) dlaic1.$(SUFFIX) dlaln2.$(SUFFIX) dlals0.$(SUFFIX) dlalsa.$(SUFFIX) dlalsd.$(SUFFIX) \ ++ dlangb.$(SUFFIX) dlange.$(SUFFIX) dlangt.$(SUFFIX) dlanhs.$(SUFFIX) dlansb.$(SUFFIX) dlansp.$(SUFFIX) \ ++ dlansy.$(SUFFIX) dlantb.$(SUFFIX) dlantp.$(SUFFIX) dlantr.$(SUFFIX) dlanv2.$(SUFFIX) \ ++ dlapll.$(SUFFIX) dlapmt.$(SUFFIX) \ ++ dlaqgb.$(SUFFIX) dlaqge.$(SUFFIX) dlaqp2.$(SUFFIX) dlaqps.$(SUFFIX) dlaqsb.$(SUFFIX) dlaqsp.$(SUFFIX) dlaqsy.$(SUFFIX) \ ++ dlaqr0.$(SUFFIX) dlaqr1.$(SUFFIX) dlaqr2.$(SUFFIX) dlaqr3.$(SUFFIX) dlaqr4.$(SUFFIX) dlaqr5.$(SUFFIX) \ ++ dlaqtr.$(SUFFIX) dlar1v.$(SUFFIX) dlar2v.$(SUFFIX) iladlr.$(SUFFIX) iladlc.$(SUFFIX) \ ++ dlarf.$(SUFFIX) dlarfb.$(SUFFIX) dlarfg.$(SUFFIX) dlarfgp.$(SUFFIX) dlarft.$(SUFFIX) dlarfx.$(SUFFIX) \ ++ dlargv.$(SUFFIX) dlarrv.$(SUFFIX) dlartv.$(SUFFIX) \ ++ dlarz.$(SUFFIX) dlarzb.$(SUFFIX) dlarzt.$(SUFFIX) dlaswp.$(SUFFIX) dlasy2.$(SUFFIX) dlasyf.$(SUFFIX) \ ++ dlatbs.$(SUFFIX) dlatdf.$(SUFFIX) dlatps.$(SUFFIX) dlatrd.$(SUFFIX) dlatrs.$(SUFFIX) dlatrz.$(SUFFIX) dlatzm.$(SUFFIX) \ ++ dopgtr.$(SUFFIX) dopmtr.$(SUFFIX) dorg2l.$(SUFFIX) dorg2r.$(SUFFIX) \ ++ dorgbr.$(SUFFIX) dorghr.$(SUFFIX) dorgl2.$(SUFFIX) dorglq.$(SUFFIX) dorgql.$(SUFFIX) dorgqr.$(SUFFIX) dorgr2.$(SUFFIX) \ ++ dorgrq.$(SUFFIX) dorgtr.$(SUFFIX) dorm2l.$(SUFFIX) dorm2r.$(SUFFIX) \ ++ dormbr.$(SUFFIX) dormhr.$(SUFFIX) dorml2.$(SUFFIX) dormlq.$(SUFFIX) dormql.$(SUFFIX) dormqr.$(SUFFIX) dormr2.$(SUFFIX) \ ++ dormr3.$(SUFFIX) dormrq.$(SUFFIX) dormrz.$(SUFFIX) dormtr.$(SUFFIX) dpbcon.$(SUFFIX) dpbequ.$(SUFFIX) dpbrfs.$(SUFFIX) \ ++ dpbstf.$(SUFFIX) dpbsv.$(SUFFIX) dpbsvx.$(SUFFIX) \ ++ dpbtf2.$(SUFFIX) dpbtrf.$(SUFFIX) dpbtrs.$(SUFFIX) dpocon.$(SUFFIX) dpoequ.$(SUFFIX) dporfs.$(SUFFIX) dposv.$(SUFFIX) \ ++ dposvx.$(SUFFIX) dpotri.$(SUFFIX) dpotrs.$(SUFFIX) dpstrf.$(SUFFIX) dpstf2.$(SUFFIX) \ ++ dppcon.$(SUFFIX) dppequ.$(SUFFIX) \ ++ dpprfs.$(SUFFIX) dppsv.$(SUFFIX) dppsvx.$(SUFFIX) dpptrf.$(SUFFIX) dpptri.$(SUFFIX) dpptrs.$(SUFFIX) dptcon.$(SUFFIX) \ ++ dpteqr.$(SUFFIX) dptrfs.$(SUFFIX) dptsv.$(SUFFIX) dptsvx.$(SUFFIX) dpttrs.$(SUFFIX) dptts2.$(SUFFIX) drscl.$(SUFFIX) \ ++ dsbev.$(SUFFIX) dsbevd.$(SUFFIX) dsbevx.$(SUFFIX) dsbgst.$(SUFFIX) dsbgv.$(SUFFIX) dsbgvd.$(SUFFIX) dsbgvx.$(SUFFIX) \ ++ dsbtrd.$(SUFFIX) dspcon.$(SUFFIX) dspev.$(SUFFIX) dspevd.$(SUFFIX) dspevx.$(SUFFIX) dspgst.$(SUFFIX) \ ++ dspgv.$(SUFFIX) dspgvd.$(SUFFIX) dspgvx.$(SUFFIX) dsprfs.$(SUFFIX) dspsv.$(SUFFIX) dspsvx.$(SUFFIX) dsptrd.$(SUFFIX) \ ++ dsptrf.$(SUFFIX) dsptri.$(SUFFIX) dsptrs.$(SUFFIX) dstegr.$(SUFFIX) dstein.$(SUFFIX) dstev.$(SUFFIX) dstevd.$(SUFFIX) dstevr.$(SUFFIX) \ ++ dstevx.$(SUFFIX) \ ++ dsycon.$(SUFFIX) dsyev.$(SUFFIX) dsyevd.$(SUFFIX) dsyevr.$(SUFFIX) \ ++ dsyevx.$(SUFFIX) dsygs2.$(SUFFIX) dsygst.$(SUFFIX) dsygv.$(SUFFIX) dsygvd.$(SUFFIX) dsygvx.$(SUFFIX) dsyrfs.$(SUFFIX) \ ++ dsysv.$(SUFFIX) dsysvx.$(SUFFIX) \ ++ dsytd2.$(SUFFIX) dsytf2.$(SUFFIX) dsytrd.$(SUFFIX) dsytrf.$(SUFFIX) dsytri.$(SUFFIX) dsytri2.$(SUFFIX) dsytri2x.$(SUFFIX) \ ++ dsyswapr.$(SUFFIX) dsytrs.$(SUFFIX) dsytrs2.$(SUFFIX) dsyconv.$(SUFFIX) \ ++ dtbcon.$(SUFFIX) dtbrfs.$(SUFFIX) dtbtrs.$(SUFFIX) dtgevc.$(SUFFIX) dtgex2.$(SUFFIX) dtgexc.$(SUFFIX) dtgsen.$(SUFFIX) \ ++ dtgsja.$(SUFFIX) dtgsna.$(SUFFIX) dtgsy2.$(SUFFIX) dtgsyl.$(SUFFIX) dtpcon.$(SUFFIX) dtprfs.$(SUFFIX) dtptri.$(SUFFIX) \ ++ dtptrs.$(SUFFIX) \ ++ dtrcon.$(SUFFIX) dtrevc.$(SUFFIX) dtrexc.$(SUFFIX) dtrrfs.$(SUFFIX) dtrsen.$(SUFFIX) dtrsna.$(SUFFIX) dtrsyl.$(SUFFIX) \ ++ dtrtrs.$(SUFFIX) dtzrqf.$(SUFFIX) dtzrzf.$(SUFFIX) dstemr.$(SUFFIX) \ ++ dsgesv.$(SUFFIX) dsposv.$(SUFFIX) dlag2s.$(SUFFIX) slag2d.$(SUFFIX) dlat2s.$(SUFFIX) \ ++ dlansf.$(SUFFIX) dpftrf.$(SUFFIX) dpftri.$(SUFFIX) dpftrs.$(SUFFIX) dsfrk.$(SUFFIX) dtfsm.$(SUFFIX) dtftri.$(SUFFIX) dtfttp.$(SUFFIX) \ ++ dtfttr.$(SUFFIX) dtpttf.$(SUFFIX) dtpttr.$(SUFFIX) dtrttf.$(SUFFIX) dtrttp.$(SUFFIX) \ ++ dgejsv.$(SUFFIX) dgesvj.$(SUFFIX) dgsvj0.$(SUFFIX) dgsvj1.$(SUFFIX) \ ++ dgeequb.$(SUFFIX) dsyequb.$(SUFFIX) dpoequb.$(SUFFIX) dgbequb.$(SUFFIX) \ ++ dbbcsd.$(SUFFIX) dlapmr.$(SUFFIX) dorbdb.$(SUFFIX) dorcsd.$(SUFFIX) \ ++ dgeqrt.$(SUFFIX) dgeqrt2.$(SUFFIX) dgeqrt3.$(SUFFIX) dgemqrt.$(SUFFIX) \ ++ dtpqrt.$(SUFFIX) dtpqrt2.$(SUFFIX) dtpmqrt.$(SUFFIX) dtprfb.$(SUFFIX) + + ifdef USEXBLAS +-DXLASRC = dgesvxx.o dgerfsx.o dla_gerfsx_extended.o dla_geamv.o \ +- dla_gercond.o dla_gerpvgrw.o dsysvxx.o dsyrfsx.o \ +- dla_syrfsx_extended.o dla_syamv.o dla_syrcond.o dla_syrpvgrw.o \ +- dposvxx.o dporfsx.o dla_porfsx_extended.o dla_porcond.o \ +- dla_porpvgrw.o dgbsvxx.o dgbrfsx.o dla_gbrfsx_extended.o \ +- dla_gbamv.o dla_gbrcond.o dla_gbrpvgrw.o dla_lin_berr.o dlarscl2.o \ +- dlascl2.o dla_wwaddw.o ++DXLASRC = dgesvxx.$(SUFFIX) dgerfsx.$(SUFFIX) dla_gerfsx_extended.$(SUFFIX) dla_geamv.$(SUFFIX) \ ++ dla_gercond.$(SUFFIX) dla_gerpvgrw.$(SUFFIX) dsysvxx.$(SUFFIX) dsyrfsx.$(SUFFIX) \ ++ dla_syrfsx_extended.$(SUFFIX) dla_syamv.$(SUFFIX) dla_syrcond.$(SUFFIX) dla_syrpvgrw.$(SUFFIX) \ ++ dposvxx.$(SUFFIX) dporfsx.$(SUFFIX) dla_porfsx_extended.$(SUFFIX) dla_porcond.$(SUFFIX) \ ++ dla_porpvgrw.$(SUFFIX) dgbsvxx.$(SUFFIX) dgbrfsx.$(SUFFIX) dla_gbrfsx_extended.$(SUFFIX) \ ++ dla_gbamv.$(SUFFIX) dla_gbrcond.$(SUFFIX) dla_gbrpvgrw.$(SUFFIX) dla_lin_berr.$(SUFFIX) dlarscl2.$(SUFFIX) \ ++ dlascl2.$(SUFFIX) dla_wwaddw.$(SUFFIX) + endif + + ZLASRC = \ +- zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \ +- zgbtf2.o zgbtrf.o zgbtrs.o zgebak.o zgebal.o zgebd2.o zgebrd.o \ +- zgecon.o zgeequ.o zgees.o zgeesx.o zgeev.o zgeevx.o \ +- zgegs.o zgegv.o zgehd2.o zgehrd.o zgelq2.o zgelqf.o \ +- zgels.o zgelsd.o zgelss.o zgelsx.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \ +- zgeqpf.o zgeqr2.o zgeqr2p.o zgeqrf.o zgeqrfp.o zgerfs.o zgerq2.o zgerqf.o \ +- zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvx.o zgetc2.o zgetf2.o zgetrf.o \ +- zgetri.o zgetrs.o \ +- zggbak.o zggbal.o zgges.o zggesx.o zggev.o zggevx.o zggglm.o \ +- zgghrd.o zgglse.o zggqrf.o zggrqf.o \ +- zggsvd.o zggsvp.o \ +- zgtcon.o zgtrfs.o zgtsv.o zgtsvx.o zgttrf.o zgttrs.o zgtts2.o zhbev.o \ +- zhbevd.o zhbevx.o zhbgst.o zhbgv.o zhbgvd.o zhbgvx.o zhbtrd.o \ +- zhecon.o zheev.o zheevd.o zheevr.o zheevx.o zhegs2.o zhegst.o \ +- zhegv.o zhegvd.o zhegvx.o zherfs.o zhesv.o zhesvx.o zhetd2.o \ +- zhetf2.o zhetrd.o \ +- zhetrf.o zhetri.o zhetri2.o zhetri2x.o zheswapr.o \ +- zhetrs.o zhetrs2.o zhgeqz.o zhpcon.o zhpev.o zhpevd.o \ +- zhpevx.o zhpgst.o zhpgv.o zhpgvd.o zhpgvx.o zhprfs.o zhpsv.o \ +- zhpsvx.o \ +- zhptrd.o zhptrf.o zhptri.o zhptrs.o zhsein.o zhseqr.o zlabrd.o \ +- zlacgv.o zlacon.o zlacn2.o zlacp2.o zlacpy.o zlacrm.o zlacrt.o zladiv.o \ +- zlaed0.o zlaed7.o zlaed8.o \ +- zlaein.o zlaesy.o zlaev2.o zlags2.o zlagtm.o \ +- zlahef.o zlahqr.o \ +- zlahrd.o zlahr2.o zlaic1.o zlals0.o zlalsa.o zlalsd.o zlangb.o zlange.o \ +- zlangt.o zlanhb.o \ +- zlanhe.o \ +- zlanhp.o zlanhs.o zlanht.o zlansb.o zlansp.o zlansy.o zlantb.o \ +- zlantp.o zlantr.o zlapll.o zlapmt.o zlaqgb.o zlaqge.o \ +- zlaqhb.o zlaqhe.o zlaqhp.o zlaqp2.o zlaqps.o zlaqsb.o \ +- zlaqr0.o zlaqr1.o zlaqr2.o zlaqr3.o zlaqr4.o zlaqr5.o \ +- zlaqsp.o zlaqsy.o zlar1v.o zlar2v.o ilazlr.o ilazlc.o \ +- zlarcm.o zlarf.o zlarfb.o \ +- zlarfg.o zlarft.o zlarfgp.o \ +- zlarfx.o zlargv.o zlarnv.o zlarrv.o zlartg.o zlartv.o \ +- zlarz.o zlarzb.o zlarzt.o zlascl.o zlaset.o zlasr.o \ +- zlassq.o zlaswp.o zlasyf.o \ +- zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlatzm.o zlauu2.o \ +- zlauum.o zpbcon.o zpbequ.o zpbrfs.o zpbstf.o zpbsv.o \ +- zpbsvx.o zpbtf2.o zpbtrf.o zpbtrs.o zpocon.o zpoequ.o zporfs.o \ +- zposv.o zposvx.o zpotf2.o zpotrf.o zpotri.o zpotrs.o zpstrf.o zpstf2.o \ +- zppcon.o zppequ.o zpprfs.o zppsv.o zppsvx.o zpptrf.o zpptri.o zpptrs.o \ +- zptcon.o zpteqr.o zptrfs.o zptsv.o zptsvx.o zpttrf.o zpttrs.o zptts2.o \ +- zrot.o zspcon.o zspmv.o zspr.o zsprfs.o zspsv.o \ +- zspsvx.o zsptrf.o zsptri.o zsptrs.o zdrscl.o zstedc.o \ +- zstegr.o zstein.o zsteqr.o \ +- zsycon.o zsymv.o \ +- zsyr.o zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o zsytri2.o zsytri2x.o \ +- zsyswapr.o zsytrs.o zsytrs2.o zsyconv.o \ +- ztbcon.o ztbrfs.o ztbtrs.o ztgevc.o ztgex2.o \ +- ztgexc.o ztgsen.o ztgsja.o ztgsna.o ztgsy2.o ztgsyl.o ztpcon.o \ +- ztprfs.o ztptri.o \ +- ztptrs.o ztrcon.o ztrevc.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \ +- ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrqf.o ztzrzf.o zung2l.o \ +- zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \ +- zungrq.o zungtr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o \ +- zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \ +- zunmtr.o zupgtr.o \ +- zupmtr.o izmax1.o dzsum1.o zstemr.o \ +- zcgesv.o zcposv.o zlag2c.o clag2z.o zlat2c.o \ +- zhfrk.o ztfttp.o zlanhf.o zpftrf.o zpftri.o zpftrs.o ztfsm.o ztftri.o \ +- ztfttr.o ztpttf.o ztpttr.o ztrttf.o ztrttp.o \ +- zgeequb.o zgbequb.o zsyequb.o zpoequb.o zheequb.o \ +- zbbcsd.o zlapmr.o zunbdb.o zuncsd.o \ +- zgeqrt.o zgeqrt2.o zgeqrt3.o zgemqrt.o \ +- ztpqrt.o ztpqrt2.o ztpmqrt.o ztprfb.o ++ zbdsqr.$(SUFFIX) zgbbrd.$(SUFFIX) zgbcon.$(SUFFIX) zgbequ.$(SUFFIX) zgbrfs.$(SUFFIX) zgbsv.$(SUFFIX) zgbsvx.$(SUFFIX) \ ++ zgbtf2.$(SUFFIX) zgbtrf.$(SUFFIX) zgbtrs.$(SUFFIX) zgebak.$(SUFFIX) zgebal.$(SUFFIX) zgebd2.$(SUFFIX) zgebrd.$(SUFFIX) \ ++ zgecon.$(SUFFIX) zgeequ.$(SUFFIX) zgees.$(SUFFIX) zgeesx.$(SUFFIX) zgeev.$(SUFFIX) zgeevx.$(SUFFIX) \ ++ zgegs.$(SUFFIX) zgegv.$(SUFFIX) zgehd2.$(SUFFIX) zgehrd.$(SUFFIX) zgelq2.$(SUFFIX) zgelqf.$(SUFFIX) \ ++ zgels.$(SUFFIX) zgelsd.$(SUFFIX) zgelss.$(SUFFIX) zgelsx.$(SUFFIX) zgelsy.$(SUFFIX) zgeql2.$(SUFFIX) zgeqlf.$(SUFFIX) zgeqp3.$(SUFFIX) \ ++ zgeqpf.$(SUFFIX) zgeqr2.$(SUFFIX) zgeqr2p.$(SUFFIX) zgeqrf.$(SUFFIX) zgeqrfp.$(SUFFIX) zgerfs.$(SUFFIX) zgerq2.$(SUFFIX) zgerqf.$(SUFFIX) \ ++ zgesc2.$(SUFFIX) zgesdd.$(SUFFIX) zgesv.$(SUFFIX) zgesvd.$(SUFFIX) zgesvx.$(SUFFIX) zgetc2.$(SUFFIX) \ ++ zgetri.$(SUFFIX) \ ++ zggbak.$(SUFFIX) zggbal.$(SUFFIX) zgges.$(SUFFIX) zggesx.$(SUFFIX) zggev.$(SUFFIX) zggevx.$(SUFFIX) zggglm.$(SUFFIX) \ ++ zgghrd.$(SUFFIX) zgglse.$(SUFFIX) zggqrf.$(SUFFIX) zggrqf.$(SUFFIX) \ ++ zggsvd.$(SUFFIX) zggsvp.$(SUFFIX) \ ++ zgtcon.$(SUFFIX) zgtrfs.$(SUFFIX) zgtsv.$(SUFFIX) zgtsvx.$(SUFFIX) zgttrf.$(SUFFIX) zgttrs.$(SUFFIX) zgtts2.$(SUFFIX) zhbev.$(SUFFIX) \ ++ zhbevd.$(SUFFIX) zhbevx.$(SUFFIX) zhbgst.$(SUFFIX) zhbgv.$(SUFFIX) zhbgvd.$(SUFFIX) zhbgvx.$(SUFFIX) zhbtrd.$(SUFFIX) \ ++ zhecon.$(SUFFIX) zheev.$(SUFFIX) zheevd.$(SUFFIX) zheevr.$(SUFFIX) zheevx.$(SUFFIX) zhegs2.$(SUFFIX) zhegst.$(SUFFIX) \ ++ zhegv.$(SUFFIX) zhegvd.$(SUFFIX) zhegvx.$(SUFFIX) zherfs.$(SUFFIX) zhesv.$(SUFFIX) zhesvx.$(SUFFIX) zhetd2.$(SUFFIX) \ ++ zhetf2.$(SUFFIX) zhetrd.$(SUFFIX) \ ++ zhetrf.$(SUFFIX) zhetri.$(SUFFIX) zhetri2.$(SUFFIX) zhetri2x.$(SUFFIX) zheswapr.$(SUFFIX) \ ++ zhetrs.$(SUFFIX) zhetrs2.$(SUFFIX) zhgeqz.$(SUFFIX) zhpcon.$(SUFFIX) zhpev.$(SUFFIX) zhpevd.$(SUFFIX) \ ++ zhpevx.$(SUFFIX) zhpgst.$(SUFFIX) zhpgv.$(SUFFIX) zhpgvd.$(SUFFIX) zhpgvx.$(SUFFIX) zhprfs.$(SUFFIX) zhpsv.$(SUFFIX) \ ++ zhpsvx.$(SUFFIX) \ ++ zhptrd.$(SUFFIX) zhptrf.$(SUFFIX) zhptri.$(SUFFIX) zhptrs.$(SUFFIX) zhsein.$(SUFFIX) zhseqr.$(SUFFIX) zlabrd.$(SUFFIX) \ ++ zlacgv.$(SUFFIX) zlacon.$(SUFFIX) zlacn2.$(SUFFIX) zlacp2.$(SUFFIX) zlacpy.$(SUFFIX) zlacrm.$(SUFFIX) zlacrt.$(SUFFIX) zladiv.$(SUFFIX) \ ++ zlaed0.$(SUFFIX) zlaed7.$(SUFFIX) zlaed8.$(SUFFIX) \ ++ zlaein.$(SUFFIX) zlaesy.$(SUFFIX) zlaev2.$(SUFFIX) zlags2.$(SUFFIX) zlagtm.$(SUFFIX) \ ++ zlahef.$(SUFFIX) zlahqr.$(SUFFIX) \ ++ zlahrd.$(SUFFIX) zlahr2.$(SUFFIX) zlaic1.$(SUFFIX) zlals0.$(SUFFIX) zlalsa.$(SUFFIX) zlalsd.$(SUFFIX) zlangb.$(SUFFIX) zlange.$(SUFFIX) \ ++ zlangt.$(SUFFIX) zlanhb.$(SUFFIX) \ ++ zlanhe.$(SUFFIX) \ ++ zlanhp.$(SUFFIX) zlanhs.$(SUFFIX) zlanht.$(SUFFIX) zlansb.$(SUFFIX) zlansp.$(SUFFIX) zlansy.$(SUFFIX) zlantb.$(SUFFIX) \ ++ zlantp.$(SUFFIX) zlantr.$(SUFFIX) zlapll.$(SUFFIX) zlapmt.$(SUFFIX) zlaqgb.$(SUFFIX) zlaqge.$(SUFFIX) \ ++ zlaqhb.$(SUFFIX) zlaqhe.$(SUFFIX) zlaqhp.$(SUFFIX) zlaqp2.$(SUFFIX) zlaqps.$(SUFFIX) zlaqsb.$(SUFFIX) \ ++ zlaqr0.$(SUFFIX) zlaqr1.$(SUFFIX) zlaqr2.$(SUFFIX) zlaqr3.$(SUFFIX) zlaqr4.$(SUFFIX) zlaqr5.$(SUFFIX) \ ++ zlaqsp.$(SUFFIX) zlaqsy.$(SUFFIX) zlar1v.$(SUFFIX) zlar2v.$(SUFFIX) ilazlr.$(SUFFIX) ilazlc.$(SUFFIX) \ ++ zlarcm.$(SUFFIX) zlarf.$(SUFFIX) zlarfb.$(SUFFIX) \ ++ zlarfg.$(SUFFIX) zlarft.$(SUFFIX) zlarfgp.$(SUFFIX) \ ++ zlarfx.$(SUFFIX) zlargv.$(SUFFIX) zlarnv.$(SUFFIX) zlarrv.$(SUFFIX) zlartg.$(SUFFIX) zlartv.$(SUFFIX) \ ++ zlarz.$(SUFFIX) zlarzb.$(SUFFIX) zlarzt.$(SUFFIX) zlascl.$(SUFFIX) zlaset.$(SUFFIX) zlasr.$(SUFFIX) \ ++ zlassq.$(SUFFIX) zlaswp.$(SUFFIX) zlasyf.$(SUFFIX) \ ++ zlatbs.$(SUFFIX) zlatdf.$(SUFFIX) zlatps.$(SUFFIX) zlatrd.$(SUFFIX) zlatrs.$(SUFFIX) zlatrz.$(SUFFIX) zlatzm.$(SUFFIX) zlauu2.$(SUFFIX) \ ++ zpbcon.$(SUFFIX) zpbequ.$(SUFFIX) zpbrfs.$(SUFFIX) zpbstf.$(SUFFIX) zpbsv.$(SUFFIX) \ ++ zpbsvx.$(SUFFIX) zpbtf2.$(SUFFIX) zpbtrf.$(SUFFIX) zpbtrs.$(SUFFIX) zpocon.$(SUFFIX) zpoequ.$(SUFFIX) zporfs.$(SUFFIX) \ ++ zposv.$(SUFFIX) zposvx.$(SUFFIX) zpotri.$(SUFFIX) zpotrs.$(SUFFIX) zpstrf.$(SUFFIX) zpstf2.$(SUFFIX) \ ++ zppcon.$(SUFFIX) zppequ.$(SUFFIX) zpprfs.$(SUFFIX) zppsv.$(SUFFIX) zppsvx.$(SUFFIX) zpptrf.$(SUFFIX) zpptri.$(SUFFIX) zpptrs.$(SUFFIX) \ ++ zptcon.$(SUFFIX) zpteqr.$(SUFFIX) zptrfs.$(SUFFIX) zptsv.$(SUFFIX) zptsvx.$(SUFFIX) zpttrf.$(SUFFIX) zpttrs.$(SUFFIX) zptts2.$(SUFFIX) \ ++ zrot.$(SUFFIX) zspcon.$(SUFFIX) zspmv.$(SUFFIX) zspr.$(SUFFIX) zsprfs.$(SUFFIX) zspsv.$(SUFFIX) \ ++ zspsvx.$(SUFFIX) zsptrf.$(SUFFIX) zsptri.$(SUFFIX) zsptrs.$(SUFFIX) zdrscl.$(SUFFIX) zstedc.$(SUFFIX) \ ++ zstegr.$(SUFFIX) zstein.$(SUFFIX) zsteqr.$(SUFFIX) \ ++ zsycon.$(SUFFIX) zsymv.$(SUFFIX) \ ++ zsyr.$(SUFFIX) zsyrfs.$(SUFFIX) zsysv.$(SUFFIX) zsysvx.$(SUFFIX) zsytf2.$(SUFFIX) zsytrf.$(SUFFIX) zsytri.$(SUFFIX) zsytri2.$(SUFFIX) zsytri2x.$(SUFFIX) \ ++ zsyswapr.$(SUFFIX) zsytrs.$(SUFFIX) zsytrs2.$(SUFFIX) zsyconv.$(SUFFIX) \ ++ ztbcon.$(SUFFIX) ztbrfs.$(SUFFIX) ztbtrs.$(SUFFIX) ztgevc.$(SUFFIX) ztgex2.$(SUFFIX) \ ++ ztgexc.$(SUFFIX) ztgsen.$(SUFFIX) ztgsja.$(SUFFIX) ztgsna.$(SUFFIX) ztgsy2.$(SUFFIX) ztgsyl.$(SUFFIX) ztpcon.$(SUFFIX) \ ++ ztprfs.$(SUFFIX) ztptri.$(SUFFIX) \ ++ ztptrs.$(SUFFIX) ztrcon.$(SUFFIX) ztrevc.$(SUFFIX) ztrexc.$(SUFFIX) ztrrfs.$(SUFFIX) ztrsen.$(SUFFIX) ztrsna.$(SUFFIX) \ ++ ztrsyl.$(SUFFIX) ztrtrs.$(SUFFIX) ztzrqf.$(SUFFIX) ztzrzf.$(SUFFIX) zung2l.$(SUFFIX) \ ++ zung2r.$(SUFFIX) zungbr.$(SUFFIX) zunghr.$(SUFFIX) zungl2.$(SUFFIX) zunglq.$(SUFFIX) zungql.$(SUFFIX) zungqr.$(SUFFIX) zungr2.$(SUFFIX) \ ++ zungrq.$(SUFFIX) zungtr.$(SUFFIX) zunm2l.$(SUFFIX) zunm2r.$(SUFFIX) zunmbr.$(SUFFIX) zunmhr.$(SUFFIX) zunml2.$(SUFFIX) \ ++ zunmlq.$(SUFFIX) zunmql.$(SUFFIX) zunmqr.$(SUFFIX) zunmr2.$(SUFFIX) zunmr3.$(SUFFIX) zunmrq.$(SUFFIX) zunmrz.$(SUFFIX) \ ++ zunmtr.$(SUFFIX) zupgtr.$(SUFFIX) \ ++ zupmtr.$(SUFFIX) izmax1.$(SUFFIX) dzsum1.$(SUFFIX) zstemr.$(SUFFIX) \ ++ zcgesv.$(SUFFIX) zcposv.$(SUFFIX) zlag2c.$(SUFFIX) clag2z.$(SUFFIX) zlat2c.$(SUFFIX) \ ++ zhfrk.$(SUFFIX) ztfttp.$(SUFFIX) zlanhf.$(SUFFIX) zpftrf.$(SUFFIX) zpftri.$(SUFFIX) zpftrs.$(SUFFIX) ztfsm.$(SUFFIX) ztftri.$(SUFFIX) \ ++ ztfttr.$(SUFFIX) ztpttf.$(SUFFIX) ztpttr.$(SUFFIX) ztrttf.$(SUFFIX) ztrttp.$(SUFFIX) \ ++ zgeequb.$(SUFFIX) zgbequb.$(SUFFIX) zsyequb.$(SUFFIX) zpoequb.$(SUFFIX) zheequb.$(SUFFIX) \ ++ zbbcsd.$(SUFFIX) zlapmr.$(SUFFIX) zunbdb.$(SUFFIX) zuncsd.$(SUFFIX) \ ++ zgeqrt.$(SUFFIX) zgeqrt2.$(SUFFIX) zgeqrt3.$(SUFFIX) zgemqrt.$(SUFFIX) \ ++ ztpqrt.$(SUFFIX) ztpqrt2.$(SUFFIX) ztpmqrt.$(SUFFIX) ztprfb.$(SUFFIX) + + ifdef USEXBLAS +-ZXLASRC = zgesvxx.o zgerfsx.o zla_gerfsx_extended.o zla_geamv.o \ +- zla_gercond_c.o zla_gercond_x.o zla_gerpvgrw.o zsysvxx.o zsyrfsx.o \ +- zla_syrfsx_extended.o zla_syamv.o zla_syrcond_c.o zla_syrcond_x.o \ +- zla_syrpvgrw.o zposvxx.o zporfsx.o zla_porfsx_extended.o \ +- zla_porcond_c.o zla_porcond_x.o zla_porpvgrw.o zgbsvxx.o zgbrfsx.o \ +- zla_gbrfsx_extended.o zla_gbamv.o zla_gbrcond_c.o zla_gbrcond_x.o \ +- zla_gbrpvgrw.o zhesvxx.o zherfsx.o zla_herfsx_extended.o \ +- zla_heamv.o zla_hercond_c.o zla_hercond_x.o zla_herpvgrw.o \ +- zla_lin_berr.o zlarscl2.o zlascl2.o zla_wwaddw.o ++ZXLASRC = zgesvxx.$(SUFFIX) zgerfsx.$(SUFFIX) zla_gerfsx_extended.$(SUFFIX) zla_geamv.$(SUFFIX) \ ++ zla_gercond_c.$(SUFFIX) zla_gercond_x.$(SUFFIX) zla_gerpvgrw.$(SUFFIX) zsysvxx.$(SUFFIX) zsyrfsx.$(SUFFIX) \ ++ zla_syrfsx_extended.$(SUFFIX) zla_syamv.$(SUFFIX) zla_syrcond_c.$(SUFFIX) zla_syrcond_x.$(SUFFIX) \ ++ zla_syrpvgrw.$(SUFFIX) zposvxx.$(SUFFIX) zporfsx.$(SUFFIX) zla_porfsx_extended.$(SUFFIX) \ ++ zla_porcond_c.$(SUFFIX) zla_porcond_x.$(SUFFIX) zla_porpvgrw.$(SUFFIX) zgbsvxx.$(SUFFIX) zgbrfsx.$(SUFFIX) \ ++ zla_gbrfsx_extended.$(SUFFIX) zla_gbamv.$(SUFFIX) zla_gbrcond_c.$(SUFFIX) zla_gbrcond_x.$(SUFFIX) \ ++ zla_gbrpvgrw.$(SUFFIX) zhesvxx.$(SUFFIX) zherfsx.$(SUFFIX) zla_herfsx_extended.$(SUFFIX) \ ++ zla_heamv.$(SUFFIX) zla_hercond_c.$(SUFFIX) zla_hercond_x.$(SUFFIX) zla_herpvgrw.$(SUFFIX) \ ++ zla_lin_berr.$(SUFFIX) zlarscl2.$(SUFFIX) zlascl2.$(SUFFIX) zla_wwaddw.$(SUFFIX) + endif + + ALLOBJ = $(SLASRC) $(DLASRC) $(DSLASRC) $(CLASRC) $(ZLASRC) $(ZCLASRC) \ + $(SCLAUX) $(DZLAUX) $(ALLAUX) + ++ALLOBJ_P = $(ALLOBJ:.$(SUFFIX)=.$(PSUFFIX)) ++ + ifdef USEXBLAS + ALLXOBJ = $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) + endif + + all: ../$(LAPACKLIB) + ++lapack_prof: ../$(LAPACKLIB_P) ++ + ../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ) + $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) + $(RANLIB) $@ + ++../$(LAPACKLIB_P): $(ALLOBJ_P) ++ $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ_P) ++ $(RANLIB) $@ ++ + single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX) + $(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \ + $(SXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX) +@@ -451,15 +459,24 @@ + @FRC=$(FRC) + + clean: +- rm -f *.o ++ rm -f *.$(SUFFIX) *.$(PSUFFIX) + +-.f.o: ++%.$(SUFFIX): %.f + $(FORTRAN) $(OPTS) -c $< -o $@ + +-slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@ +-dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@ +-sla_wwaddw.o: sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@ +-dla_wwaddw.o: dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@ +-cla_wwaddw.o: cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@ +-zla_wwaddw.o: zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@ ++%.$(PSUFFIX): %.f ++ $(FORTRAN) $(POPTS) -c $< -o $@ + ++slaruv.$(SUFFIX): slaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@ ++dlaruv.$(SUFFIX): dlaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@ ++sla_wwaddw.$(SUFFIX): sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@ ++dla_wwaddw.$(SUFFIX): dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@ ++cla_wwaddw.$(SUFFIX): cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@ ++zla_wwaddw.$(SUFFIX): zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@ ++ ++slaruv.$(PSUFFIX): slaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@ ++dlaruv.$(PSUFFIX): dlaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@ ++sla_wwaddw.$(PSUFFIX): sla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@ ++dla_wwaddw.$(PSUFFIX): dla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@ ++cla_wwaddw.$(PSUFFIX): cla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@ ++zla_wwaddw.$(PSUFFIX): zla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@ +diff -ruN lapack-3.4.1.old/TESTING/EIG/Makefile lapack-3.4.1/TESTING/EIG/Makefile +--- lapack-3.4.1.old/TESTING/EIG/Makefile 2011-09-26 23:52:31 +0200 ++++ lapack-3.4.1/TESTING/EIG/Makefile 2012-04-22 21:41:45 +0200 +@@ -78,7 +78,7 @@ + cget35.o cget36.o cget37.o cget38.o cget51.o cget52.o \ + cget54.o cglmts.o cgqrts.o cgrqts.o cgsvts.o \ + chbt21.o chet21.o chet22.o chpt21.o chst01.o \ +- clarfy.o clarhs.o clatm4.o clctes.o clctsx.o clsets.o csbmv.o \ ++ clarfy.o clarhs.o clatm4.o clctes.o clctsx.o clsets.o \ + csgt01.o cslect.o \ + cstt21.o cstt22.o cunt01.o cunt03.o + +@@ -115,7 +115,7 @@ + zget35.o zget36.o zget37.o zget38.o zget51.o zget52.o \ + zget54.o zglmts.o zgqrts.o zgrqts.o zgsvts.o \ + zhbt21.o zhet21.o zhet22.o zhpt21.o zhst01.o \ +- zlarfy.o zlarhs.o zlatm4.o zlctes.o zlctsx.o zlsets.o zsbmv.o \ ++ zlarfy.o zlarhs.o zlatm4.o zlctes.o zlctsx.o zlsets.o \ + zsgt01.o zslect.o \ + zstt21.o zstt22.o zunt01.o zunt03.o + +@@ -129,22 +129,22 @@ + ../xeigtsts: $(SEIGTST) $(SCIGTST) $(AEIGTST) ../../$(LAPACKLIB); \ + $(LOADER) $(LOADOPTS) -o xeigtsts \ + $(SEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \ +- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtsts $@ ++ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtsts $@ + + ../xeigtstc: $(CEIGTST) $(SCIGTST) $(AEIGTST) ../../$(LAPACKLIB); \ + $(LOADER) $(LOADOPTS) -o xeigtstc \ + $(CEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \ +- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstc $@ ++ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtstc $@ + + ../xeigtstd: $(DEIGTST) $(DZIGTST) $(AEIGTST) ../../$(LAPACKLIB); \ + $(LOADER) $(LOADOPTS) -o xeigtstd \ + $(DEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \ +- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstd $@ ++ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtstd $@ + + ../xeigtstz: $(ZEIGTST) $(DZIGTST) $(AEIGTST) ../../$(LAPACKLIB); \ + $(LOADER) $(LOADOPTS) -o xeigtstz \ + $(ZEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \ +- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstz $@ ++ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtstz $@ + + $(AEIGTST): $(FRC) + $(SCIGTST): $(FRC) +diff -ruN lapack-3.4.1.old/TESTING/LIN/Makefile lapack-3.4.1/TESTING/LIN/Makefile +--- lapack-3.4.1.old/TESTING/LIN/Makefile 2012-04-02 21:06:36 +0200 ++++ lapack-3.4.1/TESTING/LIN/Makefile 2012-04-22 21:43:30 +0200 +@@ -109,7 +109,7 @@ + cqpt01.o cqrt01.o cqrt01p.o cqrt02.o cqrt03.o cqrt11.o \ + cqrt12.o cqrt13.o cqrt14.o cqrt15.o cqrt16.o \ + cqrt17.o crqt01.o crqt02.o crqt03.o crzt01.o crzt02.o \ +- csbmv.o cspt01.o \ ++ cspt01.o \ + cspt02.o cspt03.o csyt01.o csyt02.o csyt03.o \ + ctbt02.o ctbt03.o ctbt05.o ctbt06.o ctpt01.o \ + ctpt02.o ctpt03.o ctpt05.o ctpt06.o ctrt01.o \ +@@ -188,7 +188,7 @@ + zqpt01.o zqrt01.o zqrt01p.o zqrt02.o zqrt03.o zqrt11.o \ + zqrt12.o zqrt13.o zqrt14.o zqrt15.o zqrt16.o \ + zqrt17.o zrqt01.o zrqt02.o zrqt03.o zrzt01.o zrzt02.o \ +- zsbmv.o zspt01.o \ ++ zspt01.o \ + zspt02.o zspt03.o zsyt01.o zsyt02.o zsyt03.o \ + ztbt02.o ztbt03.o ztbt05.o ztbt06.o ztpt01.o \ + ztpt02.o ztpt03.o ztpt05.o ztpt06.o ztrt01.o \ +@@ -214,7 +214,7 @@ + zdrvab.o zdrvac.o zerrab.o zerrac.o zget08.o \ + alaerh.o alahd.o aladhd.o alareq.o \ + chkxer.o zget02.o zlarhs.o zlatb4.o \ +- zsbmv.o xerbla.o zpot06.o zlaipd.o ++ xerbla.o zpot06.o zlaipd.o + + SLINTSTRFP = schkrfp.o sdrvrfp.o sdrvrf1.o sdrvrf2.o sdrvrf3.o sdrvrf4.o serrrfp.o \ + slatb4.o slarhs.o sget04.o spot01.o spot03.o spot02.o \ +@@ -225,11 +225,11 @@ + chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o + + CLINTSTRFP = cchkrfp.o cdrvrfp.o cdrvrf1.o cdrvrf2.o cdrvrf3.o cdrvrf4.o cerrrfp.o \ +- claipd.o clatb4.o clarhs.o csbmv.o cget04.o cpot01.o cpot03.o cpot02.o \ ++ claipd.o clatb4.o clarhs.o cget04.o cpot01.o cpot03.o cpot02.o \ + chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o + + ZLINTSTRFP = zchkrfp.o zdrvrfp.o zdrvrf1.o zdrvrf2.o zdrvrf3.o zdrvrf4.o zerrrfp.o \ +- zlatb4.o zlaipd.o zlarhs.o zsbmv.o zget04.o zpot01.o zpot03.o zpot02.o \ ++ zlatb4.o zlaipd.o zlarhs.o zget04.o zpot01.o zpot03.o zpot02.o \ + chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o + + all: single double complex complex16 proto-single proto-double proto-complex proto-complex16 +@@ -246,43 +246,43 @@ + + xlintsts : $(ALINTST) $(SLINTST) $(SCLNTST) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(SLINTST) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstc : $(ALINTST) $(CLINTST) $(SCLNTST) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(CLINTST) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $^ \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstz : $(ALINTST) $(ZLINTST) $(DZLNTST) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(ALINTST) $(DZLNTST) $(ZLINTST) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstds : $(DSLINTST) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(DSLINTST) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstzc : $(ZCLINTST) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(ZCLINTST) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstrfs : $(SLINTSTRFP) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(SLINTSTRFP) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstrfd : $(DLINTSTRFP) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(DLINTSTRFP) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstrfc : $(CLINTSTRFP) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(CLINTSTRFP) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + xlintstrfz : $(ZLINTSTRFP) ../../$(LAPACKLIB) + $(LOADER) $(LOADOPTS) $(ZLINTSTRFP) \ +- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ ++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB) + + ../xlintsts: xlintsts + mv xlintsts $@ +diff -ruN lapack-3.4.1.old/lapacke/src/Makefile lapack-3.4.1/lapacke/src/Makefile +--- lapack-3.4.1.old/lapacke/src/Makefile 2012-04-02 22:16:32 +0200 ++++ lapack-3.4.1/lapacke/src/Makefile 2012-04-22 21:38:38 +0200 +@@ -2040,19 +2040,21 @@ + lapacke_zlagsy.o \ + lapacke_zlagsy_work.o + +-ALLOBJ = $(SRC_OBJ) $(MATGEN_OBJ) ++OBJ_FILES := $(SRC_OBJ) + +-ifdef USEXBLAS +-ALLXOBJ = $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) ++ifdef LAPACKE_EXTENDED ++OBJ_FILES += $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) + endif + +- +-OBJ_FILES := $(C_FILES:.o=.o) ++ifdef LAPACKE_TESTING ++OBJ_FILES += $(MATGEN_OBJ) ++endif + + all: ../../$(LAPACKELIB) + +-../../$(LAPACKELIB): $(ALLOBJ) $(ALLXOBJ) +- $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJ) $(ALLXOBJ) ++../../$(LAPACKELIB): $(OBJ_FILES) ++# http://hackage.haskell.org/trac/gtk2hs/ticket/1146 ++ echo $(OBJ_FILES) | xargs -n 100 $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) + $(RANLIB) ../../$(LAPACKELIB) + + .c.o: diff --git a/utest/Makefile b/utest/Makefile index e7c5f3412..3d120f5b3 100644 --- a/utest/Makefile +++ b/utest/Makefile @@ -3,20 +3,50 @@ TOPDIR = .. include $(TOPDIR)/Makefile.system TARGET=openblas_utest -CUNIT_LIB=/usr/local/lib/libcunit.a -OBJS=main.o test_rot.o test_swap.o test_axpy.o test_dotu.o test_rotmg.o test_dsdot.o +CUNIT_URL=http://downloads.sourceforge.net/project/cunit/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2 +CUNIT_DIR=$(CURDIR)/CUnit-2.1-2 + +CUNIT_LIB=$(CUNIT_DIR)/lib/libcunit.a + +CFLAGS+=-I$(CUNIT_DIR)/include + +OBJS=main.o test_rot.o test_swap.o test_axpy.o test_dotu.o test_rotmg.o test_dsdot.o test_amax.o all : run_test -$(TARGET): $(OBJS) - $(FC) -o $@ $^ ../$(LIBNAME) $(CUNIT_LIB) $(EXTRALIB) +CUnit-2.1-2-src.tar.bz2: +ifeq ($(OSNAME), Darwin) + curl -O $(CUNIT_URL) +else + wget $(CUNIT_URL) +endif + +$(CUNIT_DIR): CUnit-2.1-2-src.tar.bz2 + @if test `$(MD5SUM) CUnit-2.1-2-src.tar.bz2 | $(AWK) '{print $$1}'` = 31c62bd7a65007737ba28b7aafc44d3a; then \ + echo $(TAR) xjf $< ;\ + $(TAR) xjf $< ; \ + else \ + rm -rf $(CUNIT_DIR) ;\ + echo " Cannot download CUnit-2.1-2-src.tar.bz2 or the MD5 check sum is wrong (Please use orignal)."; \ + exit 1; \ + fi + + +$(CUNIT_LIB): $(CUNIT_DIR) + (cd $(CUNIT_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" ./configure --prefix=$(CUNIT_DIR)) + $(MAKE) -C $(CUNIT_DIR) + $(MAKE) -C $(CUNIT_DIR) install + +$(TARGET): $(CUNIT_LIB) $(OBJS) + $(CC) $(CFLAGS) -o $@ $^ ../$(LIBNAME) $(CUNIT_LIB) $(EXTRALIB) run_test: $(TARGET) ./$(TARGET) clean: - rm -f *.o $(TARGET) + -rm -f *.o $(TARGET) + -rm -rf $(CUNIT_DIR) libs: diff --git a/utest/common_utest.h b/utest/common_utest.h index 1332ef6ab..e57ae0556 100644 --- a/utest/common_utest.h +++ b/utest/common_utest.h @@ -61,4 +61,6 @@ void test_drotmg(void); void test_dsdot_n_1(void); +void test_samax(void); + #endif diff --git a/utest/main.c b/utest/main.c index 135709507..ece94dd71 100644 --- a/utest/main.c +++ b/utest/main.c @@ -58,6 +58,8 @@ CU_TestInfo test_level1[]={ {"Testing drotmg",test_drotmg}, {"Testing dsdot with n == 1",test_dsdot_n_1}, + + {"Testing samax", test_samax}, CU_TEST_INFO_NULL, }; diff --git a/utest/test_amax.c b/utest/test_amax.c new file mode 100644 index 000000000..8d163853a --- /dev/null +++ b/utest/test_amax.c @@ -0,0 +1,46 @@ +/***************************************************************************** +Copyright (c) 2011-2012, Lab of Parallel Software and Computational Science,ICSAS +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + 3. Neither the name of the ISCAS nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +**********************************************************************************/ + +#include "common_utest.h" + +void test_samax() +{ + int N=3, inc=1; + float te_max=0.0, tr_max=0.0; + float x[]={-1.1, 2.2, -3.3}; + + te_max=BLASFUNC(samax)(&N, x, &inc); + + tr_max=BLASFUNC_REF(samax)(&N, x, &inc); + + CU_ASSERT_DOUBLE_EQUAL(te_max, tr_max, CHECK_EPS); +} diff --git a/utest/test_rotmg.c b/utest/test_rotmg.c index e51e6b299..9a1a3d084 100644 --- a/utest/test_rotmg.c +++ b/utest/test_rotmg.c @@ -38,12 +38,18 @@ void test_drotmg() double te_d2, tr_d2; double te_x1, tr_x1; double te_y1, tr_y1; - double te_param[5],tr_param[5]; + double te_param[5]; + double tr_param[5]; int i=0; te_d1= tr_d1=0.21149573940783739; te_d2= tr_d2=0.046892057172954082; te_x1= tr_x1=-0.42272687517106533; te_y1= tr_y1=0.42211309121921659; + + for(i=0; i<5; i++){ + te_param[i]=tr_param[i]=0.0; + } + //OpenBLAS BLASFUNC(drotmg)(&te_d1, &te_d2, &te_x1, &te_y1, te_param); //reference