|
Teuchos Package Browser (Single Doxygen Collection) Version of the Day
|
00001 // @HEADER 00002 // *********************************************************************** 00003 // 00004 // Teuchos: Common Tools Package 00005 // Copyright (2004) Sandia Corporation 00006 // 00007 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive 00008 // license for use of this work by or on behalf of the U.S. Government. 00009 // 00010 // This library is free software; you can redistribute it and/or modify 00011 // it under the terms of the GNU Lesser General Public License as 00012 // published by the Free Software Foundation; either version 2.1 of the 00013 // License, or (at your option) any later version. 00014 // 00015 // This library is distributed in the hope that it will be useful, but 00016 // WITHOUT ANY WARRANTY; without even the implied warranty of 00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 // Lesser General Public License for more details. 00019 // 00020 // You should have received a copy of the GNU Lesser General Public 00021 // License along with this library; if not, write to the Free Software 00022 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00023 // USA 00024 // Questions? Contact Michael A. Heroux (maherou@sandia.gov) 00025 // 00026 // *********************************************************************** 00027 // @HEADER 00028 00029 #ifndef _TEUCHOS_LAPACK_WRAPPERS_HPP_ 00030 #define _TEUCHOS_LAPACK_WRAPPERS_HPP_ 00031 00032 #include "Teuchos_ConfigDefs.hpp" 00033 00037 /* Define fcd (Fortran Teuchos_fcd descriptor) for non-standard situations */ 00038 00039 #if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) 00040 00041 #if defined(CRAY_T3X) 00042 00043 #include <fortran.h> 00044 #define PREFIX 00045 #define Teuchos_fcd fcd 00046 00047 #define DGEQRF_F77 F77_BLAS_MANGLE(sgeqrf,SGEQRF) 00048 #define DGETRF_F77 F77_BLAS_MANGLE(sgetrf,SGETRF) 00049 #define DGETRS_F77 F77_BLAS_MANGLE(sgetrs,SGETRS) 00050 #define DGTTRF_F77 F77_BLAS_MANGLE(sgttrf,SGTTRF) 00051 #define DGTTRS_F77 F77_BLAS_MANGLE(sgttrs,SGTTRS) 00052 #define DPTTRF_F77 F77_BLAS_MANGLE(spttrf,SPTTRF) 00053 #define DPTTRS_F77 F77_BLAS_MANGLE(spttrs,SPTTRS) 00054 #define DGETRI_F77 F77_BLAS_MANGLE(sgetri,SGETRI) 00055 #define DGERFS_F77 F77_BLAS_MANGLE(sgerfs,SGERFS) 00056 #define DGECON_F77 F77_BLAS_MANGLE(sgecon,SGECON) 00057 #define DGESVX_F77 F77_BLAS_MANGLE(sgesvx,SGESVX) 00058 #define DGESV_F77 F77_BLAS_MANGLE(sgesv,SGESV) 00059 #define DGEEQU_F77 F77_BLAS_MANGLE(sgeequ,SGEEQU) 00060 #define DSYTRD_F77 F77_BLAS_MANGLE(ssytrd,SSYTRD) 00061 #define DPOTRF_F77 F77_BLAS_MANGLE(spotrf,SPOTRF) 00062 #define DPOTRS_F77 F77_BLAS_MANGLE(spotrs,SPOTRS) 00063 #define DPOTRI_F77 F77_BLAS_MANGLE(spotri,SPOTRI) 00064 #define DPOCON_F77 F77_BLAS_MANGLE(spocon,SPOCON) 00065 #define DPOSV_F77 F77_BLAS_MANGLE(sposv,SPOSV) 00066 #define DPOEQU_F77 F77_BLAS_MANGLE(spoequ,SPOEQU) 00067 #define DPORFS_F77 F77_BLAS_MANGLE(sporfs,SPORFS) 00068 #define DPOSVX_F77 F77_BLAS_MANGLE(sposvx,SPOSVX) 00069 #define DLAMCH_F77 F77_BLAS_MANGLE(slamch,SLAMCH) 00070 #define DTRTRI_F77 F77_BLAS_MANGLE(strtri,STRTRI) 00071 #define DTRTRS_F77 F77_BLAS_MANGLE(strtrs,STRTRS) 00072 #define DGELS_F77 F77_BLAS_MANGLE(sgels,SGELS) 00073 #define DGEEV_F77 F77_BLAS_MANGLE(sgeev,SGEEV) 00074 #define DGESVD_F77 F77_BLAS_MANGLE(sgesvd,SGESVD) 00075 #define DGGEVX_F77 F77_BLAS_MANGLE(sggevx,SGGEVX) 00076 #define DGEHRD_F77 F77_BLAS_MANGLE(sgehrd,SGEHRD) 00077 #define DHSEQR_F77 F77_BLAS_MANGLE(shseqr,SHSEQR) 00078 #define DORMQR_F77 F77_BLAS_MANGLE(sormqr,SORMQR) 00079 #define DORGQR_F77 F77_BLAS_MANGLE(sorgqr,SORGQR) 00080 #define DORGHR_F77 F77_BLAS_MANGLE(sorghr,SORGHR) 00081 #define DORMHR_F77 F77_BLAS_MANGLE(sormhr,SORMHR) 00082 #define DTREVC_F77 F77_BLAS_MANGLE(strevc,STREVC) 00083 #define DTREXC_F77 F77_BLAS_MANGLE(strexc,STREXC) 00084 #define DGEES_F77 F77_BLAS_MANGLE(sgees,SGEES) 00085 #define DSPEV_F77 F77_BLAS_MANGLE(sspev,SSPEV) 00086 #define DSYEV_F77 F77_BLAS_MANGLE(ssyev,SSYEV) 00087 #define DSYGV_F77 F77_BLAS_MANGLE(ssygv,SSYGV) 00088 #define DSTEQR_F77 F77_BLAS_MANGLE(ssteqr,SSTEQR) 00089 #define DLAPY2_F77 F77_BLAS_MANGLE(slapy2,SLAPY2) 00090 #define DLARTG_F77 F77_BLAS_MANGLE(slartg,SLARTG) 00091 #define DLARFG_F77 F77_BLAS_MANGLE(slarfg,SLARFG) 00092 #define DLARND_F77 F77_BLAS_MANGLE(slarnd,SLARND) 00093 #define DLARNV_F77 F77_BLAS_MANGLE(slarnv,SLARNV) 00094 #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV) 00095 #ifdef HAVE_LAPACK_GGEV 00096 #define DGGEV_F77 F77_BLAS_MANGLE(sggev,SGGEV) 00097 #endif 00098 #ifdef HAVE_LAPACK_GEGV 00099 #define DGGEV_F77 F77_BLAS_MANGLE(sgegv,SGEGV) 00100 #endif 00101 00102 00103 #ifdef HAVE_TEUCHOS_COMPLEX 00104 00105 #define ZGEQRF_F77 F77_BLAS_MANGLE(cgeqrf,CGEQRF) 00106 #define ZUNGQR_F77 F77_BLAS_MANGLE(cungqr,CUNGQR) 00107 #define ZGETRF_F77 F77_BLAS_MANGLE(cgetrf,CGETRF) 00108 #define ZGETRS_F77 F77_BLAS_MANGLE(cgetrs,CGETRS) 00109 #define ZGTTRF_F77 F77_BLAS_MANGLE(cgttrf,CGTTRF) 00110 #define ZGTTRS_F77 F77_BLAS_MANGLE(cgttrs,CGTTRS) 00111 #define ZPTTRF_F77 F77_BLAS_MANGLE(cpttrf,CPTTRF) 00112 #define ZPTTRS_F77 F77_BLAS_MANGLE(cpttrs,CPTTRS) 00113 #define ZGETRI_F77 F77_BLAS_MANGLE(cgetri,CGETRI) 00114 #define ZGERFS_F77 F77_BLAS_MANGLE(cgerfs,CGERFS) 00115 #define ZGECON_F77 F77_BLAS_MANGLE(cgecon,CGECON) 00116 #define ZGESVX_F77 F77_BLAS_MANGLE(cgesvx,CGESVX) 00117 #define ZGESV_F77 F77_BLAS_MANGLE(cgesv,CGESV) 00118 #define ZGEEQU_F77 F77_BLAS_MANGLE(cgeequ,CGEEQU) 00119 #define ZPOTRF_F77 F77_BLAS_MANGLE(cpotrf,CPOTRF) 00120 #define ZPOTRS_F77 F77_BLAS_MANGLE(cpotrs,CPOTRS) 00121 #define ZPOTRI_F77 F77_BLAS_MANGLE(cpotri,CPOTRI) 00122 #define ZPOCON_F77 F77_BLAS_MANGLE(cpocon,CPOCON) 00123 #define ZPOSV_F77 F77_BLAS_MANGLE(cposv,CPOSV) 00124 #define ZPOEQU_F77 F77_BLAS_MANGLE(cpoequ,CPOEQU) 00125 #define ZPORFS_F77 F77_BLAS_MANGLE(cporfs,CPORFS) 00126 #define ZPOSVX_F77 F77_BLAS_MANGLE(cposvx,CPOSVX) 00127 #define ZTRTRS_F77 F77_BLAS_MANGLE(ctrtrs,CTRTRS) 00128 #define ZTRTRI_F77 F77_BLAS_MANGLE(ctrtri,CTRTRI) 00129 #define ZGELS_F77 F77_BLAS_MANGLE(cgels,CGELS) 00130 #define ZGEEV_F77 F77_BLAS_MANGLE(cgeev,CGEEV) 00131 #define ZGESVD_F77 F77_BLAS_MANGLE(cgesvd,CGESVD) 00132 //#define ZGGEVX_F77 F77_BLAS_MANGLE(cggevx,CGGEVX) 00133 #define ZGEHRD_F77 F77_BLAS_MANGLE(cgehrd,CGEHRD) 00134 #define ZHSEQR_F77 F77_BLAS_MANGLE(chseqr,CHSEQR) 00135 #define ZTREVC_F77 F77_BLAS_MANGLE(ctrevc,CTREVC) 00136 #define ZTREXC_F77 F77_BLAS_MANGLE(ctrexc,CTREXC) 00137 #define ZGEES_F77 F77_BLAS_MANGLE(cgees,CGEES) 00138 #define ZSTEQR_F77 F77_BLAS_MANGLE(csteqr,CSTEQR) 00139 #define ZHEEV_F77 F77_BLAS_MANGLE(cheev,CHEEV) 00140 #define ZHEGV_F77 F77_BLAS_MANGLE(chegv,CHEGV) 00141 #define ZLARTG_F77 F77_BLAS_MANGLE(clartg,cLARTG) 00142 #define ZLARFG_F77 F77_BLAS_MANGLE(clarfg,cLARFG) 00143 #define ZLARND_F77 F77_BLAS_MANGLE(clarnd,CLARND) 00144 #define ZLARNV_F77 F77_BLAS_MANGLE(clarnv,CLARNV) 00145 /* 00146 #ifdef HAVE_LAPACK_GGEV 00147 #define ZGGEV_F77 F77_BLAS_MANGLE(cggev,CGGEV) 00148 #endif 00149 #ifdef HAVE_LAPACK_GEGV 00150 #define ZGGEV_F77 F77_BLAS_MANGLE(cgegv,CGEGV) 00151 #endif 00152 */ 00153 00154 #endif /* HAVE_TEUCHOS_COMPLEX */ 00155 00156 #elif defined(INTEL_CXML) 00157 00158 #define PREFIX __stdcall 00159 #define Teuchos_fcd const char *, unsigned int 00160 00161 #define DGEQRF_F77 F77_BLAS_MANGLE(dgeqrf,DGEQRF) 00162 #define DGETRF_F77 F77_BLAS_MANGLE(dgetrf,DGETRF) 00163 #define DGETRS_F77 F77_BLAS_MANGLE(dgetrs,DGETRS) 00164 #define DGTTRF_F77 F77_BLAS_MANGLE(dgttrf,DGTTRF) 00165 #define DGTTRS_F77 F77_BLAS_MANGLE(dgttrs,DGTTRS) 00166 #define DPTTRF_F77 F77_BLAS_MANGLE(dpttrf,DPTTRF) 00167 #define DPTTRS_F77 F77_BLAS_MANGLE(dpttrs,DPTTRS) 00168 #define DGETRI_F77 F77_BLAS_MANGLE(dgetri,DGETRI) 00169 #define DGERFS_F77 F77_BLAS_MANGLE(dgerfs,DGERFS) 00170 #define DGECON_F77 F77_BLAS_MANGLE(dgecon,DGECON) 00171 #define DGESVX_F77 F77_BLAS_MANGLE(dgesvx,DGESVX) 00172 #define DGESV_F77 F77_BLAS_MANGLE(dgesv,DGESV) 00173 #define DGEEQU_F77 F77_BLAS_MANGLE(dgeequ,DGEEQU) 00174 #define DSYTRD_F77 F77_BLAS_MANGLE(dsytrd,DSYTRD) 00175 #define DPOTRF_F77 F77_BLAS_MANGLE(dpotrf,DPOTRF) 00176 #define DPOTRS_F77 F77_BLAS_MANGLE(dpotrs,DPOTRS) 00177 #define DPOTRI_F77 F77_BLAS_MANGLE(dpotri,DPOTRI) 00178 #define DPOCON_F77 F77_BLAS_MANGLE(dpocon,DPOCON) 00179 #define DPOSV_F77 F77_BLAS_MANGLE(dposv,DPOSV) 00180 #define DPOEQU_F77 F77_BLAS_MANGLE(dpoequ,DPOEQU) 00181 #define DPORFS_F77 F77_BLAS_MANGLE(dporfs,DPORFS) 00182 #define DPOSVX_F77 F77_BLAS_MANGLE(dposvx,DPOSVX) 00183 #define DTRTRS_F77 F77_BLAS_MANGLE(dtrtrs,DTRTRS) 00184 #define DTRTRI_F77 F77_BLAS_MANGLE(dtrtri,DTRTRI) 00185 #define DLAMCH_F77 F77_BLAS_MANGLE(dlamch,DLAMCH) 00186 #define DGELS_F77 F77_BLAS_MANGLE(dgels,DGELS) 00187 #define DGEEV_F77 F77_BLAS_MANGLE(dgeev,DGEEV) 00188 #define DGESVD_F77 F77_BLAS_MANGLE(dgesvd,DGESVD) 00189 #define DGGEVX_F77 F77_BLAS_MANGLE(dggevx,DGGEVX) 00190 #define DGEHRD_F77 F77_BLAS_MANGLE(dgehrd,DGEHRD) 00191 #define DHSEQR_F77 F77_BLAS_MANGLE(dhseqr,DHSEQR) 00192 #define DORGHR_F77 F77_BLAS_MANGLE(dorghr,DORGHR) 00193 #define DORGQR_F77 F77_BLAS_MANGLE(dorgqr,DORGQR) 00194 #define DORMHR_F77 F77_BLAS_MANGLE(dormhr,DORMHR) 00195 #define DORMQR_F77 F77_BLAS_MANGLE(dormqr,DORMQR) 00196 #define DTREVC_F77 F77_BLAS_MANGLE(dtrevc,DTREVC) 00197 #define DTREXC_F77 F77_BLAS_MANGLE(dtrexc,DTREXC) 00198 #define DGEES_F77 F77_BLAS_MANGLE(dgees,DGEES) 00199 #define DSPEV_F77 F77_BLAS_MANGLE(dspev,DSPEV) 00200 #define DSYEV_F77 F77_BLAS_MANGLE(dsyev,DSYEV) 00201 #define DSYGV_F77 F77_BLAS_MANGLE(dsygv,DSYGV) 00202 #define DSTEQR_F77 F77_BLAS_MANGLE(dsteqr,DSTEQR) 00203 #define DLAPY2_F77 F77_BLAS_MANGLE(dlapy2,DLAPY2) 00204 #define DLARTG_F77 F77_BLAS_MANGLE(dlartg,DLARTG) 00205 #define DLARFG_F77 F77_BLAS_MANGLE(dlarfg,DLARFG) 00206 #define DLARND_F77 F77_BLAS_MANGLE(dlarnd,DLARND) 00207 #define DLARNV_F77 F77_BLAS_MANGLE(dlarnv,DLARNV) 00208 #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV) 00209 #ifdef HAVE_LAPACK_GGEV 00210 #define DGGEV_F77 F77_BLAS_MANGLE(dggev,DGGEV) 00211 #endif 00212 #ifdef HAVE_LAPACK_GEGV 00213 #define DGGEV_F77 F77_BLAS_MANGLE(dgegv,DGEGV) 00214 #endif 00215 00216 #ifdef HAVE_TEUCHOS_COMPLEX 00217 00218 #define ZGEQRF_F77 F77_BLAS_MANGLE(zgeqrf,ZGEQRF) 00219 #define ZUNGQR_F77 F77_BLAS_MANGLE(zungqr,ZUNGQR) 00220 #define ZGETRF_F77 F77_BLAS_MANGLE(zgetrf,ZGETRF) 00221 #define ZGETRS_F77 F77_BLAS_MANGLE(zgetrs,ZGETRS) 00222 #define ZGTTRF_F77 F77_BLAS_MANGLE(zgttrf,ZGTTRF) 00223 #define ZGTTRS_F77 F77_BLAS_MANGLE(zgttrs,ZGTTRS) 00224 #define ZPTTRF_F77 F77_BLAS_MANGLE(zpttrf,ZPTTRF) 00225 #define ZPTTRS_F77 F77_BLAS_MANGLE(zpttrs,ZPTTRS) 00226 #define ZGETRI_F77 F77_BLAS_MANGLE(zgetri,ZGETRI) 00227 #define ZGERFS_F77 F77_BLAS_MANGLE(zgerfs,ZGERFS) 00228 #define ZGECON_F77 F77_BLAS_MANGLE(zgecon,ZGECON) 00229 #define ZGESVX_F77 F77_BLAS_MANGLE(zgesvx,ZGESVX) 00230 #define ZGESV_F77 F77_BLAS_MANGLE(zgesv,ZGESV) 00231 #define ZGEEQU_F77 F77_BLAS_MANGLE(zgeequ,ZGEEQU) 00232 #define ZPOTRF_F77 F77_BLAS_MANGLE(zpotrf,ZPOTRF) 00233 #define ZPOTRS_F77 F77_BLAS_MANGLE(zpotrs,ZPOTRS) 00234 #define ZPOTRI_F77 F77_BLAS_MANGLE(zpotri,ZPOTRI) 00235 #define ZPOCON_F77 F77_BLAS_MANGLE(zpocon,ZPOCON) 00236 #define ZPOSV_F77 F77_BLAS_MANGLE(zposv,ZPOSV) 00237 #define ZPOEQU_F77 F77_BLAS_MANGLE(zpoequ,ZPOEQU) 00238 #define ZPORFS_F77 F77_BLAS_MANGLE(zporfs,ZPORFS) 00239 #define ZPOSVX_F77 F77_BLAS_MANGLE(zposvx,ZPOSVX) 00240 #define ZTRTRS_F77 F77_BLAS_MANGLE(ztrtrs,ZTRTRS) 00241 #define ZTRTRI_F77 F77_BLAS_MANGLE(ztrtri,ZTRTRI) 00242 #define ZGELS_F77 F77_BLAS_MANGLE(zgels,ZGELS) 00243 #define ZGEEV_F77 F77_BLAS_MANGLE(zgeev,ZGEEV) 00244 #define ZGESVD_F77 F77_BLAS_MANGLE(zgesvd,ZGESVD) 00245 //#define ZGGEVX_F77 F77_BLAS_MANGLE(zggevx,ZGGEVX) 00246 #define ZGEHRD_F77 F77_BLAS_MANGLE(zgehrd,ZGEHRD) 00247 #define ZHSEQR_F77 F77_BLAS_MANGLE(zhseqr,ZHSEQR) 00248 #define ZTREVC_F77 F77_BLAS_MANGLE(ztrevc,ZTREVC) 00249 #define ZTREXC_F77 F77_BLAS_MANGLE(ztrexc,ZTREXC) 00250 #define ZGEES_F77 F77_BLAS_MANGLE(zgees,ZGEES) 00251 #define ZSTEQR_F77 F77_BLAS_MANGLE(zsteqr,ZSTEQR) 00252 #define ZHEEV_F77 F77_BLAS_MANGLE(zheev,ZHEEV) 00253 #define ZHEGV_F77 F77_BLAS_MANGLE(zhegv,ZHEGV) 00254 #define ZLARTG_F77 F77_BLAS_MANGLE(zlartg,ZLARTG) 00255 #define ZLARFG_F77 F77_BLAS_MANGLE(zlarfg,ZLARFG) 00256 #define ZLARND_F77 F77_BLAS_MANGLE(zlarnd,ZLARND) 00257 #define ZLARNV_F77 F77_BLAS_MANGLE(zlarnv,ZLARNV) 00258 /* 00259 #ifdef HAVE_LAPACK_GGEV 00260 #define ZGGEV_F77 F77_BLAS_MANGLE(zggev,ZGGEV) 00261 #endif 00262 #ifdef HAVE_LAPACK_GEGV 00263 #define ZGGEV_F77 F77_BLAS_MANGLE(zgegv,ZGEGV) 00264 #endif 00265 */ 00266 00267 #endif /* HAVE_TEUCHOS_COMPLEX */ 00268 00269 #elif defined(INTEL_MKL) 00270 00271 #define PREFIX 00272 #define Teuchos_fcd const char * 00273 00274 #define DGEQRF_F77 F77_BLAS_MANGLE(dgeqrf,DGEQRF) 00275 #define DGETRF_F77 F77_BLAS_MANGLE(dgetrf,DGETRF) 00276 #define DGETRS_F77 F77_BLAS_MANGLE(dgetrs,DGETRS) 00277 #define DGTTRF_F77 F77_BLAS_MANGLE(dgttrf,DGTTRF) 00278 #define DGTTRS_F77 F77_BLAS_MANGLE(dgttrs,DGTTRS) 00279 #define DPTTRF_F77 F77_BLAS_MANGLE(dpttrf,DPTTRF) 00280 #define DPTTRS_F77 F77_BLAS_MANGLE(dpttrs,DPTTRS) 00281 #define DGETRI_F77 F77_BLAS_MANGLE(dgetri,DGETRI) 00282 #define DGERFS_F77 F77_BLAS_MANGLE(dgerfs,DGERFS) 00283 #define DGECON_F77 F77_BLAS_MANGLE(dgecon,DGECON) 00284 #define DGESVX_F77 F77_BLAS_MANGLE(dgesvx,DGESVX) 00285 #define DGESV_F77 F77_BLAS_MANGLE(dgesv,DGESV) 00286 #define DGEEQU_F77 F77_BLAS_MANGLE(dgeequ,DGEEQU) 00287 #define DSYTRD_F77 F77_BLAS_MANGLE(dsytrd,DSYTRD) 00288 #define DPOTRF_F77 F77_BLAS_MANGLE(dpotrf,DPOTRF) 00289 #define DPOTRS_F77 F77_BLAS_MANGLE(dpotrs,DPOTRS) 00290 #define DPOTRI_F77 F77_BLAS_MANGLE(dpotri,DPOTRI) 00291 #define DPOCON_F77 F77_BLAS_MANGLE(dpocon,DPOCON) 00292 #define DPOSV_F77 F77_BLAS_MANGLE(dposv,DPOSV) 00293 #define DPOEQU_F77 F77_BLAS_MANGLE(dpoequ,DPOEQU) 00294 #define DPORFS_F77 F77_BLAS_MANGLE(dporfs,DPORFS) 00295 #define DPOSVX_F77 F77_BLAS_MANGLE(dposvx,DPOSVX) 00296 #define DTRTRS_F77 F77_BLAS_MANGLE(dtrtrs,DTRTRS) 00297 #define DTRTRI_F77 F77_BLAS_MANGLE(dtrtri,DTRTRI) 00298 #define DLAMCH_F77 F77_BLAS_MANGLE(dlamch,DLAMCH) 00299 #define DGELS_F77 F77_BLAS_MANGLE(dgels,DGELS) 00300 #define DGEEV_F77 F77_BLAS_MANGLE(dgeev,DGEEV) 00301 #define DGESVD_F77 F77_BLAS_MANGLE(dgesvd,DGESVD) 00302 #define DGGEVX_F77 F77_BLAS_MANGLE(dggevx,DGGEVX) 00303 #define DGEHRD_F77 F77_BLAS_MANGLE(dgehrd,DGEHRD) 00304 #define DHSEQR_F77 F77_BLAS_MANGLE(dhseqr,DHSEQR) 00305 #define DORGHR_F77 F77_BLAS_MANGLE(dorghr,DORGHR) 00306 #define DORGQR_F77 F77_BLAS_MANGLE(dorgqr,DORGQR) 00307 #define DORMHR_F77 F77_BLAS_MANGLE(dormhr,DORMHR) 00308 #define DORMQR_F77 F77_BLAS_MANGLE(dormqr,DORMQR) 00309 #define DTREVC_F77 F77_BLAS_MANGLE(dtrevc,DTREVC) 00310 #define DTREXC_F77 F77_BLAS_MANGLE(dtrexc,DTREXC) 00311 #define DGEES_F77 F77_BLAS_MANGLE(dgees,DGEES) 00312 #define DSPEV_F77 F77_BLAS_MANGLE(dspev,DSPEV) 00313 #define DSYEV_F77 F77_BLAS_MANGLE(dsyev,DSYEV) 00314 #define DSYGV_F77 F77_BLAS_MANGLE(dsygv,DSYGV) 00315 #define DSTEQR_F77 F77_BLAS_MANGLE(dsteqr,DSTEQR) 00316 #define DLAPY2_F77 F77_BLAS_MANGLE(dlapy2,DLAPY2) 00317 #define DLARTG_F77 F77_BLAS_MANGLE(dlartg,DLARTG) 00318 #define DLARFG_F77 F77_BLAS_MANGLE(dlarfg,DLARFG) 00319 #define DLARND_F77 F77_BLAS_MANGLE(dlarnd,DLARND) 00320 #define DLARNV_F77 F77_BLAS_MANGLE(dlarnv,DLARNV) 00321 #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV) 00322 #ifdef HAVE_LAPACK_GGEV 00323 #define DGGEV_F77 F77_BLAS_MANGLE(dggev,DGGEV) 00324 #endif 00325 #ifdef HAVE_LAPACK_GEGV 00326 #define DGGEV_F77 F77_BLAS_MANGLE(dgegv,DGEGV) 00327 #endif 00328 00329 #ifdef HAVE_TEUCHOS_COMPLEX 00330 00331 #define ZGEQRF_F77 F77_BLAS_MANGLE(zgeqrf,ZGEQRF) 00332 #define ZUNGQR_F77 F77_BLAS_MANGLE(zungqr,ZUNGQR) 00333 #define ZGTTRF_F77 F77_BLAS_MANGLE(zgttrf,ZGTTRF) 00334 #define ZGTTRS_F77 F77_BLAS_MANGLE(zgttrs,ZGTTRS) 00335 #define ZPTTRF_F77 F77_BLAS_MANGLE(zpttrf,ZPTTRF) 00336 #define ZPTTRS_F77 F77_BLAS_MANGLE(zpttrs,ZPTTRS) 00337 #define ZGETRF_F77 F77_BLAS_MANGLE(zgetrf,ZGETRF) 00338 #define ZGETRS_F77 F77_BLAS_MANGLE(zgetrs,ZGETRS) 00339 #define ZGETRI_F77 F77_BLAS_MANGLE(zgetri,ZGETRI) 00340 #define ZGERFS_F77 F77_BLAS_MANGLE(zgerfs,ZGERFS) 00341 #define ZGECON_F77 F77_BLAS_MANGLE(zgecon,ZGECON) 00342 #define ZGESVX_F77 F77_BLAS_MANGLE(zgesvx,ZGESVX) 00343 #define ZGESV_F77 F77_BLAS_MANGLE(zgesv,ZGESV) 00344 #define ZGEEQU_F77 F77_BLAS_MANGLE(zgeequ,ZGEEQU) 00345 #define ZPOTRF_F77 F77_BLAS_MANGLE(zpotrf,ZPOTRF) 00346 #define ZPOTRS_F77 F77_BLAS_MANGLE(zpotrs,ZPOTRS) 00347 #define ZPOTRI_F77 F77_BLAS_MANGLE(zpotri,ZPOTRI) 00348 #define ZPOCON_F77 F77_BLAS_MANGLE(zpocon,ZPOCON) 00349 #define ZPOSV_F77 F77_BLAS_MANGLE(zposv,ZPOSV) 00350 #define ZPOEQU_F77 F77_BLAS_MANGLE(zpoequ,ZPOEQU) 00351 #define ZPORFS_F77 F77_BLAS_MANGLE(zporfs,ZPORFS) 00352 #define ZPOSVX_F77 F77_BLAS_MANGLE(zposvx,ZPOSVX) 00353 #define ZTRTRS_F77 F77_BLAS_MANGLE(ztrtrs,ZTRTRS) 00354 #define ZTRTRI_F77 F77_BLAS_MANGLE(ztrtri,ZTRTRI) 00355 #define ZGELS_F77 F77_BLAS_MANGLE(zgels,ZGELS) 00356 #define ZGEEV_F77 F77_BLAS_MANGLE(zgeev,ZGEEV) 00357 #define ZGESVD_F77 F77_BLAS_MANGLE(zgesvd,ZGESVD) 00358 //#define ZGGEVX_F77 F77_BLAS_MANGLE(zggevx,ZGGEVX) 00359 #define ZGEHRD_F77 F77_BLAS_MANGLE(zgehrd,ZGEHRD) 00360 #define ZHSEQR_F77 F77_BLAS_MANGLE(zhseqr,ZHSEQR) 00361 #define ZTREVC_F77 F77_BLAS_MANGLE(ztrevc,ZTREVC) 00362 #define ZTREXC_F77 F77_BLAS_MANGLE(ztrexc,ZTREXC) 00363 #define ZGEES_F77 F77_BLAS_MANGLE(zgees,ZGEES) 00364 #define ZSTEQR_F77 F77_BLAS_MANGLE(zsteqr,ZSTEQR) 00365 #define ZHEEV_F77 F77_BLAS_MANGLE(zheev,ZHEEV) 00366 #define ZHEGV_F77 F77_BLAS_MANGLE(zhegv,ZHEGV) 00367 #define ZLARTG_F77 F77_BLAS_MANGLE(zlartg,ZLARTG) 00368 #define ZLARFG_F77 F77_BLAS_MANGLE(zlarfg,ZLARFG) 00369 #define ZLARND_F77 F77_BLAS_MANGLE(zlarnd,ZLARND) 00370 #define ZLARNV_F77 F77_BLAS_MANGLE(zlarnv,ZLARNV) 00371 /* 00372 #ifdef HAVE_LAPACK_GGEV 00373 #define ZGGEV_F77 F77_BLAS_MANGLE(zggev,ZGGEV) 00374 #endif 00375 #ifdef HAVE_LAPACK_GEGV 00376 #define ZGGEV_F77 F77_BLAS_MANGLE(zgegv,ZGEGV) 00377 #endif 00378 */ 00379 00380 #endif /* HAVE_TEUCHOS_COMPLEX */ 00381 00382 #endif /* defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */ 00383 00384 /* All three of these machines use a simple uppercase mangling of Fortran names */ 00385 00386 /* if F77_BLAS_MANGLE is defined undefine it because we want to redefine */ 00387 00388 #ifdef F77_FUNC 00389 #undef F77_FUNC 00390 #endif 00391 00392 #ifdef F77_BLAS_MANGLE 00393 #undef F77_BLAS_MANGLE 00394 #endif 00395 00396 #define F77_FUNC(lcase,UCASE) PREFIX UCASE 00397 #define F77_BLAS_MANGLE(lcase,UCASE) PREFIX UCASE 00398 00399 #else /* Define Teuchos_fcd for all other machines */ 00400 00401 #define PREFIX 00402 #define Teuchos_fcd const char * 00403 00404 #ifdef TRILINOS_NO_CONFIG_H 00405 00406 #ifdef F77_FUNC 00407 #undef F77_FUNC 00408 #endif 00409 00410 #ifdef F77_BLAS_MANGLE 00411 #undef F77_BLAS_MANGLE 00412 #endif 00413 00414 00415 #ifdef TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE 00416 #define F77_FUNC(lcase,UCASE) lcase 00417 #define F77_BLAS_MANGLE(lcase,UCASE) lcase 00418 #else /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE not defined*/ 00419 #define F77_FUNC(lcase,UCASE) lcase ## _ 00420 #define F77_BLAS_MANGLE(lcase,UCASE) lcase ## _ 00421 #endif /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE */ 00422 00423 #endif /* TRILINOS_NO_CONFIG_H */ 00424 00425 #define DGEQRF_F77 F77_BLAS_MANGLE(dgeqrf,DGEQRF) 00426 #define DGETRF_F77 F77_BLAS_MANGLE(dgetrf,DGETRF) 00427 #define DGETRS_F77 F77_BLAS_MANGLE(dgetrs,DGETRS) 00428 #define DGTTRF_F77 F77_BLAS_MANGLE(dgttrf,DGTTRF) 00429 #define DGTTRS_F77 F77_BLAS_MANGLE(dgttrs,DGTTRS) 00430 #define DPTTRF_F77 F77_BLAS_MANGLE(dpttrf,DPTTRF) 00431 #define DPTTRS_F77 F77_BLAS_MANGLE(dpttrs,DPTTRS) 00432 #define DGETRI_F77 F77_BLAS_MANGLE(dgetri,DGETRI) 00433 #define DGERFS_F77 F77_BLAS_MANGLE(dgerfs,DGERFS) 00434 #define DGECON_F77 F77_BLAS_MANGLE(dgecon,DGECON) 00435 #define DGESVX_F77 F77_BLAS_MANGLE(dgesvx,DGESVX) 00436 #define DGESV_F77 F77_BLAS_MANGLE(dgesv,DGESV) 00437 #define DGEEQU_F77 F77_BLAS_MANGLE(dgeequ,DGEEQU) 00438 #define DSYTRD_F77 F77_BLAS_MANGLE(dsytrd,DSYTRD) 00439 #define DPOTRF_F77 F77_BLAS_MANGLE(dpotrf,DPOTRF) 00440 #define DPOTRS_F77 F77_BLAS_MANGLE(dpotrs,DPOTRS) 00441 #define DPOTRI_F77 F77_BLAS_MANGLE(dpotri,DPOTRI) 00442 #define DPOCON_F77 F77_BLAS_MANGLE(dpocon,DPOCON) 00443 #define DPOSV_F77 F77_BLAS_MANGLE(dposv,DPOSV) 00444 #define DPOEQU_F77 F77_BLAS_MANGLE(dpoequ,DPOEQU) 00445 #define DPORFS_F77 F77_BLAS_MANGLE(dporfs,DPORFS) 00446 #define DPOSVX_F77 F77_BLAS_MANGLE(dposvx,DPOSVX) 00447 #define DTRTRS_F77 F77_BLAS_MANGLE(dtrtrs,DTRTRS) 00448 #define DTRTRI_F77 F77_BLAS_MANGLE(dtrtri,DTRTRI) 00449 #define DLAMCH_F77 F77_BLAS_MANGLE(dlamch,DLAMCH) 00450 #define DGELS_F77 F77_BLAS_MANGLE(dgels,DGELS) 00451 #define DGELSS_F77 F77_BLAS_MANGLE(dgelss,DGELSS) 00452 #define DGGLSE_F77 F77_BLAS_MANGLE(dgglse,DGGLSE) 00453 #define DGEEV_F77 F77_BLAS_MANGLE(dgeev,DGEEV) 00454 #define DGESVD_F77 F77_BLAS_MANGLE(dgesvd,DGESVD) 00455 #define DGGEVX_F77 F77_BLAS_MANGLE(dggevx,DGGEVX) 00456 #define DGEHRD_F77 F77_BLAS_MANGLE(dgehrd,DGEHRD) 00457 #define DHSEQR_F77 F77_BLAS_MANGLE(dhseqr,DHSEQR) 00458 #define DORGHR_F77 F77_BLAS_MANGLE(dorghr,DORGHR) 00459 #define DORGQR_F77 F77_BLAS_MANGLE(dorgqr,DORGQR) 00460 #define DORMHR_F77 F77_BLAS_MANGLE(dormhr,DORMHR) 00461 #define DORMQR_F77 F77_BLAS_MANGLE(dormqr,DORMQR) 00462 #define DTREVC_F77 F77_BLAS_MANGLE(dtrevc,DTREVC) 00463 #define DTREXC_F77 F77_BLAS_MANGLE(dtrexc,DTREXC) 00464 #define DGEES_F77 F77_BLAS_MANGLE(dgees,DGEES) 00465 #define DSPEV_F77 F77_BLAS_MANGLE(dspev,DSPEV) 00466 #define DSYEV_F77 F77_BLAS_MANGLE(dsyev,DSYEV) 00467 #define DSYGV_F77 F77_BLAS_MANGLE(dsygv,DSYGV) 00468 #define DSTEQR_F77 F77_BLAS_MANGLE(dsteqr,DSTEQR) 00469 #define DLAPY2_F77 F77_BLAS_MANGLE(dlapy2,DLAPY2) 00470 #define DLARND_F77 F77_BLAS_MANGLE(dlarnd,DLARND) 00471 #define DLARNV_F77 F77_BLAS_MANGLE(dlarnv,DLARNV) 00472 #define DLARTG_F77 F77_BLAS_MANGLE(dlartg,DLARTG) 00473 #define DLARFG_F77 F77_BLAS_MANGLE(dlarfg,DLARFG) 00474 #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV) 00475 #ifdef HAVE_LAPACK_GGEV 00476 #define DGGEV_F77 F77_BLAS_MANGLE(dggev,DGGEV) 00477 #endif 00478 #ifdef HAVE_LAPACK_GEGV 00479 #define DGGEV_F77 F77_BLAS_MANGLE(dgegv,DGEGV) 00480 #endif 00481 00482 #ifdef HAVE_TEUCHOS_COMPLEX 00483 00484 #define ZGEQRF_F77 F77_BLAS_MANGLE(zgeqrf,ZGEQRF) 00485 #define ZUNGQR_F77 F77_BLAS_MANGLE(zungqr,ZUNGQR) 00486 #define ZGETRF_F77 F77_BLAS_MANGLE(zgetrf,ZGETRF) 00487 #define ZGETRS_F77 F77_BLAS_MANGLE(zgetrs,ZGETRS) 00488 #define ZGTTRF_F77 F77_BLAS_MANGLE(zgttrf,ZGTTRF) 00489 #define ZGTTRS_F77 F77_BLAS_MANGLE(zgttrs,ZGTTRS) 00490 #define ZPTTRF_F77 F77_BLAS_MANGLE(zpttrf,ZPTTRF) 00491 #define ZPTTRS_F77 F77_BLAS_MANGLE(zpttrs,ZPTTRS) 00492 #define ZGETRI_F77 F77_BLAS_MANGLE(zgetri,ZGETRI) 00493 #define ZGERFS_F77 F77_BLAS_MANGLE(zgerfs,ZGERFS) 00494 #define ZGECON_F77 F77_BLAS_MANGLE(zgecon,ZGECON) 00495 #define ZGESVX_F77 F77_BLAS_MANGLE(zgesvx,ZGESVX) 00496 #define ZGESV_F77 F77_BLAS_MANGLE(zgesv,ZGESV) 00497 #define ZGEEQU_F77 F77_BLAS_MANGLE(zgeequ,ZGEEQU) 00498 #define ZPOTRF_F77 F77_BLAS_MANGLE(zpotrf,ZPOTRF) 00499 #define ZPOTRS_F77 F77_BLAS_MANGLE(zpotrs,ZPOTRS) 00500 #define ZPOTRI_F77 F77_BLAS_MANGLE(zpotri,ZPOTRI) 00501 #define ZPOCON_F77 F77_BLAS_MANGLE(zpocon,ZPOCON) 00502 #define ZPOSV_F77 F77_BLAS_MANGLE(zposv,ZPOSV) 00503 #define ZPOEQU_F77 F77_BLAS_MANGLE(zpoequ,ZPOEQU) 00504 #define ZPORFS_F77 F77_BLAS_MANGLE(zporfs,ZPORFS) 00505 #define ZPOSVX_F77 F77_BLAS_MANGLE(zposvx,ZPOSVX) 00506 #define ZTRTRS_F77 F77_BLAS_MANGLE(ztrtrs,ZTRTRS) 00507 #define ZTRTRI_F77 F77_BLAS_MANGLE(ztrtri,ZTRTRI) 00508 #define ZGELS_F77 F77_BLAS_MANGLE(zgels,ZGELS) 00509 //#define ZGELSS_F77 F77_BLAS_MANGLE(zgelss,ZGELSS) 00510 //#define ZGGLSE_F77 F77_BLAS_MANGLE(zgglse,ZGGLSE) 00511 #define ZGEEV_F77 F77_BLAS_MANGLE(zgeev,ZGEEV) 00512 #define ZGESVD_F77 F77_BLAS_MANGLE(zgesvd,ZGESVD) 00513 //#define ZGGEVX_F77 F77_BLAS_MANGLE(zggevx,ZGGEVX) 00514 #define ZGEHRD_F77 F77_BLAS_MANGLE(zgehrd,ZGEHRD) 00515 #define ZHSEQR_F77 F77_BLAS_MANGLE(zhseqr,ZHSEQR) 00516 #define ZTREVC_F77 F77_BLAS_MANGLE(ztrevc,ZTREVC) 00517 #define ZTREXC_F77 F77_BLAS_MANGLE(ztrexc,ZTREXC) 00518 #define ZGEES_F77 F77_BLAS_MANGLE(zgees,ZGEES) 00519 #define ZSTEQR_F77 F77_BLAS_MANGLE(zsteqr,ZSTEQR) 00520 #define ZHEEV_F77 F77_BLAS_MANGLE(zheev,ZHEEV) 00521 #define ZHEGV_F77 F77_BLAS_MANGLE(zhegv,ZHEGV) 00522 #define ZLARTG_F77 F77_BLAS_MANGLE(zlartg,ZLARTG) 00523 #define ZLARFG_F77 F77_BLAS_MANGLE(zlarfg,ZLARFG) 00524 #define ZLARND_F77 F77_BLAS_MANGLE(zlarnd,ZLARND) 00525 #define ZLARNV_F77 F77_BLAS_MANGLE(zlarnv,ZLARNV) 00526 /* 00527 #ifdef HAVE_LAPACK_GGEV 00528 #define ZGGEV_F77 F77_BLAS_MANGLE(zggev,ZGGEV) 00529 #endif 00530 #ifdef HAVE_LAPACK_GEGV 00531 #define ZGGEV_F77 F77_BLAS_MANGLE(zgegv,ZGEGV) 00532 #endif 00533 */ 00534 00535 #endif /* HAVE_TEUCHOS_COMPLEX */ 00536 00537 #endif 00538 00539 #define SGEQRF_F77 F77_BLAS_MANGLE(sgeqrf,SGEQRF) 00540 #define SGETRF_F77 F77_BLAS_MANGLE(sgetrf,SGETRF) 00541 #define SGETRS_F77 F77_BLAS_MANGLE(sgetrs,SGETRS) 00542 #define SGTTRF_F77 F77_BLAS_MANGLE(sgttrf,SGTTRF) 00543 #define SGTTRS_F77 F77_BLAS_MANGLE(sgttrs,SGTTRS) 00544 #define SPTTRF_F77 F77_BLAS_MANGLE(spttrf,SPTTRF) 00545 #define SPTTRS_F77 F77_BLAS_MANGLE(spttrs,SPTTRS) 00546 #define SGETRI_F77 F77_BLAS_MANGLE(sgetri,SGETRI) 00547 #define SGERFS_F77 F77_BLAS_MANGLE(sgerfs,SGERFS) 00548 #define SGECON_F77 F77_BLAS_MANGLE(sgecon,SGECON) 00549 #define SGESVX_F77 F77_BLAS_MANGLE(sgesvx,SGESVX) 00550 #define SGESV_F77 F77_BLAS_MANGLE(sgesv,SGESV) 00551 #define SGEEQU_F77 F77_BLAS_MANGLE(sgeequ,SGEEQU) 00552 #define SSYTRD_F77 F77_BLAS_MANGLE(ssytrd,SSYTRD) 00553 #define SPOTRF_F77 F77_BLAS_MANGLE(spotrf,SPOTRF) 00554 #define SPOTRS_F77 F77_BLAS_MANGLE(spotrs,SPOTRS) 00555 #define SPOTRI_F77 F77_BLAS_MANGLE(spotri,SPOTRI) 00556 #define SPOCON_F77 F77_BLAS_MANGLE(spocon,SPOCON) 00557 #define SPOSV_F77 F77_BLAS_MANGLE(sposv,SPOSV) 00558 #define SPOEQU_F77 F77_BLAS_MANGLE(spoequ,SPOEQU) 00559 #define SPORFS_F77 F77_BLAS_MANGLE(sporfs,SPORFS) 00560 #define SPOSVX_F77 F77_BLAS_MANGLE(sposvx,SPOSVX) 00561 #define STRTRS_F77 F77_BLAS_MANGLE(strtrs,STRTRS) 00562 #define STRTRI_F77 F77_BLAS_MANGLE(strtri,STRTRI) 00563 #define SGELS_F77 F77_BLAS_MANGLE(sgels,SGELS) 00564 #define SGELSS_F77 F77_BLAS_MANGLE(sgelss,SGELSS) 00565 #define SGGLSE_F77 F77_BLAS_MANGLE(sgglse,SGGLSE) 00566 #define SGEEV_F77 F77_BLAS_MANGLE(sgeev,SGEEV) 00567 #define SGESVD_F77 F77_BLAS_MANGLE(sgesvd,SGESVD) 00568 #define SGGEVX_F77 F77_BLAS_MANGLE(sggevx,SGGEVX) 00569 #define SGEHRD_F77 F77_BLAS_MANGLE(sgehrd,SGEHRD) 00570 #define SHSEQR_F77 F77_BLAS_MANGLE(shseqr,SHSEQR) 00571 #define SORGHR_F77 F77_BLAS_MANGLE(sorghr,SORGHR) 00572 #define SORGQR_F77 F77_BLAS_MANGLE(sorgqr,SORGQR) 00573 #define SORMHR_F77 F77_BLAS_MANGLE(sormhr,SORMHR) 00574 #define SORMQR_F77 F77_BLAS_MANGLE(sormqr,SORMQR) 00575 #define STREVC_F77 F77_BLAS_MANGLE(strevc,STREVC) 00576 #define STREXC_F77 F77_BLAS_MANGLE(strexc,STREXC) 00577 #define SLAMCH_F77 F77_BLAS_MANGLE(slamch,SLAMCH) 00578 #define SGEES_F77 F77_BLAS_MANGLE(sgees,SGEES) 00579 #define SSPEV_F77 F77_BLAS_MANGLE(sspev,SSPEV) 00580 #define SSYEV_F77 F77_BLAS_MANGLE(ssyev,SSYEV) 00581 #define SSYGV_F77 F77_BLAS_MANGLE(ssygv,SSYGV) 00582 #define SSTEQR_F77 F77_BLAS_MANGLE(ssteqr,SSTEQR) 00583 #define SLAPY2_F77 F77_BLAS_MANGLE(slapy2,SLAPY2) 00584 #define SLARTG_F77 F77_BLAS_MANGLE(slartg,SLARTG) 00585 #define SLARFG_F77 F77_BLAS_MANGLE(slarfg,SLARFG) 00586 #define SLARND_F77 F77_BLAS_MANGLE(slarnd,SLARND) 00587 #define SLARNV_F77 F77_BLAS_MANGLE(slarnv,SLARNV) 00588 #ifdef HAVE_LAPACK_GGEV 00589 #define SGGEV_F77 F77_BLAS_MANGLE(sggev,SGGEV) 00590 #endif 00591 #ifdef HAVE_LAPACK_GEGV 00592 #define SGGEV_F77 F77_BLAS_MANGLE(sgegv,SGEGV) 00593 #endif 00594 00595 #ifdef HAVE_TEUCHOS_COMPLEX 00596 00597 #define CGEQRF_F77 F77_BLAS_MANGLE(cgeqrf,CGEQRF) 00598 #define CUNGQR_F77 F77_BLAS_MANGLE(cungqr,CUNGQR) 00599 #define CGETRF_F77 F77_BLAS_MANGLE(cgetrf,CGETRF) 00600 #define CGETRS_F77 F77_BLAS_MANGLE(cgetrs,CGETRS) 00601 #define CGTTRF_F77 F77_BLAS_MANGLE(cgttrf,CGTTRF) 00602 #define CGTTRS_F77 F77_BLAS_MANGLE(cgttrs,CGTTRS) 00603 #define CPTTRF_F77 F77_BLAS_MANGLE(cpttrf,CPTTRF) 00604 #define CPTTRS_F77 F77_BLAS_MANGLE(cpttrs,CPTTRS) 00605 #define CGETRI_F77 F77_BLAS_MANGLE(cgetri,CGETRI) 00606 #define CGERFS_F77 F77_BLAS_MANGLE(cgerfs,CGERFS) 00607 #define CGECON_F77 F77_BLAS_MANGLE(cgecon,CGECON) 00608 #define CGESVX_F77 F77_BLAS_MANGLE(cgesvx,CGESVX) 00609 #define CGESV_F77 F77_BLAS_MANGLE(cgesv,CGESV) 00610 #define CGEEQU_F77 F77_BLAS_MANGLE(cgeequ,CGEEQU) 00611 #define CPOTRF_F77 F77_BLAS_MANGLE(cpotrf,CPOTRF) 00612 #define CPOTRS_F77 F77_BLAS_MANGLE(cpotrs,CPOTRS) 00613 #define CPOTRI_F77 F77_BLAS_MANGLE(cpotri,CPOTRI) 00614 #define CPOCON_F77 F77_BLAS_MANGLE(cpocon,CPOCON) 00615 #define CPOSV_F77 F77_BLAS_MANGLE(cposv,CPOSV) 00616 #define CPOEQU_F77 F77_BLAS_MANGLE(cpoequ,CPOEQU) 00617 #define CPORFS_F77 F77_BLAS_MANGLE(cporfs,CPORFS) 00618 #define CPOSVX_F77 F77_BLAS_MANGLE(cposvx,CPOSVX) 00619 #define CTRTRS_F77 F77_BLAS_MANGLE(ctrtrs,CTRTRS) 00620 #define CTRTRI_F77 F77_BLAS_MANGLE(ctrtri,CTRTRI) 00621 #define CGELS_F77 F77_BLAS_MANGLE(cgels,CGELS) 00622 //#define CGELSS_F77 F77_BLAS_MANGLE(cgelss,CGELSS) 00623 //#define CGGLSE_F77 F77_BLAS_MANGLE(cgglse,CGGLSE) 00624 #define CGEEV_F77 F77_BLAS_MANGLE(cgeev,CGEEV) 00625 #define CGESVD_F77 F77_BLAS_MANGLE(cgesvd,CGESVD) 00626 //#define CGGEVX_F77 F77_BLAS_MANGLE(cggevx,CGGEVX) 00627 #define CGEHRD_F77 F77_BLAS_MANGLE(cgehrd,CGEHRD) 00628 #define CHSEQR_F77 F77_BLAS_MANGLE(chseqr,CHSEQR) 00629 #define CTREVC_F77 F77_BLAS_MANGLE(ctrevc,CTREVC) 00630 #define CTREXC_F77 F77_BLAS_MANGLE(ctrexc,CTREXC) 00631 #define CGEES_F77 F77_BLAS_MANGLE(cgees,CGEES) 00632 #define CSTEQR_F77 F77_BLAS_MANGLE(csteqr,CSTEQR) 00633 #define CHEEV_F77 F77_BLAS_MANGLE(cheev,CHEEV) 00634 #define CHEGV_F77 F77_BLAS_MANGLE(chegv,CHEGV) 00635 #define CLARTG_F77 F77_BLAS_MANGLE(clartg,CLARTG) 00636 #define CLARFG_F77 F77_BLAS_MANGLE(clarfg,CLARFG) 00637 #define CLARND_F77 F77_BLAS_MANGLE(clarnd,CLARND) 00638 #define CLARNV_F77 F77_BLAS_MANGLE(clarnv,CLARNV) 00639 /* 00640 #ifdef HAVE_LAPACK_GGEV 00641 #define CGGEV_F77 F77_BLAS_MANGLE(cggev,CGGEV) 00642 #endif 00643 #ifdef HAVE_LAPACK_GEGV 00644 #define CGGEV_F77 F77_BLAS_MANGLE(cgegv,CGEGV) 00645 #endif 00646 */ 00647 00648 #endif /* HAVE_TEUCHOS_COMPLEX */ 00649 00650 #ifdef __cplusplus 00651 extern "C" { 00652 #endif 00653 00654 // Double precision LAPACK linear solvers 00655 void PREFIX DGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, double* a, const int* lda, double* b, const int* ldb, double* work, const int* lwork, int* info); 00656 void PREFIX DGELSS_F77(const int* m, const int* n, const int* nrhs, double* a, const int* lda, double* b, const int* ldb, double* s, const double* rcond, int* rank, double* work, const int* lwork, int* info); 00657 void PREFIX DGGLSE_F77(const int* m, const int* n, const int* p, double* a, const int* lda, double* b, const int* ldb, double* c, double* d, double* x, double* work, const int* lwork, int* info); 00658 void PREFIX DGEQRF_F77(const int* m, const int* n, double* a, const int* lda, double* tau, double* work, const int* lwork, int* info); 00659 void PREFIX DGETRF_F77(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info); 00660 void PREFIX DGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda,const int* ipiv, double* x , const int* ldx, int* info); 00661 void PREFIX DGTTRF_F77(const int* n, double* dl, double* d, double* du, double* du2, int* ipiv, int* info); 00662 void PREFIX DGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* dl, const double* d, const double* du, const double* du2, const int* ipiv, double* x , const int* ldx, int* info); 00663 void PREFIX DPTTRF_F77(const int* n, double* d, double* e, int* info); 00664 void PREFIX DPTTRS_F77(const int* n, const int* nrhs, const double* d, const double* e, double* x , const int* ldx, int* info); 00665 void PREFIX DGETRI_F77(const int* n, double* a, const int* lda, const int* ipiv, double* work , const int* lwork, int* info); 00666 void PREFIX DGECON_F77(Teuchos_fcd norm, const int* n, const double* a, const int* lda, const double* anorm, double* rcond, double* work, int* iwork, int* info); 00667 void PREFIX DGESV_F77(const int* n, const int* nrhs, double* a, const int* lda, int* ipiv, double* x , const int* ldx, int* info); 00668 void PREFIX DGEEQU_F77(const int* m, const int* n, const double* a, const int* lda, double* r, double* c, double* rowcnd, double* colcnd, double* amax, int* info); 00669 void PREFIX DGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda, const double* af, const int* ldaf, const int* ipiv, const double* b, const int* ldb, double* x, const int* ldx, double* ferr, double* berr, double* work, int* iwork, int* info); 00670 void PREFIX DGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double* af, const int* ldaf, int* ipiv, Teuchos_fcd, double* r, 00671 double* c, double* b, const int* ldb, double* x, const int* ldx, double* rcond, double* ferr, double* berr, double* work, int* iwork, int* info); 00672 void PREFIX DSYTRD_F77(Teuchos_fcd, const int* n, double* a, const int* lda, double* D, double* E, double* tau, double* work, const int* lwork, int* info); 00673 void PREFIX DPOTRF_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info); 00674 void PREFIX DPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda, double*x , const int* ldx, int* info); 00675 void PREFIX DPOTRI_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info); 00676 void PREFIX DPOCON_F77(Teuchos_fcd, const int* n, const double* a, const int* lda, const double* anorm, double* rcond, double* work, int* iwork, int* info); 00677 void PREFIX DPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double*x , const int* ldx, int* info); 00678 void PREFIX DPOEQU_F77(const int* n, const double* a, const int* lda, double* s, double* scond, double* amax, int* info); 00679 void PREFIX DPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, const double* af, const int* ldaf, const double* b, const int* ldb, double* x, const int* ldx, double* ferr, double* berr, double* work, int* iwork, int* info); 00680 void PREFIX DPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double* af, const int* ldaf, Teuchos_fcd, double* s, double* b, const int* ldb, double* x, const int* ldx, double* rcond, double* ferr, double* berr, double* work, int* iwork, int* info); 00681 void PREFIX DTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda, double* b, const int* ldb, int* info); 00682 void PREFIX DTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const double* a, const int* lda, int* info); 00683 00684 // Single precision LAPACK linear solvers 00685 00686 void PREFIX SGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, float* a, const int* lda, float* b, const int* ldb, float* work, const int* lwork, int* info); 00687 void PREFIX SGELSS_F77(const int* m, const int* n, const int* nrhs, float* a, const int* lda, float* b, const int* ldb, float* s, const float* rcond, int* rank, float* work, const int* lwork, int* info); 00688 void PREFIX SGGLSE_F77(const int* m, const int* n, const int* p, double* a, const int* lda, double* b, const int* ldb, double* c, double* d, double* x, double* work, const int* lwork, int* info); 00689 void PREFIX SGEQRF_F77(const int* m, const int* n, float* a, const int* lda, float* tau, float* work, const int* lwork, int* info); 00690 void PREFIX SGETRF_F77(const int* m, const int* n, float* a, const int* lda, int* ipiv, int* info); 00691 void PREFIX SGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda,const int* ipiv, float* x , const int* ldx, int* info); 00692 void PREFIX SGTTRF_F77(const int* n, float* dl, float* d, float* du, float* du2, int* ipiv, int* info); 00693 void PREFIX SGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* dl, const float* d, const float* du, const float* du2, const int* ipiv, float* x , const int* ldx, int* info); 00694 void PREFIX SPTTRF_F77(const int* n, float* d, float* e, int* info); 00695 void PREFIX SPTTRS_F77(const int* n, const int* nrhs, const float* d, const float* e, float* x , const int* ldx, int* info); 00696 void PREFIX SGETRI_F77(const int* n, float* a, const int* lda, const int* ipiv, float* work , const int* lwork, int* info); 00697 void PREFIX SGECON_F77(Teuchos_fcd norm, const int* n, const float* a, const int* lda, const float* anorm, float* rcond, float* work, int* iwork, int* info); 00698 void PREFIX SGESV_F77(const int* n, const int* nrhs, float* a, const int* lda, int* ipiv, float* x , const int* ldx, int* info); 00699 void PREFIX SGEEQU_F77(const int* m, const int* n, const float* a, const int* lda, float* r, float* c, float* rowcnd, float* colcnd, float* amax, int* info); 00700 void PREFIX SGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda, const float* af, const int* ldaf, const int* ipiv, const float* b, const int* ldb, float* x, const int* ldx, float* ferr, float* berr, float* work, int* iwork, int* info); 00701 void PREFIX SGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float* af, const int* ldaf, int* ipiv, Teuchos_fcd, float* r, 00702 float* c, float* b, const int* ldb, float* x, const int* ldx, float* rcond, float* ferr, float* berr, float* work, int* iwork, int* info); 00703 void PREFIX SSYTRD_F77(Teuchos_fcd, const int* n, float* a, const int* lda, float* D, float* E, float* tau, float* work, const int* lwork, int* info); 00704 void PREFIX SPOTRF_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info); 00705 void PREFIX SPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda, float*x , const int* ldx, int* info); 00706 void PREFIX SPOTRI_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info); 00707 void PREFIX SPOCON_F77(Teuchos_fcd, const int* n, const float* a, const int* lda, const float* anorm, float* rcond, float* work, int* iwork, int* info); 00708 void PREFIX SPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float*x , const int* ldx, int* info); 00709 void PREFIX SPOEQU_F77(const int* n, const float* a, const int* lda, float* s, float* scond, float* amax, int* info); 00710 void PREFIX SPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, const float* af, const int* ldaf, const float* b, const int* ldb, float* x, const int* ldx, float* ferr, float* berr, float* work, int* iwork, int* info); 00711 void PREFIX SPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float* af, const int* ldaf, Teuchos_fcd, float* s, float* b, const int* ldb, float* x, const int* ldx, float* rcond, float* ferr, float* berr, float* work, int* iwork, int* info); 00712 void PREFIX STRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda, float* b, const int* ldb, int* info); 00713 void PREFIX STRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const float* a, const int* lda, int* info); 00714 00715 // Double precision LAPACK eigen solvers 00716 void PREFIX DSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* ap, double* w, double* z, const int* ldz, double* work, int* info); 00717 void PREFIX DSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* w, double* work, const int* lwork, int* info); 00718 void PREFIX DSYGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* B, const int* ldb, double* w, double* work, const int* lwork, int* info); 00719 void PREFIX DSTEQR_F77(Teuchos_fcd, const int* n, double* D, double* E, double* Z, const int* ldz, double* work, int* info); 00720 void PREFIX DGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* wr, double* wi, double* vl, const int* ldvl, double* vr, const int* ldvr, double* work, const int* lwork, int* info); 00721 void PREFIX DGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, double* a, const int* lda, double* s, double* u, const int* ldu, double* v, const int* ldv, double* work, const int* lwork, int* info); 00722 void PREFIX DGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* b, const int* ldb, double* alphar, double* alphai, double* beta, double* vl, const int* ldvl, double* vr, const int* ldvr, int* ilo, int* ihi, double* lscale, double* rscale, double* abnrm, double* bbnrm, double* rconde, double* rcondv, double* work, const int* lwork, int* iwork, int* bwork, int* info); 00723 void PREFIX DGEHRD_F77(const int* n, const int* ilo, const int* ihi, double* A, const int* lda, double* tau, double* work, const int* lwork, int* info); 00724 void PREFIX DHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, double* h, const int* ldh, double* wr, double* wi, double* z, const int* ldz, double* work, const int* lwork, int* info); 00725 void PREFIX DGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(double*, double*), const int* n, double* a, const int* lda, int*sdim, double* wr, double* wi, double* vs, const int* ldvs, double* work, const int* lwork, int* bwork, int* info); 00726 void PREFIX DORGHR_F77(const int* n, const int* ilo, const int* ihi, double* a, const int* lda, double* tau, double* work, int* lwork, int* info); 00727 void PREFIX DORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* ilo, const int* ihi, const double* a, const int* lda, const double* tau, double* c, const int* ldc, double* work, int* lwork, int* info); 00728 void PREFIX DORGQR_F77(const int* m, const int* n, const int* k, double* a, const int* lda, const double* tau, double* work, const int* lwork, int* info); 00729 void PREFIX DORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* k, double* a, const int* lda, const double* tau, double* C, const int* ldc, double* work, const int* lwork, int* info); 00730 void PREFIX DTREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const double* t, const int* ldt, double* vl, const int* ldvl, double* vr, const int* ldvr, const int* mm, int* m, double* work, int* info); 00731 void PREFIX DTREXC_F77(Teuchos_fcd, const int* n, double* t, const int* ldt, double* q, const int* ldq, int* ifst, int* ilst, double* work, int* info); 00732 void PREFIX DGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *A, const int *lda, double *B, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info); 00733 00734 00735 // Single precision LAPACK eigen solvers 00736 00737 void PREFIX SSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* ap, float* w, float* z, const int* ldz, float* work, int* info); 00738 void PREFIX SSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* w, float* work, const int* lwork, int* info); 00739 void PREFIX SSYGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* B, const int* ldb, float* w, float* work, const int* lwork, int* info); 00740 void PREFIX SSTEQR_F77(Teuchos_fcd, const int* n, float* D, float* E, float* Z, const int* ldz, float* work, int* info); 00741 void PREFIX SGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* wr, float* wi, float* vl, const int* ldvl, float* vr, const int* ldvr, float* work, const int* lwork, int* info); 00742 void PREFIX SGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, float* a, const int* lda, float* s, float* u, const int* ldu, float* v, const int* ldv, float* work, const int* lwork, int* info); 00743 void PREFIX SGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* b, const int* ldb, float* alphar, float* alphai, float* beta, float* vl, const int* ldvl, float* vr, const int* ldvr, int* ilo, int* ihi, float* lscale, float* rscale, float* abnrm, float* bbnrm, float* rconde, float* rcondv, float* work, const int* lwork, int* iwork, int* bwork, int* info); 00744 void PREFIX SGEHRD_F77(const int* n, const int* ilo, const int* ihi, float* A, const int* lda, float* tau, float* work, const int* lwork, int* info); 00745 void PREFIX SHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, float* h, const int* ldh, float* wr, float* wi, float* z, const int* ldz, float* work, const int* lwork, int* info); 00746 void PREFIX SGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(float*, float*), const int* n, float* a, const int* lda, int* sdim, float* wr, float* wi, float* vs, const int* ldvs, float* work, const int* lwork, int* bwork, int* info); 00747 void PREFIX SORGHR_F77(const int* n, const int* ilo, const int* ihi, float* a, const int* lda, float* tau, float* work, int* lwork, int* info); 00748 void PREFIX SORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* ilo, const int* ihi, const float* a, const int* lda, const float* tau, float* c, const int* ldc, float* work, int* lwork, int* info); 00749 void PREFIX SORGQR_F77(const int* m, const int* n, const int* k, float* a, const int* lda, const float* tau, float* work, const int* lwork, int* info); 00750 void PREFIX SORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* k, float* a, const int* lda, const float* tau, float* C, const int* ldc, float* work, const int* lwork, int* info); 00751 void PREFIX STREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const float* t, const int* ldt, float* vl, const int* ldvl, float* vr, const int* ldvr, const int* mm, int* m, float* work, int* info); 00752 void PREFIX STREXC_F77(Teuchos_fcd, const int* n, float* t, const int* ldt, float* q, const int* ldq, int* ifst, int* ilst, float* work, int* info); 00753 void PREFIX SGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *A, const int *lda, float *B, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info); 00754 00755 void PREFIX SLARTG_F77(const float* f, const float* g, float* c, float* s, float* r); 00756 void PREFIX DLARTG_F77(const double* f, const double* g, double* c, double* s, double* r); 00757 00758 void PREFIX SLARFG_F77(const int* n, float* alpha, float* x, const int* incx, float* tau); 00759 void PREFIX DLARFG_F77(const int* n, double* alpha, double* x, const int* incx, double* tau); 00760 00761 float PREFIX SLARND_F77(const int* idist, int* seed); 00762 double PREFIX DLARND_F77(const int* idist, int* seed); 00763 00764 void PREFIX SLARNV_F77(const int* idist, int* seed, const int* n, float* v); 00765 void PREFIX DLARNV_F77(const int* idist, int* seed, const int* n, double* v); 00766 00767 float PREFIX SLAMCH_F77(Teuchos_fcd); 00768 double PREFIX DLAMCH_F77(Teuchos_fcd); 00769 00770 #if defined(INTEL_CXML) 00771 int PREFIX ILAENV_F77( const int* ispec, const char* name, unsigned int name_length, const char* opts, unsigned int opts_length, const int* N1, const int* N2, const int* N3, const int* N4 ); 00772 #else 00773 int PREFIX ILAENV_F77( const int* ispec, const char* name, const char* opts, const int* N1, const int* N2, const int* N3, const int* N4, unsigned int name_length, unsigned int opts_length ); 00774 #endif 00775 00776 float PREFIX SLAPY2_F77(const float* x, const float* y); 00777 double PREFIX DLAPY2_F77(const double* x, const double* y); 00778 00779 #ifdef HAVE_TEUCHOS_COMPLEX 00780 00781 // Double precision std::complex LAPACK linear solvers 00782 void PREFIX ZGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>* b, const int* ldb, std::complex<double>* work, const int* lwork, int* info); 00783 void PREFIX ZGEQRF_F77(const int* m, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* tau, std::complex<double>* work, const int* lwork, int* info); 00784 void PREFIX ZUNGQR_F77(const int* m, const int* n, const int* k, std::complex<double>* a, const int* lda, const std::complex<double>* tau, std::complex<double>* work, const int* lwork, int* info); 00785 void PREFIX ZGETRF_F77(const int* m, const int* n, std::complex<double>* a, const int* lda, int* ipiv, int* info); 00786 void PREFIX ZGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda,const int* ipiv, std::complex<double>* x , const int* ldx, int* info); 00787 void PREFIX ZGTTRF_F77(const int* n, std::complex<double>* dl, std::complex<double>* d, std::complex<double>* du, std::complex<double>* du2, int* ipiv, int* info); 00788 void PREFIX ZGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* dl, const std::complex<double>* d, const std::complex<double>* du, const std::complex<double>* du2, const int* ipiv, std::complex<double>* x , const int* ldx, int* info); 00789 void PREFIX ZPTTRF_F77(const int* n, std::complex<double>* d, std::complex<double>* e, int* info); 00790 void PREFIX ZPTTRS_F77(const int* n, const int* nrhs, const std::complex<double>* d, const std::complex<double>* e, std::complex<double>* x , const int* ldx, int* info); 00791 void PREFIX ZGETRI_F77(const int* n, std::complex<double>* a, const int* lda, const int* ipiv, std::complex<double>* work , const int* lwork, int* info); 00792 void PREFIX ZGECON_F77(Teuchos_fcd norm, const int* n, const std::complex<double>* a, const int* lda, const double* anorm, double* rcond, std::complex<double>* work, double* rwork, int* info); 00793 void PREFIX ZGESV_F77(const int* n, const int* nrhs, std::complex<double>* a, const int* lda, int* ipiv, std::complex<double>* x , const int* ldx, int* info); 00794 void PREFIX ZGEEQU_F77(const int* m, const int* n, const std::complex<double>* a, const int* lda, double* r, double* c, double* rowcnd, double* colcnd, double* amax, int* info); 00795 void PREFIX ZGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda, const std::complex<double>* af, const int* ldaf, const int* ipiv, const std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* ferr, double* berr, std::complex<double>* work, double* iwork, int* info); 00796 //void PREFIX ZGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>* af, const int* ldaf, int* ipiv, Teuchos_fcd, double* r, double* c, std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* rcond, double* ferr, double* berr, std::complex<double>* work, double* iwork, int* info); 00797 void PREFIX ZPOTRF_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info); 00798 void PREFIX ZPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda, std::complex<double>*x , const int* ldx, int* info); 00799 void PREFIX ZPOTRI_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info); 00800 void PREFIX ZPOCON_F77(Teuchos_fcd, const int* n, const std::complex<double>* a, const int* lda, const double* anorm, double* rcond, std::complex<double>* work, double* rwork, int* info); 00801 void PREFIX ZPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>*x , const int* ldx, int* info); 00802 void PREFIX ZPOEQU_F77(const int* n, const std::complex<double>* a, const int* lda, double* s, double* scond, double* amax, int* info); 00803 void PREFIX ZPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, const std::complex<double>* af, const int* ldaf, const std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* ferr, double* berr, std::complex<double>* work, double* rwork, int* info); 00804 void PREFIX ZPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>* af, const int* ldaf, Teuchos_fcd, double* s, std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* rcond, double* ferr, double* berr, std::complex<double>* work, double* rwork, int* info); 00805 void PREFIX ZTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda, std::complex<double>* b, const int* ldb, int* info); 00806 void PREFIX ZTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const std::complex<double>* a, const int* lda, int* info); 00807 00808 // Single precision std::complex LAPACK linear solvers 00809 00810 void PREFIX CGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>* b, const int* ldb, std::complex<float>* work, const int* lwork, int* info); 00811 void PREFIX CGEQRF_F77(const int* m, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* tau, std::complex<float>* work, const int* lwork, int* info); 00812 void PREFIX CUNGQR_F77(const int* m, const int* n, const int* k, std::complex<float>* a, const int* lda, const std::complex<float>* tau, std::complex<float>* work, const int* lwork, int* info); 00813 void PREFIX CGETRF_F77(const int* m, const int* n, std::complex<float>* a, const int* lda, int* ipiv, int* info); 00814 void PREFIX CGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda,const int* ipiv, std::complex<float>* x , const int* ldx, int* info); 00815 void PREFIX CGTTRF_F77(const int* n, std::complex<float>* dl, std::complex<float>* d, std::complex<float>* du, std::complex<float>* du2, int* ipiv, int* info); 00816 void PREFIX CGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* dl, const std::complex<float>* d, const std::complex<float>* du, const std::complex<float>* du2, const int* ipiv, std::complex<float>* x , const int* ldx, int* info); 00817 void PREFIX CPTTRF_F77(const int* n, std::complex<float>* d, std::complex<float>* e, int* info); 00818 void PREFIX CPTTRS_F77(const int* n, const int* nrhs, const std::complex<float>* d, const std::complex<float>* e, std::complex<float>* x , const int* ldx, int* info); 00819 void PREFIX CGETRI_F77(const int* n, std::complex<float>* a, const int* lda, const int* ipiv, std::complex<float>* work , const int* lwork, int* info); 00820 void PREFIX CGECON_F77(Teuchos_fcd norm, const int* n, const std::complex<float>* a, const int* lda, const float* anorm, float* rcond, std::complex<float>* work, float* rwork, int* info); 00821 void PREFIX CGESV_F77(const int* n, const int* nrhs, std::complex<float>* a, const int* lda, int* ipiv, std::complex<float>* x, const int* ldx, int* info); 00822 void PREFIX CGEEQU_F77(const int* m, const int* n, const std::complex<float>* a, const int* lda, float* r, float* c, float* rowcnd, float* colcnd, float* amax, int* info); 00823 void PREFIX CGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda, const std::complex<float>* af, const int* ldaf, const int* ipiv, const std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info); 00824 void PREFIX CGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>* af, const int* ldaf, int* ipiv, Teuchos_fcd, float* r, float* c, std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* rcond, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info); 00825 void PREFIX CPOTRF_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* info); 00826 void PREFIX CPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda, std::complex<float>*x , const int* ldx, int* info); 00827 void PREFIX CPOTRI_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* info); 00828 void PREFIX CPOCON_F77(Teuchos_fcd, const int* n, const std::complex<float>* a, const int* lda, const float* anorm, float* rcond, std::complex<float>* work, float* rwork, int* info); 00829 void PREFIX CPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>*x , const int* ldx, int* info); 00830 void PREFIX CPOEQU_F77(const int* n, const std::complex<float>* a, const int* lda, float* s, float* scond, float* amax, int* info); 00831 void PREFIX CPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, const std::complex<float>* af, const int* ldaf, const std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info); 00832 void PREFIX CPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>* af, const int* ldaf, Teuchos_fcd, float* s, std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* rcond, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info); 00833 void PREFIX CTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda, std::complex<float>* b, const int* ldb, int* info); 00834 void PREFIX CTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const std::complex<float>* a, const int* lda, int* info); 00835 00836 // Double precision std::complex LAPACK eigen solvers 00837 void PREFIX ZSTEQR_F77(Teuchos_fcd, const int* n, double* D, double* E, std::complex<double>* Z, const int* ldz, std::complex<double>* work, int* info); 00838 void PREFIX ZHEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, double* w, std::complex<double>* work, const int* lwork, double* rwork, int* info); 00839 void PREFIX ZHEGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* B, const int* ldb, double* w, std::complex<double>* work, const int* lwork, double *rwork, int* info); 00840 void PREFIX ZGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* w, std::complex<double>* vl, const int* ldvl, std::complex<double>* vr, const int* ldvr, std::complex<double>* work, const int* lwork, double* rwork, int* info); 00841 void PREFIX ZGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, std::complex<double>* a, const int* lda, double* s, std::complex<double>* u, const int* ldu, std::complex<double>* v, const int* ldv, std::complex<double>* work, const int* lwork, double* rwork, int* info); 00842 //void PREFIX ZGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* b, const int* ldb, std::complex<double>* alpha, std::complex<double>* beta, std::complex<double>* vl, const int* ldvl, std::complex<double>* vr, const int* ldvr, int* ilo, int* ihi, double* lscale, double* rscale, double* abnrm, double* bbnrm, double* rconde, double* rcondv, std::complex<double>* work, const int* lwork, int* iwork, int* bwork, int* info); 00843 void PREFIX ZGEHRD_F77(const int* n, const int* ilo, const int* ihi, std::complex<double>* A, const int* lda, std::complex<double>* tau, std::complex<double>* work, const int* lwork, int* info); 00844 void PREFIX ZHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, std::complex<double>* h, const int* ldh, std::complex<double>* w, std::complex<double>* z, const int* ldz, std::complex<double>* work, const int* lwork, int* info); 00845 void PREFIX ZGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(std::complex<double>*), const int* n, std::complex<double>* a, const int* lda, int* sdim, std::complex<double>* w, std::complex<double>* vs, const int* ldvs, std::complex<double>* work, const int* lwork, double* rwork, int* bwork, int* info); 00846 void PREFIX ZTREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const std::complex<double>* t, const int* ldt, std::complex<double>* vl, const int* ldvl, std::complex<double>* vr, const int* ldvr, const int* mm, int* m, std::complex<double>* work, double* rwork, int* info); 00847 void PREFIX ZTREXC_F77(Teuchos_fcd, const int* n, std::complex<double>* t, const int* ldt, std::complex<double>* q, const int* ldq, int* ifst, int* ilst, int* info); 00848 00849 // Single precision std::complex LAPACK eigen solvers 00850 00851 void PREFIX CSTEQR_F77(Teuchos_fcd, const int* n, std::complex<float>* D, std::complex<float>* E, std::complex<float>* Z, const int* ldz, std::complex<float>* work, int* info); 00852 void PREFIX CHEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, float* w, std::complex<float>* work, const int* lwork, float* rwork, int* info); 00853 void PREFIX CHEGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* B, const int* ldb, float* w, std::complex<float>* work, const int* lwork, float *rwork, int* info); 00854 void PREFIX CGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* wr, std::complex<float>* vl, const int* ldvl, std::complex<float>* vr, const int* ldvr, std::complex<float>* work, const int* lwork, float* rwork, int* info); 00855 void PREFIX CGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, std::complex<float>* a, const int* lda, float* s, std::complex<float>* u, const int* ldu, std::complex<float>* v, const int* ldv, std::complex<float>* work, const int* lwork, float* rwork, int* info); 00856 void PREFIX CGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* b, const int* ldb, std::complex<float>* alpha, std::complex<float>* beta, std::complex<float>* vl, const int* ldvl, std::complex<float>* vr, const int* ldvr, int* ilo, int* ihi, float* lscale, float* rscale, float* abnrm, float* bbnrm, float* rconde, float* rcondv, std::complex<float>* work, const int* lwork, int* iwork, int* bwork, int* info); 00857 void PREFIX CGEHRD_F77(const int* n, const int* ilo, const int* ihi, std::complex<float>* A, const int* lda, std::complex<float>* tau, std::complex<float>* work, const int* lwork, int* info); 00858 void PREFIX CHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, std::complex<float>* h, const int* ldh, std::complex<float>* w, std::complex<float>* z, const int* ldz, std::complex<float>* work, const int* lwork, int* info); 00859 void PREFIX CGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(std::complex<float>*), const int* n, std::complex<float>* a, const int* lda, int* sdim, std::complex<float>* w, std::complex<float>* vs, const int* ldvs, std::complex<float>* work, const int* lwork, float* rwork, int* bwork, int* info); 00860 void PREFIX CTREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const std::complex<float>* t, const int* ldt, std::complex<float>* vl, const int* ldvl, std::complex<float>* vr, const int* ldvr, const int* mm, int* m, std::complex<float>* work, float* rwork, int* info); 00861 void PREFIX CTREXC_F77(Teuchos_fcd, const int* n, std::complex<float>* t, const int* ldt, std::complex<float>* q, const int* ldq, int* ifst, int* ilst, int* info); 00862 00863 void PREFIX CLARTG_F77(const std::complex<float>* f, const std::complex<float>* g, float* c, std::complex<float>* s, std::complex<float>* r); 00864 void PREFIX ZLARTG_F77(const std::complex<double>* f, const std::complex<double>* g, double* c, std::complex<double>* s, std::complex<double>* r); 00865 00866 void PREFIX CLARFG_F77(const int* n, std::complex<float>* alpha, std::complex<float>* x, const int* incx, std::complex<float>* tau); 00867 void PREFIX ZLARFG_F77(const int* n, std::complex<double>* alpha, std::complex<double>* x, const int* incx, std::complex<double>* tau); 00868 00869 std::complex<float> PREFIX CLARND_F77(const int* idist, int* seed); 00870 std::complex<double> PREFIX ZLARND_F77(const int* idist, int* seed); 00871 00872 void PREFIX CLARNV_F77(const int* idist, int* seed, const int* n, std::complex<float>* v); 00873 void PREFIX ZLARNV_F77(const int* idist, int* seed, const int* n, std::complex<double>* v); 00874 00875 #endif /* HAVE_TEUCHOS_COMPLEX */ 00876 00877 #ifdef __cplusplus 00878 } 00879 #endif 00880 00881 #endif // end of TEUCHOS_LAPACK_WRAPPERS_HPP_
1.7.4