PageRenderTime 67ms CodeModel.GetById 32ms RepoModel.GetById 0ms app.codeStats 1ms

/packages/teuchos/src/Teuchos_LAPACK_wrappers.hpp

https://github.com/qsnake/trilinos
C++ Header | 881 lines | 714 code | 75 blank | 92 comment | 2 complexity | 9c249d871cfbf70754a6f79f911d8200 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. // @HEADER
  2. // ***********************************************************************
  3. //
  4. // Teuchos: Common Tools Package
  5. // Copyright (2004) Sandia Corporation
  6. //
  7. // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
  8. // license for use of this work by or on behalf of the U.S. Government.
  9. //
  10. // This library is free software; you can redistribute it and/or modify
  11. // it under the terms of the GNU Lesser General Public License as
  12. // published by the Free Software Foundation; either version 2.1 of the
  13. // License, or (at your option) any later version.
  14. //
  15. // This library is distributed in the hope that it will be useful, but
  16. // WITHOUT ANY WARRANTY; without even the implied warranty of
  17. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  18. // Lesser General Public License for more details.
  19. //
  20. // You should have received a copy of the GNU Lesser General Public
  21. // License along with this library; if not, write to the Free Software
  22. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  23. // USA
  24. // Questions? Contact Michael A. Heroux (maherou@sandia.gov)
  25. //
  26. // ***********************************************************************
  27. // @HEADER
  28. #ifndef _TEUCHOS_LAPACK_WRAPPERS_HPP_
  29. #define _TEUCHOS_LAPACK_WRAPPERS_HPP_
  30. #include "Teuchos_ConfigDefs.hpp"
  31. /*! \file Teuchos_LAPACK_wrappers.hpp
  32. \brief The Templated LAPACK wrappers
  33. */
  34. /* Define fcd (Fortran Teuchos_fcd descriptor) for non-standard situations */
  35. #if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
  36. #if defined(CRAY_T3X)
  37. #include <fortran.h>
  38. #define PREFIX
  39. #define Teuchos_fcd fcd
  40. #define DGEQRF_F77 F77_BLAS_MANGLE(sgeqrf,SGEQRF)
  41. #define DGETRF_F77 F77_BLAS_MANGLE(sgetrf,SGETRF)
  42. #define DGETRS_F77 F77_BLAS_MANGLE(sgetrs,SGETRS)
  43. #define DGTTRF_F77 F77_BLAS_MANGLE(sgttrf,SGTTRF)
  44. #define DGTTRS_F77 F77_BLAS_MANGLE(sgttrs,SGTTRS)
  45. #define DPTTRF_F77 F77_BLAS_MANGLE(spttrf,SPTTRF)
  46. #define DPTTRS_F77 F77_BLAS_MANGLE(spttrs,SPTTRS)
  47. #define DGETRI_F77 F77_BLAS_MANGLE(sgetri,SGETRI)
  48. #define DGERFS_F77 F77_BLAS_MANGLE(sgerfs,SGERFS)
  49. #define DGECON_F77 F77_BLAS_MANGLE(sgecon,SGECON)
  50. #define DGESVX_F77 F77_BLAS_MANGLE(sgesvx,SGESVX)
  51. #define DGESV_F77 F77_BLAS_MANGLE(sgesv,SGESV)
  52. #define DGEEQU_F77 F77_BLAS_MANGLE(sgeequ,SGEEQU)
  53. #define DSYTRD_F77 F77_BLAS_MANGLE(ssytrd,SSYTRD)
  54. #define DPOTRF_F77 F77_BLAS_MANGLE(spotrf,SPOTRF)
  55. #define DPOTRS_F77 F77_BLAS_MANGLE(spotrs,SPOTRS)
  56. #define DPOTRI_F77 F77_BLAS_MANGLE(spotri,SPOTRI)
  57. #define DPOCON_F77 F77_BLAS_MANGLE(spocon,SPOCON)
  58. #define DPOSV_F77 F77_BLAS_MANGLE(sposv,SPOSV)
  59. #define DPOEQU_F77 F77_BLAS_MANGLE(spoequ,SPOEQU)
  60. #define DPORFS_F77 F77_BLAS_MANGLE(sporfs,SPORFS)
  61. #define DPOSVX_F77 F77_BLAS_MANGLE(sposvx,SPOSVX)
  62. #define DLAMCH_F77 F77_BLAS_MANGLE(slamch,SLAMCH)
  63. #define DTRTRI_F77 F77_BLAS_MANGLE(strtri,STRTRI)
  64. #define DTRTRS_F77 F77_BLAS_MANGLE(strtrs,STRTRS)
  65. #define DGELS_F77 F77_BLAS_MANGLE(sgels,SGELS)
  66. #define DGEEV_F77 F77_BLAS_MANGLE(sgeev,SGEEV)
  67. #define DGESVD_F77 F77_BLAS_MANGLE(sgesvd,SGESVD)
  68. #define DGGEVX_F77 F77_BLAS_MANGLE(sggevx,SGGEVX)
  69. #define DGEHRD_F77 F77_BLAS_MANGLE(sgehrd,SGEHRD)
  70. #define DHSEQR_F77 F77_BLAS_MANGLE(shseqr,SHSEQR)
  71. #define DORMQR_F77 F77_BLAS_MANGLE(sormqr,SORMQR)
  72. #define DORGQR_F77 F77_BLAS_MANGLE(sorgqr,SORGQR)
  73. #define DORGHR_F77 F77_BLAS_MANGLE(sorghr,SORGHR)
  74. #define DORMHR_F77 F77_BLAS_MANGLE(sormhr,SORMHR)
  75. #define DTREVC_F77 F77_BLAS_MANGLE(strevc,STREVC)
  76. #define DTREXC_F77 F77_BLAS_MANGLE(strexc,STREXC)
  77. #define DGEES_F77 F77_BLAS_MANGLE(sgees,SGEES)
  78. #define DSPEV_F77 F77_BLAS_MANGLE(sspev,SSPEV)
  79. #define DSYEV_F77 F77_BLAS_MANGLE(ssyev,SSYEV)
  80. #define DSYGV_F77 F77_BLAS_MANGLE(ssygv,SSYGV)
  81. #define DSTEQR_F77 F77_BLAS_MANGLE(ssteqr,SSTEQR)
  82. #define DLAPY2_F77 F77_BLAS_MANGLE(slapy2,SLAPY2)
  83. #define DLARTG_F77 F77_BLAS_MANGLE(slartg,SLARTG)
  84. #define DLARFG_F77 F77_BLAS_MANGLE(slarfg,SLARFG)
  85. #define DLARND_F77 F77_BLAS_MANGLE(slarnd,SLARND)
  86. #define DLARNV_F77 F77_BLAS_MANGLE(slarnv,SLARNV)
  87. #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV)
  88. #ifdef HAVE_LAPACK_GGEV
  89. #define DGGEV_F77 F77_BLAS_MANGLE(sggev,SGGEV)
  90. #endif
  91. #ifdef HAVE_LAPACK_GEGV
  92. #define DGGEV_F77 F77_BLAS_MANGLE(sgegv,SGEGV)
  93. #endif
  94. #ifdef HAVE_TEUCHOS_COMPLEX
  95. #define ZGEQRF_F77 F77_BLAS_MANGLE(cgeqrf,CGEQRF)
  96. #define ZUNGQR_F77 F77_BLAS_MANGLE(cungqr,CUNGQR)
  97. #define ZGETRF_F77 F77_BLAS_MANGLE(cgetrf,CGETRF)
  98. #define ZGETRS_F77 F77_BLAS_MANGLE(cgetrs,CGETRS)
  99. #define ZGTTRF_F77 F77_BLAS_MANGLE(cgttrf,CGTTRF)
  100. #define ZGTTRS_F77 F77_BLAS_MANGLE(cgttrs,CGTTRS)
  101. #define ZPTTRF_F77 F77_BLAS_MANGLE(cpttrf,CPTTRF)
  102. #define ZPTTRS_F77 F77_BLAS_MANGLE(cpttrs,CPTTRS)
  103. #define ZGETRI_F77 F77_BLAS_MANGLE(cgetri,CGETRI)
  104. #define ZGERFS_F77 F77_BLAS_MANGLE(cgerfs,CGERFS)
  105. #define ZGECON_F77 F77_BLAS_MANGLE(cgecon,CGECON)
  106. #define ZGESVX_F77 F77_BLAS_MANGLE(cgesvx,CGESVX)
  107. #define ZGESV_F77 F77_BLAS_MANGLE(cgesv,CGESV)
  108. #define ZGEEQU_F77 F77_BLAS_MANGLE(cgeequ,CGEEQU)
  109. #define ZPOTRF_F77 F77_BLAS_MANGLE(cpotrf,CPOTRF)
  110. #define ZPOTRS_F77 F77_BLAS_MANGLE(cpotrs,CPOTRS)
  111. #define ZPOTRI_F77 F77_BLAS_MANGLE(cpotri,CPOTRI)
  112. #define ZPOCON_F77 F77_BLAS_MANGLE(cpocon,CPOCON)
  113. #define ZPOSV_F77 F77_BLAS_MANGLE(cposv,CPOSV)
  114. #define ZPOEQU_F77 F77_BLAS_MANGLE(cpoequ,CPOEQU)
  115. #define ZPORFS_F77 F77_BLAS_MANGLE(cporfs,CPORFS)
  116. #define ZPOSVX_F77 F77_BLAS_MANGLE(cposvx,CPOSVX)
  117. #define ZTRTRS_F77 F77_BLAS_MANGLE(ctrtrs,CTRTRS)
  118. #define ZTRTRI_F77 F77_BLAS_MANGLE(ctrtri,CTRTRI)
  119. #define ZGELS_F77 F77_BLAS_MANGLE(cgels,CGELS)
  120. #define ZGEEV_F77 F77_BLAS_MANGLE(cgeev,CGEEV)
  121. #define ZGESVD_F77 F77_BLAS_MANGLE(cgesvd,CGESVD)
  122. //#define ZGGEVX_F77 F77_BLAS_MANGLE(cggevx,CGGEVX)
  123. #define ZGEHRD_F77 F77_BLAS_MANGLE(cgehrd,CGEHRD)
  124. #define ZHSEQR_F77 F77_BLAS_MANGLE(chseqr,CHSEQR)
  125. #define ZTREVC_F77 F77_BLAS_MANGLE(ctrevc,CTREVC)
  126. #define ZTREXC_F77 F77_BLAS_MANGLE(ctrexc,CTREXC)
  127. #define ZGEES_F77 F77_BLAS_MANGLE(cgees,CGEES)
  128. #define ZSTEQR_F77 F77_BLAS_MANGLE(csteqr,CSTEQR)
  129. #define ZHEEV_F77 F77_BLAS_MANGLE(cheev,CHEEV)
  130. #define ZHEGV_F77 F77_BLAS_MANGLE(chegv,CHEGV)
  131. #define ZLARTG_F77 F77_BLAS_MANGLE(clartg,cLARTG)
  132. #define ZLARFG_F77 F77_BLAS_MANGLE(clarfg,cLARFG)
  133. #define ZLARND_F77 F77_BLAS_MANGLE(clarnd,CLARND)
  134. #define ZLARNV_F77 F77_BLAS_MANGLE(clarnv,CLARNV)
  135. /*
  136. #ifdef HAVE_LAPACK_GGEV
  137. #define ZGGEV_F77 F77_BLAS_MANGLE(cggev,CGGEV)
  138. #endif
  139. #ifdef HAVE_LAPACK_GEGV
  140. #define ZGGEV_F77 F77_BLAS_MANGLE(cgegv,CGEGV)
  141. #endif
  142. */
  143. #endif /* HAVE_TEUCHOS_COMPLEX */
  144. #elif defined(INTEL_CXML)
  145. #define PREFIX __stdcall
  146. #define Teuchos_fcd const char *, unsigned int
  147. #define DGEQRF_F77 F77_BLAS_MANGLE(dgeqrf,DGEQRF)
  148. #define DGETRF_F77 F77_BLAS_MANGLE(dgetrf,DGETRF)
  149. #define DGETRS_F77 F77_BLAS_MANGLE(dgetrs,DGETRS)
  150. #define DGTTRF_F77 F77_BLAS_MANGLE(dgttrf,DGTTRF)
  151. #define DGTTRS_F77 F77_BLAS_MANGLE(dgttrs,DGTTRS)
  152. #define DPTTRF_F77 F77_BLAS_MANGLE(dpttrf,DPTTRF)
  153. #define DPTTRS_F77 F77_BLAS_MANGLE(dpttrs,DPTTRS)
  154. #define DGETRI_F77 F77_BLAS_MANGLE(dgetri,DGETRI)
  155. #define DGERFS_F77 F77_BLAS_MANGLE(dgerfs,DGERFS)
  156. #define DGECON_F77 F77_BLAS_MANGLE(dgecon,DGECON)
  157. #define DGESVX_F77 F77_BLAS_MANGLE(dgesvx,DGESVX)
  158. #define DGESV_F77 F77_BLAS_MANGLE(dgesv,DGESV)
  159. #define DGEEQU_F77 F77_BLAS_MANGLE(dgeequ,DGEEQU)
  160. #define DSYTRD_F77 F77_BLAS_MANGLE(dsytrd,DSYTRD)
  161. #define DPOTRF_F77 F77_BLAS_MANGLE(dpotrf,DPOTRF)
  162. #define DPOTRS_F77 F77_BLAS_MANGLE(dpotrs,DPOTRS)
  163. #define DPOTRI_F77 F77_BLAS_MANGLE(dpotri,DPOTRI)
  164. #define DPOCON_F77 F77_BLAS_MANGLE(dpocon,DPOCON)
  165. #define DPOSV_F77 F77_BLAS_MANGLE(dposv,DPOSV)
  166. #define DPOEQU_F77 F77_BLAS_MANGLE(dpoequ,DPOEQU)
  167. #define DPORFS_F77 F77_BLAS_MANGLE(dporfs,DPORFS)
  168. #define DPOSVX_F77 F77_BLAS_MANGLE(dposvx,DPOSVX)
  169. #define DTRTRS_F77 F77_BLAS_MANGLE(dtrtrs,DTRTRS)
  170. #define DTRTRI_F77 F77_BLAS_MANGLE(dtrtri,DTRTRI)
  171. #define DLAMCH_F77 F77_BLAS_MANGLE(dlamch,DLAMCH)
  172. #define DGELS_F77 F77_BLAS_MANGLE(dgels,DGELS)
  173. #define DGEEV_F77 F77_BLAS_MANGLE(dgeev,DGEEV)
  174. #define DGESVD_F77 F77_BLAS_MANGLE(dgesvd,DGESVD)
  175. #define DGGEVX_F77 F77_BLAS_MANGLE(dggevx,DGGEVX)
  176. #define DGEHRD_F77 F77_BLAS_MANGLE(dgehrd,DGEHRD)
  177. #define DHSEQR_F77 F77_BLAS_MANGLE(dhseqr,DHSEQR)
  178. #define DORGHR_F77 F77_BLAS_MANGLE(dorghr,DORGHR)
  179. #define DORGQR_F77 F77_BLAS_MANGLE(dorgqr,DORGQR)
  180. #define DORMHR_F77 F77_BLAS_MANGLE(dormhr,DORMHR)
  181. #define DORMQR_F77 F77_BLAS_MANGLE(dormqr,DORMQR)
  182. #define DTREVC_F77 F77_BLAS_MANGLE(dtrevc,DTREVC)
  183. #define DTREXC_F77 F77_BLAS_MANGLE(dtrexc,DTREXC)
  184. #define DGEES_F77 F77_BLAS_MANGLE(dgees,DGEES)
  185. #define DSPEV_F77 F77_BLAS_MANGLE(dspev,DSPEV)
  186. #define DSYEV_F77 F77_BLAS_MANGLE(dsyev,DSYEV)
  187. #define DSYGV_F77 F77_BLAS_MANGLE(dsygv,DSYGV)
  188. #define DSTEQR_F77 F77_BLAS_MANGLE(dsteqr,DSTEQR)
  189. #define DLAPY2_F77 F77_BLAS_MANGLE(dlapy2,DLAPY2)
  190. #define DLARTG_F77 F77_BLAS_MANGLE(dlartg,DLARTG)
  191. #define DLARFG_F77 F77_BLAS_MANGLE(dlarfg,DLARFG)
  192. #define DLARND_F77 F77_BLAS_MANGLE(dlarnd,DLARND)
  193. #define DLARNV_F77 F77_BLAS_MANGLE(dlarnv,DLARNV)
  194. #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV)
  195. #ifdef HAVE_LAPACK_GGEV
  196. #define DGGEV_F77 F77_BLAS_MANGLE(dggev,DGGEV)
  197. #endif
  198. #ifdef HAVE_LAPACK_GEGV
  199. #define DGGEV_F77 F77_BLAS_MANGLE(dgegv,DGEGV)
  200. #endif
  201. #ifdef HAVE_TEUCHOS_COMPLEX
  202. #define ZGEQRF_F77 F77_BLAS_MANGLE(zgeqrf,ZGEQRF)
  203. #define ZUNGQR_F77 F77_BLAS_MANGLE(zungqr,ZUNGQR)
  204. #define ZGETRF_F77 F77_BLAS_MANGLE(zgetrf,ZGETRF)
  205. #define ZGETRS_F77 F77_BLAS_MANGLE(zgetrs,ZGETRS)
  206. #define ZGTTRF_F77 F77_BLAS_MANGLE(zgttrf,ZGTTRF)
  207. #define ZGTTRS_F77 F77_BLAS_MANGLE(zgttrs,ZGTTRS)
  208. #define ZPTTRF_F77 F77_BLAS_MANGLE(zpttrf,ZPTTRF)
  209. #define ZPTTRS_F77 F77_BLAS_MANGLE(zpttrs,ZPTTRS)
  210. #define ZGETRI_F77 F77_BLAS_MANGLE(zgetri,ZGETRI)
  211. #define ZGERFS_F77 F77_BLAS_MANGLE(zgerfs,ZGERFS)
  212. #define ZGECON_F77 F77_BLAS_MANGLE(zgecon,ZGECON)
  213. #define ZGESVX_F77 F77_BLAS_MANGLE(zgesvx,ZGESVX)
  214. #define ZGESV_F77 F77_BLAS_MANGLE(zgesv,ZGESV)
  215. #define ZGEEQU_F77 F77_BLAS_MANGLE(zgeequ,ZGEEQU)
  216. #define ZPOTRF_F77 F77_BLAS_MANGLE(zpotrf,ZPOTRF)
  217. #define ZPOTRS_F77 F77_BLAS_MANGLE(zpotrs,ZPOTRS)
  218. #define ZPOTRI_F77 F77_BLAS_MANGLE(zpotri,ZPOTRI)
  219. #define ZPOCON_F77 F77_BLAS_MANGLE(zpocon,ZPOCON)
  220. #define ZPOSV_F77 F77_BLAS_MANGLE(zposv,ZPOSV)
  221. #define ZPOEQU_F77 F77_BLAS_MANGLE(zpoequ,ZPOEQU)
  222. #define ZPORFS_F77 F77_BLAS_MANGLE(zporfs,ZPORFS)
  223. #define ZPOSVX_F77 F77_BLAS_MANGLE(zposvx,ZPOSVX)
  224. #define ZTRTRS_F77 F77_BLAS_MANGLE(ztrtrs,ZTRTRS)
  225. #define ZTRTRI_F77 F77_BLAS_MANGLE(ztrtri,ZTRTRI)
  226. #define ZGELS_F77 F77_BLAS_MANGLE(zgels,ZGELS)
  227. #define ZGEEV_F77 F77_BLAS_MANGLE(zgeev,ZGEEV)
  228. #define ZGESVD_F77 F77_BLAS_MANGLE(zgesvd,ZGESVD)
  229. //#define ZGGEVX_F77 F77_BLAS_MANGLE(zggevx,ZGGEVX)
  230. #define ZGEHRD_F77 F77_BLAS_MANGLE(zgehrd,ZGEHRD)
  231. #define ZHSEQR_F77 F77_BLAS_MANGLE(zhseqr,ZHSEQR)
  232. #define ZTREVC_F77 F77_BLAS_MANGLE(ztrevc,ZTREVC)
  233. #define ZTREXC_F77 F77_BLAS_MANGLE(ztrexc,ZTREXC)
  234. #define ZGEES_F77 F77_BLAS_MANGLE(zgees,ZGEES)
  235. #define ZSTEQR_F77 F77_BLAS_MANGLE(zsteqr,ZSTEQR)
  236. #define ZHEEV_F77 F77_BLAS_MANGLE(zheev,ZHEEV)
  237. #define ZHEGV_F77 F77_BLAS_MANGLE(zhegv,ZHEGV)
  238. #define ZLARTG_F77 F77_BLAS_MANGLE(zlartg,ZLARTG)
  239. #define ZLARFG_F77 F77_BLAS_MANGLE(zlarfg,ZLARFG)
  240. #define ZLARND_F77 F77_BLAS_MANGLE(zlarnd,ZLARND)
  241. #define ZLARNV_F77 F77_BLAS_MANGLE(zlarnv,ZLARNV)
  242. /*
  243. #ifdef HAVE_LAPACK_GGEV
  244. #define ZGGEV_F77 F77_BLAS_MANGLE(zggev,ZGGEV)
  245. #endif
  246. #ifdef HAVE_LAPACK_GEGV
  247. #define ZGGEV_F77 F77_BLAS_MANGLE(zgegv,ZGEGV)
  248. #endif
  249. */
  250. #endif /* HAVE_TEUCHOS_COMPLEX */
  251. #elif defined(INTEL_MKL)
  252. #define PREFIX
  253. #define Teuchos_fcd const char *
  254. #define DGEQRF_F77 F77_BLAS_MANGLE(dgeqrf,DGEQRF)
  255. #define DGETRF_F77 F77_BLAS_MANGLE(dgetrf,DGETRF)
  256. #define DGETRS_F77 F77_BLAS_MANGLE(dgetrs,DGETRS)
  257. #define DGTTRF_F77 F77_BLAS_MANGLE(dgttrf,DGTTRF)
  258. #define DGTTRS_F77 F77_BLAS_MANGLE(dgttrs,DGTTRS)
  259. #define DPTTRF_F77 F77_BLAS_MANGLE(dpttrf,DPTTRF)
  260. #define DPTTRS_F77 F77_BLAS_MANGLE(dpttrs,DPTTRS)
  261. #define DGETRI_F77 F77_BLAS_MANGLE(dgetri,DGETRI)
  262. #define DGERFS_F77 F77_BLAS_MANGLE(dgerfs,DGERFS)
  263. #define DGECON_F77 F77_BLAS_MANGLE(dgecon,DGECON)
  264. #define DGESVX_F77 F77_BLAS_MANGLE(dgesvx,DGESVX)
  265. #define DGESV_F77 F77_BLAS_MANGLE(dgesv,DGESV)
  266. #define DGEEQU_F77 F77_BLAS_MANGLE(dgeequ,DGEEQU)
  267. #define DSYTRD_F77 F77_BLAS_MANGLE(dsytrd,DSYTRD)
  268. #define DPOTRF_F77 F77_BLAS_MANGLE(dpotrf,DPOTRF)
  269. #define DPOTRS_F77 F77_BLAS_MANGLE(dpotrs,DPOTRS)
  270. #define DPOTRI_F77 F77_BLAS_MANGLE(dpotri,DPOTRI)
  271. #define DPOCON_F77 F77_BLAS_MANGLE(dpocon,DPOCON)
  272. #define DPOSV_F77 F77_BLAS_MANGLE(dposv,DPOSV)
  273. #define DPOEQU_F77 F77_BLAS_MANGLE(dpoequ,DPOEQU)
  274. #define DPORFS_F77 F77_BLAS_MANGLE(dporfs,DPORFS)
  275. #define DPOSVX_F77 F77_BLAS_MANGLE(dposvx,DPOSVX)
  276. #define DTRTRS_F77 F77_BLAS_MANGLE(dtrtrs,DTRTRS)
  277. #define DTRTRI_F77 F77_BLAS_MANGLE(dtrtri,DTRTRI)
  278. #define DLAMCH_F77 F77_BLAS_MANGLE(dlamch,DLAMCH)
  279. #define DGELS_F77 F77_BLAS_MANGLE(dgels,DGELS)
  280. #define DGEEV_F77 F77_BLAS_MANGLE(dgeev,DGEEV)
  281. #define DGESVD_F77 F77_BLAS_MANGLE(dgesvd,DGESVD)
  282. #define DGGEVX_F77 F77_BLAS_MANGLE(dggevx,DGGEVX)
  283. #define DGEHRD_F77 F77_BLAS_MANGLE(dgehrd,DGEHRD)
  284. #define DHSEQR_F77 F77_BLAS_MANGLE(dhseqr,DHSEQR)
  285. #define DORGHR_F77 F77_BLAS_MANGLE(dorghr,DORGHR)
  286. #define DORGQR_F77 F77_BLAS_MANGLE(dorgqr,DORGQR)
  287. #define DORMHR_F77 F77_BLAS_MANGLE(dormhr,DORMHR)
  288. #define DORMQR_F77 F77_BLAS_MANGLE(dormqr,DORMQR)
  289. #define DTREVC_F77 F77_BLAS_MANGLE(dtrevc,DTREVC)
  290. #define DTREXC_F77 F77_BLAS_MANGLE(dtrexc,DTREXC)
  291. #define DGEES_F77 F77_BLAS_MANGLE(dgees,DGEES)
  292. #define DSPEV_F77 F77_BLAS_MANGLE(dspev,DSPEV)
  293. #define DSYEV_F77 F77_BLAS_MANGLE(dsyev,DSYEV)
  294. #define DSYGV_F77 F77_BLAS_MANGLE(dsygv,DSYGV)
  295. #define DSTEQR_F77 F77_BLAS_MANGLE(dsteqr,DSTEQR)
  296. #define DLAPY2_F77 F77_BLAS_MANGLE(dlapy2,DLAPY2)
  297. #define DLARTG_F77 F77_BLAS_MANGLE(dlartg,DLARTG)
  298. #define DLARFG_F77 F77_BLAS_MANGLE(dlarfg,DLARFG)
  299. #define DLARND_F77 F77_BLAS_MANGLE(dlarnd,DLARND)
  300. #define DLARNV_F77 F77_BLAS_MANGLE(dlarnv,DLARNV)
  301. #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV)
  302. #ifdef HAVE_LAPACK_GGEV
  303. #define DGGEV_F77 F77_BLAS_MANGLE(dggev,DGGEV)
  304. #endif
  305. #ifdef HAVE_LAPACK_GEGV
  306. #define DGGEV_F77 F77_BLAS_MANGLE(dgegv,DGEGV)
  307. #endif
  308. #ifdef HAVE_TEUCHOS_COMPLEX
  309. #define ZGEQRF_F77 F77_BLAS_MANGLE(zgeqrf,ZGEQRF)
  310. #define ZUNGQR_F77 F77_BLAS_MANGLE(zungqr,ZUNGQR)
  311. #define ZGTTRF_F77 F77_BLAS_MANGLE(zgttrf,ZGTTRF)
  312. #define ZGTTRS_F77 F77_BLAS_MANGLE(zgttrs,ZGTTRS)
  313. #define ZPTTRF_F77 F77_BLAS_MANGLE(zpttrf,ZPTTRF)
  314. #define ZPTTRS_F77 F77_BLAS_MANGLE(zpttrs,ZPTTRS)
  315. #define ZGETRF_F77 F77_BLAS_MANGLE(zgetrf,ZGETRF)
  316. #define ZGETRS_F77 F77_BLAS_MANGLE(zgetrs,ZGETRS)
  317. #define ZGETRI_F77 F77_BLAS_MANGLE(zgetri,ZGETRI)
  318. #define ZGERFS_F77 F77_BLAS_MANGLE(zgerfs,ZGERFS)
  319. #define ZGECON_F77 F77_BLAS_MANGLE(zgecon,ZGECON)
  320. #define ZGESVX_F77 F77_BLAS_MANGLE(zgesvx,ZGESVX)
  321. #define ZGESV_F77 F77_BLAS_MANGLE(zgesv,ZGESV)
  322. #define ZGEEQU_F77 F77_BLAS_MANGLE(zgeequ,ZGEEQU)
  323. #define ZPOTRF_F77 F77_BLAS_MANGLE(zpotrf,ZPOTRF)
  324. #define ZPOTRS_F77 F77_BLAS_MANGLE(zpotrs,ZPOTRS)
  325. #define ZPOTRI_F77 F77_BLAS_MANGLE(zpotri,ZPOTRI)
  326. #define ZPOCON_F77 F77_BLAS_MANGLE(zpocon,ZPOCON)
  327. #define ZPOSV_F77 F77_BLAS_MANGLE(zposv,ZPOSV)
  328. #define ZPOEQU_F77 F77_BLAS_MANGLE(zpoequ,ZPOEQU)
  329. #define ZPORFS_F77 F77_BLAS_MANGLE(zporfs,ZPORFS)
  330. #define ZPOSVX_F77 F77_BLAS_MANGLE(zposvx,ZPOSVX)
  331. #define ZTRTRS_F77 F77_BLAS_MANGLE(ztrtrs,ZTRTRS)
  332. #define ZTRTRI_F77 F77_BLAS_MANGLE(ztrtri,ZTRTRI)
  333. #define ZGELS_F77 F77_BLAS_MANGLE(zgels,ZGELS)
  334. #define ZGEEV_F77 F77_BLAS_MANGLE(zgeev,ZGEEV)
  335. #define ZGESVD_F77 F77_BLAS_MANGLE(zgesvd,ZGESVD)
  336. //#define ZGGEVX_F77 F77_BLAS_MANGLE(zggevx,ZGGEVX)
  337. #define ZGEHRD_F77 F77_BLAS_MANGLE(zgehrd,ZGEHRD)
  338. #define ZHSEQR_F77 F77_BLAS_MANGLE(zhseqr,ZHSEQR)
  339. #define ZTREVC_F77 F77_BLAS_MANGLE(ztrevc,ZTREVC)
  340. #define ZTREXC_F77 F77_BLAS_MANGLE(ztrexc,ZTREXC)
  341. #define ZGEES_F77 F77_BLAS_MANGLE(zgees,ZGEES)
  342. #define ZSTEQR_F77 F77_BLAS_MANGLE(zsteqr,ZSTEQR)
  343. #define ZHEEV_F77 F77_BLAS_MANGLE(zheev,ZHEEV)
  344. #define ZHEGV_F77 F77_BLAS_MANGLE(zhegv,ZHEGV)
  345. #define ZLARTG_F77 F77_BLAS_MANGLE(zlartg,ZLARTG)
  346. #define ZLARFG_F77 F77_BLAS_MANGLE(zlarfg,ZLARFG)
  347. #define ZLARND_F77 F77_BLAS_MANGLE(zlarnd,ZLARND)
  348. #define ZLARNV_F77 F77_BLAS_MANGLE(zlarnv,ZLARNV)
  349. /*
  350. #ifdef HAVE_LAPACK_GGEV
  351. #define ZGGEV_F77 F77_BLAS_MANGLE(zggev,ZGGEV)
  352. #endif
  353. #ifdef HAVE_LAPACK_GEGV
  354. #define ZGGEV_F77 F77_BLAS_MANGLE(zgegv,ZGEGV)
  355. #endif
  356. */
  357. #endif /* HAVE_TEUCHOS_COMPLEX */
  358. #endif /* defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
  359. /* All three of these machines use a simple uppercase mangling of Fortran names */
  360. /* if F77_BLAS_MANGLE is defined undefine it because we want to redefine */
  361. #ifdef F77_FUNC
  362. #undef F77_FUNC
  363. #endif
  364. #ifdef F77_BLAS_MANGLE
  365. #undef F77_BLAS_MANGLE
  366. #endif
  367. #define F77_FUNC(lcase,UCASE) PREFIX UCASE
  368. #define F77_BLAS_MANGLE(lcase,UCASE) PREFIX UCASE
  369. #else /* Define Teuchos_fcd for all other machines */
  370. #define PREFIX
  371. #define Teuchos_fcd const char *
  372. #ifdef TRILINOS_NO_CONFIG_H
  373. #ifdef F77_FUNC
  374. #undef F77_FUNC
  375. #endif
  376. #ifdef F77_BLAS_MANGLE
  377. #undef F77_BLAS_MANGLE
  378. #endif
  379. #ifdef TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE
  380. #define F77_FUNC(lcase,UCASE) lcase
  381. #define F77_BLAS_MANGLE(lcase,UCASE) lcase
  382. #else /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE not defined*/
  383. #define F77_FUNC(lcase,UCASE) lcase ## _
  384. #define F77_BLAS_MANGLE(lcase,UCASE) lcase ## _
  385. #endif /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE */
  386. #endif /* TRILINOS_NO_CONFIG_H */
  387. #define DGEQRF_F77 F77_BLAS_MANGLE(dgeqrf,DGEQRF)
  388. #define DGETRF_F77 F77_BLAS_MANGLE(dgetrf,DGETRF)
  389. #define DGETRS_F77 F77_BLAS_MANGLE(dgetrs,DGETRS)
  390. #define DGTTRF_F77 F77_BLAS_MANGLE(dgttrf,DGTTRF)
  391. #define DGTTRS_F77 F77_BLAS_MANGLE(dgttrs,DGTTRS)
  392. #define DPTTRF_F77 F77_BLAS_MANGLE(dpttrf,DPTTRF)
  393. #define DPTTRS_F77 F77_BLAS_MANGLE(dpttrs,DPTTRS)
  394. #define DGETRI_F77 F77_BLAS_MANGLE(dgetri,DGETRI)
  395. #define DGERFS_F77 F77_BLAS_MANGLE(dgerfs,DGERFS)
  396. #define DGECON_F77 F77_BLAS_MANGLE(dgecon,DGECON)
  397. #define DGESVX_F77 F77_BLAS_MANGLE(dgesvx,DGESVX)
  398. #define DGESV_F77 F77_BLAS_MANGLE(dgesv,DGESV)
  399. #define DGEEQU_F77 F77_BLAS_MANGLE(dgeequ,DGEEQU)
  400. #define DSYTRD_F77 F77_BLAS_MANGLE(dsytrd,DSYTRD)
  401. #define DPOTRF_F77 F77_BLAS_MANGLE(dpotrf,DPOTRF)
  402. #define DPOTRS_F77 F77_BLAS_MANGLE(dpotrs,DPOTRS)
  403. #define DPOTRI_F77 F77_BLAS_MANGLE(dpotri,DPOTRI)
  404. #define DPOCON_F77 F77_BLAS_MANGLE(dpocon,DPOCON)
  405. #define DPOSV_F77 F77_BLAS_MANGLE(dposv,DPOSV)
  406. #define DPOEQU_F77 F77_BLAS_MANGLE(dpoequ,DPOEQU)
  407. #define DPORFS_F77 F77_BLAS_MANGLE(dporfs,DPORFS)
  408. #define DPOSVX_F77 F77_BLAS_MANGLE(dposvx,DPOSVX)
  409. #define DTRTRS_F77 F77_BLAS_MANGLE(dtrtrs,DTRTRS)
  410. #define DTRTRI_F77 F77_BLAS_MANGLE(dtrtri,DTRTRI)
  411. #define DLAMCH_F77 F77_BLAS_MANGLE(dlamch,DLAMCH)
  412. #define DGELS_F77 F77_BLAS_MANGLE(dgels,DGELS)
  413. #define DGELSS_F77 F77_BLAS_MANGLE(dgelss,DGELSS)
  414. #define DGGLSE_F77 F77_BLAS_MANGLE(dgglse,DGGLSE)
  415. #define DGEEV_F77 F77_BLAS_MANGLE(dgeev,DGEEV)
  416. #define DGESVD_F77 F77_BLAS_MANGLE(dgesvd,DGESVD)
  417. #define DGGEVX_F77 F77_BLAS_MANGLE(dggevx,DGGEVX)
  418. #define DGEHRD_F77 F77_BLAS_MANGLE(dgehrd,DGEHRD)
  419. #define DHSEQR_F77 F77_BLAS_MANGLE(dhseqr,DHSEQR)
  420. #define DORGHR_F77 F77_BLAS_MANGLE(dorghr,DORGHR)
  421. #define DORGQR_F77 F77_BLAS_MANGLE(dorgqr,DORGQR)
  422. #define DORMHR_F77 F77_BLAS_MANGLE(dormhr,DORMHR)
  423. #define DORMQR_F77 F77_BLAS_MANGLE(dormqr,DORMQR)
  424. #define DTREVC_F77 F77_BLAS_MANGLE(dtrevc,DTREVC)
  425. #define DTREXC_F77 F77_BLAS_MANGLE(dtrexc,DTREXC)
  426. #define DGEES_F77 F77_BLAS_MANGLE(dgees,DGEES)
  427. #define DSPEV_F77 F77_BLAS_MANGLE(dspev,DSPEV)
  428. #define DSYEV_F77 F77_BLAS_MANGLE(dsyev,DSYEV)
  429. #define DSYGV_F77 F77_BLAS_MANGLE(dsygv,DSYGV)
  430. #define DSTEQR_F77 F77_BLAS_MANGLE(dsteqr,DSTEQR)
  431. #define DLAPY2_F77 F77_BLAS_MANGLE(dlapy2,DLAPY2)
  432. #define DLARND_F77 F77_BLAS_MANGLE(dlarnd,DLARND)
  433. #define DLARNV_F77 F77_BLAS_MANGLE(dlarnv,DLARNV)
  434. #define DLARTG_F77 F77_BLAS_MANGLE(dlartg,DLARTG)
  435. #define DLARFG_F77 F77_BLAS_MANGLE(dlarfg,DLARFG)
  436. #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV)
  437. #ifdef HAVE_LAPACK_GGEV
  438. #define DGGEV_F77 F77_BLAS_MANGLE(dggev,DGGEV)
  439. #endif
  440. #ifdef HAVE_LAPACK_GEGV
  441. #define DGGEV_F77 F77_BLAS_MANGLE(dgegv,DGEGV)
  442. #endif
  443. #ifdef HAVE_TEUCHOS_COMPLEX
  444. #define ZGEQRF_F77 F77_BLAS_MANGLE(zgeqrf,ZGEQRF)
  445. #define ZUNGQR_F77 F77_BLAS_MANGLE(zungqr,ZUNGQR)
  446. #define ZGETRF_F77 F77_BLAS_MANGLE(zgetrf,ZGETRF)
  447. #define ZGETRS_F77 F77_BLAS_MANGLE(zgetrs,ZGETRS)
  448. #define ZGTTRF_F77 F77_BLAS_MANGLE(zgttrf,ZGTTRF)
  449. #define ZGTTRS_F77 F77_BLAS_MANGLE(zgttrs,ZGTTRS)
  450. #define ZPTTRF_F77 F77_BLAS_MANGLE(zpttrf,ZPTTRF)
  451. #define ZPTTRS_F77 F77_BLAS_MANGLE(zpttrs,ZPTTRS)
  452. #define ZGETRI_F77 F77_BLAS_MANGLE(zgetri,ZGETRI)
  453. #define ZGERFS_F77 F77_BLAS_MANGLE(zgerfs,ZGERFS)
  454. #define ZGECON_F77 F77_BLAS_MANGLE(zgecon,ZGECON)
  455. #define ZGESVX_F77 F77_BLAS_MANGLE(zgesvx,ZGESVX)
  456. #define ZGESV_F77 F77_BLAS_MANGLE(zgesv,ZGESV)
  457. #define ZGEEQU_F77 F77_BLAS_MANGLE(zgeequ,ZGEEQU)
  458. #define ZPOTRF_F77 F77_BLAS_MANGLE(zpotrf,ZPOTRF)
  459. #define ZPOTRS_F77 F77_BLAS_MANGLE(zpotrs,ZPOTRS)
  460. #define ZPOTRI_F77 F77_BLAS_MANGLE(zpotri,ZPOTRI)
  461. #define ZPOCON_F77 F77_BLAS_MANGLE(zpocon,ZPOCON)
  462. #define ZPOSV_F77 F77_BLAS_MANGLE(zposv,ZPOSV)
  463. #define ZPOEQU_F77 F77_BLAS_MANGLE(zpoequ,ZPOEQU)
  464. #define ZPORFS_F77 F77_BLAS_MANGLE(zporfs,ZPORFS)
  465. #define ZPOSVX_F77 F77_BLAS_MANGLE(zposvx,ZPOSVX)
  466. #define ZTRTRS_F77 F77_BLAS_MANGLE(ztrtrs,ZTRTRS)
  467. #define ZTRTRI_F77 F77_BLAS_MANGLE(ztrtri,ZTRTRI)
  468. #define ZGELS_F77 F77_BLAS_MANGLE(zgels,ZGELS)
  469. //#define ZGELSS_F77 F77_BLAS_MANGLE(zgelss,ZGELSS)
  470. //#define ZGGLSE_F77 F77_BLAS_MANGLE(zgglse,ZGGLSE)
  471. #define ZGEEV_F77 F77_BLAS_MANGLE(zgeev,ZGEEV)
  472. #define ZGESVD_F77 F77_BLAS_MANGLE(zgesvd,ZGESVD)
  473. //#define ZGGEVX_F77 F77_BLAS_MANGLE(zggevx,ZGGEVX)
  474. #define ZGEHRD_F77 F77_BLAS_MANGLE(zgehrd,ZGEHRD)
  475. #define ZHSEQR_F77 F77_BLAS_MANGLE(zhseqr,ZHSEQR)
  476. #define ZTREVC_F77 F77_BLAS_MANGLE(ztrevc,ZTREVC)
  477. #define ZTREXC_F77 F77_BLAS_MANGLE(ztrexc,ZTREXC)
  478. #define ZGEES_F77 F77_BLAS_MANGLE(zgees,ZGEES)
  479. #define ZSTEQR_F77 F77_BLAS_MANGLE(zsteqr,ZSTEQR)
  480. #define ZHEEV_F77 F77_BLAS_MANGLE(zheev,ZHEEV)
  481. #define ZHEGV_F77 F77_BLAS_MANGLE(zhegv,ZHEGV)
  482. #define ZLARTG_F77 F77_BLAS_MANGLE(zlartg,ZLARTG)
  483. #define ZLARFG_F77 F77_BLAS_MANGLE(zlarfg,ZLARFG)
  484. #define ZLARND_F77 F77_BLAS_MANGLE(zlarnd,ZLARND)
  485. #define ZLARNV_F77 F77_BLAS_MANGLE(zlarnv,ZLARNV)
  486. /*
  487. #ifdef HAVE_LAPACK_GGEV
  488. #define ZGGEV_F77 F77_BLAS_MANGLE(zggev,ZGGEV)
  489. #endif
  490. #ifdef HAVE_LAPACK_GEGV
  491. #define ZGGEV_F77 F77_BLAS_MANGLE(zgegv,ZGEGV)
  492. #endif
  493. */
  494. #endif /* HAVE_TEUCHOS_COMPLEX */
  495. #endif
  496. #define SGEQRF_F77 F77_BLAS_MANGLE(sgeqrf,SGEQRF)
  497. #define SGETRF_F77 F77_BLAS_MANGLE(sgetrf,SGETRF)
  498. #define SGETRS_F77 F77_BLAS_MANGLE(sgetrs,SGETRS)
  499. #define SGTTRF_F77 F77_BLAS_MANGLE(sgttrf,SGTTRF)
  500. #define SGTTRS_F77 F77_BLAS_MANGLE(sgttrs,SGTTRS)
  501. #define SPTTRF_F77 F77_BLAS_MANGLE(spttrf,SPTTRF)
  502. #define SPTTRS_F77 F77_BLAS_MANGLE(spttrs,SPTTRS)
  503. #define SGETRI_F77 F77_BLAS_MANGLE(sgetri,SGETRI)
  504. #define SGERFS_F77 F77_BLAS_MANGLE(sgerfs,SGERFS)
  505. #define SGECON_F77 F77_BLAS_MANGLE(sgecon,SGECON)
  506. #define SGESVX_F77 F77_BLAS_MANGLE(sgesvx,SGESVX)
  507. #define SGESV_F77 F77_BLAS_MANGLE(sgesv,SGESV)
  508. #define SGEEQU_F77 F77_BLAS_MANGLE(sgeequ,SGEEQU)
  509. #define SSYTRD_F77 F77_BLAS_MANGLE(ssytrd,SSYTRD)
  510. #define SPOTRF_F77 F77_BLAS_MANGLE(spotrf,SPOTRF)
  511. #define SPOTRS_F77 F77_BLAS_MANGLE(spotrs,SPOTRS)
  512. #define SPOTRI_F77 F77_BLAS_MANGLE(spotri,SPOTRI)
  513. #define SPOCON_F77 F77_BLAS_MANGLE(spocon,SPOCON)
  514. #define SPOSV_F77 F77_BLAS_MANGLE(sposv,SPOSV)
  515. #define SPOEQU_F77 F77_BLAS_MANGLE(spoequ,SPOEQU)
  516. #define SPORFS_F77 F77_BLAS_MANGLE(sporfs,SPORFS)
  517. #define SPOSVX_F77 F77_BLAS_MANGLE(sposvx,SPOSVX)
  518. #define STRTRS_F77 F77_BLAS_MANGLE(strtrs,STRTRS)
  519. #define STRTRI_F77 F77_BLAS_MANGLE(strtri,STRTRI)
  520. #define SGELS_F77 F77_BLAS_MANGLE(sgels,SGELS)
  521. #define SGELSS_F77 F77_BLAS_MANGLE(sgelss,SGELSS)
  522. #define SGGLSE_F77 F77_BLAS_MANGLE(sgglse,SGGLSE)
  523. #define SGEEV_F77 F77_BLAS_MANGLE(sgeev,SGEEV)
  524. #define SGESVD_F77 F77_BLAS_MANGLE(sgesvd,SGESVD)
  525. #define SGGEVX_F77 F77_BLAS_MANGLE(sggevx,SGGEVX)
  526. #define SGEHRD_F77 F77_BLAS_MANGLE(sgehrd,SGEHRD)
  527. #define SHSEQR_F77 F77_BLAS_MANGLE(shseqr,SHSEQR)
  528. #define SORGHR_F77 F77_BLAS_MANGLE(sorghr,SORGHR)
  529. #define SORGQR_F77 F77_BLAS_MANGLE(sorgqr,SORGQR)
  530. #define SORMHR_F77 F77_BLAS_MANGLE(sormhr,SORMHR)
  531. #define SORMQR_F77 F77_BLAS_MANGLE(sormqr,SORMQR)
  532. #define STREVC_F77 F77_BLAS_MANGLE(strevc,STREVC)
  533. #define STREXC_F77 F77_BLAS_MANGLE(strexc,STREXC)
  534. #define SLAMCH_F77 F77_BLAS_MANGLE(slamch,SLAMCH)
  535. #define SGEES_F77 F77_BLAS_MANGLE(sgees,SGEES)
  536. #define SSPEV_F77 F77_BLAS_MANGLE(sspev,SSPEV)
  537. #define SSYEV_F77 F77_BLAS_MANGLE(ssyev,SSYEV)
  538. #define SSYGV_F77 F77_BLAS_MANGLE(ssygv,SSYGV)
  539. #define SSTEQR_F77 F77_BLAS_MANGLE(ssteqr,SSTEQR)
  540. #define SLAPY2_F77 F77_BLAS_MANGLE(slapy2,SLAPY2)
  541. #define SLARTG_F77 F77_BLAS_MANGLE(slartg,SLARTG)
  542. #define SLARFG_F77 F77_BLAS_MANGLE(slarfg,SLARFG)
  543. #define SLARND_F77 F77_BLAS_MANGLE(slarnd,SLARND)
  544. #define SLARNV_F77 F77_BLAS_MANGLE(slarnv,SLARNV)
  545. #ifdef HAVE_LAPACK_GGEV
  546. #define SGGEV_F77 F77_BLAS_MANGLE(sggev,SGGEV)
  547. #endif
  548. #ifdef HAVE_LAPACK_GEGV
  549. #define SGGEV_F77 F77_BLAS_MANGLE(sgegv,SGEGV)
  550. #endif
  551. #ifdef HAVE_TEUCHOS_COMPLEX
  552. #define CGEQRF_F77 F77_BLAS_MANGLE(cgeqrf,CGEQRF)
  553. #define CUNGQR_F77 F77_BLAS_MANGLE(cungqr,CUNGQR)
  554. #define CGETRF_F77 F77_BLAS_MANGLE(cgetrf,CGETRF)
  555. #define CGETRS_F77 F77_BLAS_MANGLE(cgetrs,CGETRS)
  556. #define CGTTRF_F77 F77_BLAS_MANGLE(cgttrf,CGTTRF)
  557. #define CGTTRS_F77 F77_BLAS_MANGLE(cgttrs,CGTTRS)
  558. #define CPTTRF_F77 F77_BLAS_MANGLE(cpttrf,CPTTRF)
  559. #define CPTTRS_F77 F77_BLAS_MANGLE(cpttrs,CPTTRS)
  560. #define CGETRI_F77 F77_BLAS_MANGLE(cgetri,CGETRI)
  561. #define CGERFS_F77 F77_BLAS_MANGLE(cgerfs,CGERFS)
  562. #define CGECON_F77 F77_BLAS_MANGLE(cgecon,CGECON)
  563. #define CGESVX_F77 F77_BLAS_MANGLE(cgesvx,CGESVX)
  564. #define CGESV_F77 F77_BLAS_MANGLE(cgesv,CGESV)
  565. #define CGEEQU_F77 F77_BLAS_MANGLE(cgeequ,CGEEQU)
  566. #define CPOTRF_F77 F77_BLAS_MANGLE(cpotrf,CPOTRF)
  567. #define CPOTRS_F77 F77_BLAS_MANGLE(cpotrs,CPOTRS)
  568. #define CPOTRI_F77 F77_BLAS_MANGLE(cpotri,CPOTRI)
  569. #define CPOCON_F77 F77_BLAS_MANGLE(cpocon,CPOCON)
  570. #define CPOSV_F77 F77_BLAS_MANGLE(cposv,CPOSV)
  571. #define CPOEQU_F77 F77_BLAS_MANGLE(cpoequ,CPOEQU)
  572. #define CPORFS_F77 F77_BLAS_MANGLE(cporfs,CPORFS)
  573. #define CPOSVX_F77 F77_BLAS_MANGLE(cposvx,CPOSVX)
  574. #define CTRTRS_F77 F77_BLAS_MANGLE(ctrtrs,CTRTRS)
  575. #define CTRTRI_F77 F77_BLAS_MANGLE(ctrtri,CTRTRI)
  576. #define CGELS_F77 F77_BLAS_MANGLE(cgels,CGELS)
  577. //#define CGELSS_F77 F77_BLAS_MANGLE(cgelss,CGELSS)
  578. //#define CGGLSE_F77 F77_BLAS_MANGLE(cgglse,CGGLSE)
  579. #define CGEEV_F77 F77_BLAS_MANGLE(cgeev,CGEEV)
  580. #define CGESVD_F77 F77_BLAS_MANGLE(cgesvd,CGESVD)
  581. //#define CGGEVX_F77 F77_BLAS_MANGLE(cggevx,CGGEVX)
  582. #define CGEHRD_F77 F77_BLAS_MANGLE(cgehrd,CGEHRD)
  583. #define CHSEQR_F77 F77_BLAS_MANGLE(chseqr,CHSEQR)
  584. #define CTREVC_F77 F77_BLAS_MANGLE(ctrevc,CTREVC)
  585. #define CTREXC_F77 F77_BLAS_MANGLE(ctrexc,CTREXC)
  586. #define CGEES_F77 F77_BLAS_MANGLE(cgees,CGEES)
  587. #define CSTEQR_F77 F77_BLAS_MANGLE(csteqr,CSTEQR)
  588. #define CHEEV_F77 F77_BLAS_MANGLE(cheev,CHEEV)
  589. #define CHEGV_F77 F77_BLAS_MANGLE(chegv,CHEGV)
  590. #define CLARTG_F77 F77_BLAS_MANGLE(clartg,CLARTG)
  591. #define CLARFG_F77 F77_BLAS_MANGLE(clarfg,CLARFG)
  592. #define CLARND_F77 F77_BLAS_MANGLE(clarnd,CLARND)
  593. #define CLARNV_F77 F77_BLAS_MANGLE(clarnv,CLARNV)
  594. /*
  595. #ifdef HAVE_LAPACK_GGEV
  596. #define CGGEV_F77 F77_BLAS_MANGLE(cggev,CGGEV)
  597. #endif
  598. #ifdef HAVE_LAPACK_GEGV
  599. #define CGGEV_F77 F77_BLAS_MANGLE(cgegv,CGEGV)
  600. #endif
  601. */
  602. #endif /* HAVE_TEUCHOS_COMPLEX */
  603. #ifdef __cplusplus
  604. extern "C" {
  605. #endif
  606. // Double precision LAPACK linear solvers
  607. 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);
  608. 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);
  609. 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);
  610. void PREFIX DGEQRF_F77(const int* m, const int* n, double* a, const int* lda, double* tau, double* work, const int* lwork, int* info);
  611. void PREFIX DGETRF_F77(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info);
  612. 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);
  613. void PREFIX DGTTRF_F77(const int* n, double* dl, double* d, double* du, double* du2, int* ipiv, int* info);
  614. 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);
  615. void PREFIX DPTTRF_F77(const int* n, double* d, double* e, int* info);
  616. void PREFIX DPTTRS_F77(const int* n, const int* nrhs, const double* d, const double* e, double* x , const int* ldx, int* info);
  617. void PREFIX DGETRI_F77(const int* n, double* a, const int* lda, const int* ipiv, double* work , const int* lwork, int* info);
  618. 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);
  619. void PREFIX DGESV_F77(const int* n, const int* nrhs, double* a, const int* lda, int* ipiv, double* x , const int* ldx, int* info);
  620. 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);
  621. 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);
  622. 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,
  623. double* c, double* b, const int* ldb, double* x, const int* ldx, double* rcond, double* ferr, double* berr, double* work, int* iwork, int* info);
  624. 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);
  625. void PREFIX DPOTRF_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info);
  626. 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);
  627. void PREFIX DPOTRI_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info);
  628. 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);
  629. void PREFIX DPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double*x , const int* ldx, int* info);
  630. void PREFIX DPOEQU_F77(const int* n, const double* a, const int* lda, double* s, double* scond, double* amax, int* info);
  631. 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);
  632. 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);
  633. 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);
  634. void PREFIX DTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const double* a, const int* lda, int* info);
  635. // Single precision LAPACK linear solvers
  636. 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);
  637. 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);
  638. 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);
  639. void PREFIX SGEQRF_F77(const int* m, const int* n, float* a, const int* lda, float* tau, float* work, const int* lwork, int* info);
  640. void PREFIX SGETRF_F77(const int* m, const int* n, float* a, const int* lda, int* ipiv, int* info);
  641. 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);
  642. void PREFIX SGTTRF_F77(const int* n, float* dl, float* d, float* du, float* du2, int* ipiv, int* info);
  643. 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);
  644. void PREFIX SPTTRF_F77(const int* n, float* d, float* e, int* info);
  645. void PREFIX SPTTRS_F77(const int* n, const int* nrhs, const float* d, const float* e, float* x , const int* ldx, int* info);
  646. void PREFIX SGETRI_F77(const int* n, float* a, const int* lda, const int* ipiv, float* work , const int* lwork, int* info);
  647. 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);
  648. void PREFIX SGESV_F77(const int* n, const int* nrhs, float* a, const int* lda, int* ipiv, float* x , const int* ldx, int* info);
  649. 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);
  650. 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);
  651. 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,
  652. float* c, float* b, const int* ldb, float* x, const int* ldx, float* rcond, float* ferr, float* berr, float* work, int* iwork, int* info);
  653. 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);
  654. void PREFIX SPOTRF_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info);
  655. 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);
  656. void PREFIX SPOTRI_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info);
  657. 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);
  658. void PREFIX SPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float*x , const int* ldx, int* info);
  659. void PREFIX SPOEQU_F77(const int* n, const float* a, const int* lda, float* s, float* scond, float* amax, int* info);
  660. 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);
  661. 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);
  662. 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);
  663. void PREFIX STRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const float* a, const int* lda, int* info);
  664. // Double precision LAPACK eigen solvers
  665. void PREFIX DSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* ap, double* w, double* z, const int* ldz, double* work, int* info);
  666. 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);
  667. 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);
  668. void PREFIX DSTEQR_F77(Teuchos_fcd, const int* n, double* D, double* E, double* Z, const int* ldz, double* work, int* info);
  669. 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);
  670. 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);
  671. 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);
  672. 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);
  673. 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);
  674. 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);
  675. 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);
  676. 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);
  677. 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);
  678. 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);
  679. 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);
  680. 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);
  681. 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);
  682. // Single precision LAPACK eigen solvers
  683. void PREFIX SSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* ap, float* w, float* z, const int* ldz, float* work, int* info);
  684. 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);
  685. 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);
  686. void PREFIX SSTEQR_F77(Teuchos_fcd, const int* n, float* D, float* E, float* Z, const int* ldz, float* work, int* info);
  687. 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);
  688. 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);
  689. 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);
  690. 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);
  691. 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);
  692. 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);
  693. 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);
  694. 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);
  695. 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);
  696. 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);
  697. 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);
  698. 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);
  699. 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);
  700. void PREFIX SLARTG_F77(const float* f, const float* g, float* c, float* s, float* r);
  701. void PREFIX DLARTG_F77(const double* f, const double* g, double* c, double* s, double* r);
  702. void PREFIX SLARFG_F77(const int* n, float* alpha, float* x, const int* incx, float* tau);
  703. void PREFIX DLARFG_F77(const int* n, double* alpha, double* x, const int* incx, double* tau);
  704. float PREFIX SLARND_F77(const int* idist, int* seed);
  705. double PREFIX DLARND_F77(const int* idist, int* seed);
  706. void PREFIX SLARNV_F77(const int* idist, int* seed, const int* n, float* v);
  707. void PREFIX DLARNV_F77(const int* idist, int* seed, const int* n, double* v);
  708. float PREFIX SLAMCH_F77(Teuchos_fcd);
  709. double PREFIX DLAMCH_F77(Teuchos_fcd);
  710. #if defined(INTEL_CXML)
  711. 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 );
  712. #else
  713. 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 );
  714. #endif
  715. float PREFIX SLAPY2_F77(const float* x, const float* y);
  716. double PREFIX DLAPY2_F77(const double* x, const double* y);
  717. #ifdef HAVE_TEUCHOS_COMPLEX
  718. // Double precision std::complex LAPACK linear solvers
  719. 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);
  720. 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);
  721. 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);
  722. void PREFIX ZGETRF_F77(const int* m, const int* n, std::complex<double>* a, const int* lda, int* ipiv, int* info);
  723. 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);
  724. 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);
  725. 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);
  726. void PREFIX ZPTTRF_F77(const int* n, std::complex<double>* d, std::complex<double>* e, int* info);
  727. 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);
  728. 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);
  729. 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);
  730. 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);
  731. 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);
  732. 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);
  733. //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);
  734. void PREFIX ZPOTRF_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info);
  735. 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);
  736. void PREFIX ZPOTRI_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info);
  737. 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);
  738. 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);
  739. void PREFIX ZPOEQU_F77(const int* n, const std::complex<double>* a, const int* lda, double* s, double* scond, double* amax, int* info);
  740. 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);
  741. 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);
  742. 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);
  743. void PREFIX ZTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const std::complex<double>* a, const int* lda, int* info);
  744. // Single precision std::complex LAPACK linear solvers
  745. 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);
  746. 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);
  747. 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);
  748. void PREFIX CGETR

Large files files are truncated, but you can click here to view the full file