├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── changelog.org ├── lapack.c2nim ├── lapack.h ├── lapacke.h ├── nimlapack.html ├── nimlapack.nim ├── nimlapack.nimble └── tests └── test.nim /.gitattributes: -------------------------------------------------------------------------------- 1 | nimlapack.html linguist-generated=true 2 | *.h linguist-vendored -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | nimcache 2 | tests/test -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NimLAPACK 2 | 3 | Nim bindings for the [LAPACK](http://www.netlib.org/lapack/) libraries. 4 | 5 | These are low-level bindings generated via c2nim. See `nimlapack.html` for 6 | the API documentation. 7 | 8 | For a higher-level linear algebra library based on this, check out 9 | [neo](http://andreaferretti.github.io/neo/). 10 | 11 | ## Linking LAPACK implementations 12 | 13 | The library requires to link some LAPACK implementation to perform the actual 14 | linear algebra operations. By default, it tries to link whatever is the default 15 | system-wide LAPACK implementation. 16 | 17 | You can link against a different LAPACK implementation by a combination of: 18 | 19 | * changing the path for linked libraries (use 20 | [`--clibdir`](https://nim-lang.org/docs/nimc.html#compiler-usage-command-line-switches) 21 | for this). 22 | * using the `--define:lapack` flag. By default (i.e. if you don't set this flag), the system 23 | tries to load a LAPACK library by looking for the most common LAPACK library file names according 24 | to the underling operating system (e.g. `lapack.dll`, `openblas.dll`, `libopenblas.dll`, 25 | `mkl_intel_lp64.dll` in Windows or `liblapack.so` on Linux, etc). 26 | However, if you want to link to one specific library, such as, say, the library `libopenblas.so.3` 27 | on Linux you should pass to Nim the option `--define:lapack=openblas`. Note the missing `lib` prefix 28 | and `.so` suffix, which nimlapack adds automatically (similarly on windows you should not include 29 | the `.dll` extension when setting this flag). 30 | 31 | See the tasks inside [nimblas.nimble](https://github.com/andreaferretti/nimlapack/blob/master/nimlapack.nimble) 32 | for a few examples. 33 | 34 | Packages for various LAPACK implementations are available from the package 35 | managers of many Linux distributions. On OSX one can add the brew formulas 36 | from [Homebrew Science](https://github.com/Homebrew/homebrew-science), such 37 | as `brew install homebrew/science/openblas`. On Windows you can download pre-built 38 | binaries from the [OpenBLAS github repository](https://github.com/OpenMathLib/OpenBLAS/releases) 39 | and add the library folder to your PATH or copy it into your executable folder. 40 | 41 | You may also need to add suitable paths for the includes and library dirs. 42 | On OSX, this should do the trick 43 | 44 | ```nim 45 | switch("clibdir", "/usr/local/opt/openblas/lib") 46 | switch("cincludes", "/usr/local/opt/openblas/include") 47 | ``` 48 | -------------------------------------------------------------------------------- /changelog.org: -------------------------------------------------------------------------------- 1 | * v0.3.1 2 | - improve message about LAPACK library choice (#6) 3 | * v0.3.0 4 | - smarter library detection (PR #5) 5 | * v0.2.2 6 | - export the complex type definitions ~complex_lapack_float|double~ 7 | -------------------------------------------------------------------------------- /lapack.c2nim: -------------------------------------------------------------------------------- 1 | #ifdef C2NIM 2 | #mangle _LAPACKE_H_ LAPACKE_H 3 | 4 | #prefix LAPACK_ 5 | #prefix LAPACKE_ 6 | #suffix _ 7 | 8 | #assumendef HAVE_LAPACK_CONFIG_H 9 | #assumedef LAPACK_COMPLEX_CUSTOM 10 | #assumedef LAPACKE_malloc 11 | #assumedef LAPACKE_free 12 | 13 | #dynlib libName 14 | #private libName 15 | #cdecl 16 | 17 | #def lapack_int int 18 | #def lapack_logical int 19 | #def LAPACK_GLOBAL(a, b) a##_ 20 | 21 | #skipinclude 22 | 23 | #@ 24 | when defined(windows): 25 | const 26 | libSuffix = ".dll" 27 | libPrefix = "" 28 | elif defined(macosx): 29 | const 30 | libSuffix = ".dylib" 31 | libPrefix = "lib" 32 | else: 33 | const 34 | libSuffix = ".so(||.3|.2|.1|.0)" 35 | libPrefix = "lib" 36 | 37 | const 38 | lapack {.strdefine.} = "lapack" 39 | libName = libPrefix & lapack & libSuffix 40 | 41 | {.hint: "Using LAPACK library with name: " & libName .} 42 | 43 | type 44 | lapack_complex_float = object 45 | re, im: cfloat 46 | lapack_complex_double = object 47 | re, im: cdouble 48 | @# 49 | 50 | #def LAPACK_sgetrf LAPACK_GLOBAL(sgetrf,SGETRF) 51 | #def LAPACK_dgetrf LAPACK_GLOBAL(dgetrf,DGETRF) 52 | #def LAPACK_cgetrf LAPACK_GLOBAL(cgetrf,CGETRF) 53 | #def LAPACK_zgetrf LAPACK_GLOBAL(zgetrf,ZGETRF) 54 | #def LAPACK_sgbtrf LAPACK_GLOBAL(sgbtrf,SGBTRF) 55 | #def LAPACK_dgbtrf LAPACK_GLOBAL(dgbtrf,DGBTRF) 56 | #def LAPACK_cgbtrf LAPACK_GLOBAL(cgbtrf,CGBTRF) 57 | #def LAPACK_zgbtrf LAPACK_GLOBAL(zgbtrf,ZGBTRF) 58 | #def LAPACK_sgttrf LAPACK_GLOBAL(sgttrf,SGTTRF) 59 | #def LAPACK_dgttrf LAPACK_GLOBAL(dgttrf,DGTTRF) 60 | #def LAPACK_cgttrf LAPACK_GLOBAL(cgttrf,CGTTRF) 61 | #def LAPACK_zgttrf LAPACK_GLOBAL(zgttrf,ZGTTRF) 62 | #def LAPACK_spotrf LAPACK_GLOBAL(spotrf,SPOTRF) 63 | #def LAPACK_dpotrf LAPACK_GLOBAL(dpotrf,DPOTRF) 64 | #def LAPACK_cpotrf LAPACK_GLOBAL(cpotrf,CPOTRF) 65 | #def LAPACK_zpotrf LAPACK_GLOBAL(zpotrf,ZPOTRF) 66 | #def LAPACK_dpstrf LAPACK_GLOBAL(dpstrf,DPSTRF) 67 | #def LAPACK_spstrf LAPACK_GLOBAL(spstrf,SPSTRF) 68 | #def LAPACK_zpstrf LAPACK_GLOBAL(zpstrf,ZPSTRF) 69 | #def LAPACK_cpstrf LAPACK_GLOBAL(cpstrf,CPSTRF) 70 | #def LAPACK_dpftrf LAPACK_GLOBAL(dpftrf,DPFTRF) 71 | #def LAPACK_spftrf LAPACK_GLOBAL(spftrf,SPFTRF) 72 | #def LAPACK_zpftrf LAPACK_GLOBAL(zpftrf,ZPFTRF) 73 | #def LAPACK_cpftrf LAPACK_GLOBAL(cpftrf,CPFTRF) 74 | #def LAPACK_spptrf LAPACK_GLOBAL(spptrf,SPPTRF) 75 | #def LAPACK_dpptrf LAPACK_GLOBAL(dpptrf,DPPTRF) 76 | #def LAPACK_cpptrf LAPACK_GLOBAL(cpptrf,CPPTRF) 77 | #def LAPACK_zpptrf LAPACK_GLOBAL(zpptrf,ZPPTRF) 78 | #def LAPACK_spbtrf LAPACK_GLOBAL(spbtrf,SPBTRF) 79 | #def LAPACK_dpbtrf LAPACK_GLOBAL(dpbtrf,DPBTRF) 80 | #def LAPACK_cpbtrf LAPACK_GLOBAL(cpbtrf,CPBTRF) 81 | #def LAPACK_zpbtrf LAPACK_GLOBAL(zpbtrf,ZPBTRF) 82 | #def LAPACK_spttrf LAPACK_GLOBAL(spttrf,SPTTRF) 83 | #def LAPACK_dpttrf LAPACK_GLOBAL(dpttrf,DPTTRF) 84 | #def LAPACK_cpttrf LAPACK_GLOBAL(cpttrf,CPTTRF) 85 | #def LAPACK_zpttrf LAPACK_GLOBAL(zpttrf,ZPTTRF) 86 | #def LAPACK_ssytrf LAPACK_GLOBAL(ssytrf,SSYTRF) 87 | #def LAPACK_dsytrf LAPACK_GLOBAL(dsytrf,DSYTRF) 88 | #def LAPACK_csytrf LAPACK_GLOBAL(csytrf,CSYTRF) 89 | #def LAPACK_zsytrf LAPACK_GLOBAL(zsytrf,ZSYTRF) 90 | #def LAPACK_chetrf LAPACK_GLOBAL(chetrf,CHETRF) 91 | #def LAPACK_zhetrf LAPACK_GLOBAL(zhetrf,ZHETRF) 92 | #def LAPACK_ssptrf LAPACK_GLOBAL(ssptrf,SSPTRF) 93 | #def LAPACK_dsptrf LAPACK_GLOBAL(dsptrf,DSPTRF) 94 | #def LAPACK_csptrf LAPACK_GLOBAL(csptrf,CSPTRF) 95 | #def LAPACK_zsptrf LAPACK_GLOBAL(zsptrf,ZSPTRF) 96 | #def LAPACK_chptrf LAPACK_GLOBAL(chptrf,CHPTRF) 97 | #def LAPACK_zhptrf LAPACK_GLOBAL(zhptrf,ZHPTRF) 98 | #def LAPACK_sgetrs LAPACK_GLOBAL(sgetrs,SGETRS) 99 | #def LAPACK_dgetrs LAPACK_GLOBAL(dgetrs,DGETRS) 100 | #def LAPACK_cgetrs LAPACK_GLOBAL(cgetrs,CGETRS) 101 | #def LAPACK_zgetrs LAPACK_GLOBAL(zgetrs,ZGETRS) 102 | #def LAPACK_sgbtrs LAPACK_GLOBAL(sgbtrs,SGBTRS) 103 | #def LAPACK_dgbtrs LAPACK_GLOBAL(dgbtrs,DGBTRS) 104 | #def LAPACK_cgbtrs LAPACK_GLOBAL(cgbtrs,CGBTRS) 105 | #def LAPACK_zgbtrs LAPACK_GLOBAL(zgbtrs,ZGBTRS) 106 | #def LAPACK_sgttrs LAPACK_GLOBAL(sgttrs,SGTTRS) 107 | #def LAPACK_dgttrs LAPACK_GLOBAL(dgttrs,DGTTRS) 108 | #def LAPACK_cgttrs LAPACK_GLOBAL(cgttrs,CGTTRS) 109 | #def LAPACK_zgttrs LAPACK_GLOBAL(zgttrs,ZGTTRS) 110 | #def LAPACK_spotrs LAPACK_GLOBAL(spotrs,SPOTRS) 111 | #def LAPACK_dpotrs LAPACK_GLOBAL(dpotrs,DPOTRS) 112 | #def LAPACK_cpotrs LAPACK_GLOBAL(cpotrs,CPOTRS) 113 | #def LAPACK_zpotrs LAPACK_GLOBAL(zpotrs,ZPOTRS) 114 | #def LAPACK_dpftrs LAPACK_GLOBAL(dpftrs,DPFTRS) 115 | #def LAPACK_spftrs LAPACK_GLOBAL(spftrs,SPFTRS) 116 | #def LAPACK_zpftrs LAPACK_GLOBAL(zpftrs,ZPFTRS) 117 | #def LAPACK_cpftrs LAPACK_GLOBAL(cpftrs,CPFTRS) 118 | #def LAPACK_spptrs LAPACK_GLOBAL(spptrs,SPPTRS) 119 | #def LAPACK_dpptrs LAPACK_GLOBAL(dpptrs,DPPTRS) 120 | #def LAPACK_cpptrs LAPACK_GLOBAL(cpptrs,CPPTRS) 121 | #def LAPACK_zpptrs LAPACK_GLOBAL(zpptrs,ZPPTRS) 122 | #def LAPACK_spbtrs LAPACK_GLOBAL(spbtrs,SPBTRS) 123 | #def LAPACK_dpbtrs LAPACK_GLOBAL(dpbtrs,DPBTRS) 124 | #def LAPACK_cpbtrs LAPACK_GLOBAL(cpbtrs,CPBTRS) 125 | #def LAPACK_zpbtrs LAPACK_GLOBAL(zpbtrs,ZPBTRS) 126 | #def LAPACK_spttrs LAPACK_GLOBAL(spttrs,SPTTRS) 127 | #def LAPACK_dpttrs LAPACK_GLOBAL(dpttrs,DPTTRS) 128 | #def LAPACK_cpttrs LAPACK_GLOBAL(cpttrs,CPTTRS) 129 | #def LAPACK_zpttrs LAPACK_GLOBAL(zpttrs,ZPTTRS) 130 | #def LAPACK_ssytrs LAPACK_GLOBAL(ssytrs,SSYTRS) 131 | #def LAPACK_dsytrs LAPACK_GLOBAL(dsytrs,DSYTRS) 132 | #def LAPACK_csytrs LAPACK_GLOBAL(csytrs,CSYTRS) 133 | #def LAPACK_zsytrs LAPACK_GLOBAL(zsytrs,ZSYTRS) 134 | #def LAPACK_chetrs LAPACK_GLOBAL(chetrs,CHETRS) 135 | #def LAPACK_zhetrs LAPACK_GLOBAL(zhetrs,ZHETRS) 136 | #def LAPACK_ssptrs LAPACK_GLOBAL(ssptrs,SSPTRS) 137 | #def LAPACK_dsptrs LAPACK_GLOBAL(dsptrs,DSPTRS) 138 | #def LAPACK_csptrs LAPACK_GLOBAL(csptrs,CSPTRS) 139 | #def LAPACK_zsptrs LAPACK_GLOBAL(zsptrs,ZSPTRS) 140 | #def LAPACK_chptrs LAPACK_GLOBAL(chptrs,CHPTRS) 141 | #def LAPACK_zhptrs LAPACK_GLOBAL(zhptrs,ZHPTRS) 142 | #def LAPACK_strtrs LAPACK_GLOBAL(strtrs,STRTRS) 143 | #def LAPACK_dtrtrs LAPACK_GLOBAL(dtrtrs,DTRTRS) 144 | #def LAPACK_ctrtrs LAPACK_GLOBAL(ctrtrs,CTRTRS) 145 | #def LAPACK_ztrtrs LAPACK_GLOBAL(ztrtrs,ZTRTRS) 146 | #def LAPACK_stptrs LAPACK_GLOBAL(stptrs,STPTRS) 147 | #def LAPACK_dtptrs LAPACK_GLOBAL(dtptrs,DTPTRS) 148 | #def LAPACK_ctptrs LAPACK_GLOBAL(ctptrs,CTPTRS) 149 | #def LAPACK_ztptrs LAPACK_GLOBAL(ztptrs,ZTPTRS) 150 | #def LAPACK_stbtrs LAPACK_GLOBAL(stbtrs,STBTRS) 151 | #def LAPACK_dtbtrs LAPACK_GLOBAL(dtbtrs,DTBTRS) 152 | #def LAPACK_ctbtrs LAPACK_GLOBAL(ctbtrs,CTBTRS) 153 | #def LAPACK_ztbtrs LAPACK_GLOBAL(ztbtrs,ZTBTRS) 154 | #def LAPACK_sgecon LAPACK_GLOBAL(sgecon,SGECON) 155 | #def LAPACK_dgecon LAPACK_GLOBAL(dgecon,DGECON) 156 | #def LAPACK_cgecon LAPACK_GLOBAL(cgecon,CGECON) 157 | #def LAPACK_zgecon LAPACK_GLOBAL(zgecon,ZGECON) 158 | #def LAPACK_sgbcon LAPACK_GLOBAL(sgbcon,SGBCON) 159 | #def LAPACK_dgbcon LAPACK_GLOBAL(dgbcon,DGBCON) 160 | #def LAPACK_cgbcon LAPACK_GLOBAL(cgbcon,CGBCON) 161 | #def LAPACK_zgbcon LAPACK_GLOBAL(zgbcon,ZGBCON) 162 | #def LAPACK_sgtcon LAPACK_GLOBAL(sgtcon,SGTCON) 163 | #def LAPACK_dgtcon LAPACK_GLOBAL(dgtcon,DGTCON) 164 | #def LAPACK_cgtcon LAPACK_GLOBAL(cgtcon,CGTCON) 165 | #def LAPACK_zgtcon LAPACK_GLOBAL(zgtcon,ZGTCON) 166 | #def LAPACK_spocon LAPACK_GLOBAL(spocon,SPOCON) 167 | #def LAPACK_dpocon LAPACK_GLOBAL(dpocon,DPOCON) 168 | #def LAPACK_cpocon LAPACK_GLOBAL(cpocon,CPOCON) 169 | #def LAPACK_zpocon LAPACK_GLOBAL(zpocon,ZPOCON) 170 | #def LAPACK_sppcon LAPACK_GLOBAL(sppcon,SPPCON) 171 | #def LAPACK_dppcon LAPACK_GLOBAL(dppcon,DPPCON) 172 | #def LAPACK_cppcon LAPACK_GLOBAL(cppcon,CPPCON) 173 | #def LAPACK_zppcon LAPACK_GLOBAL(zppcon,ZPPCON) 174 | #def LAPACK_spbcon LAPACK_GLOBAL(spbcon,SPBCON) 175 | #def LAPACK_dpbcon LAPACK_GLOBAL(dpbcon,DPBCON) 176 | #def LAPACK_cpbcon LAPACK_GLOBAL(cpbcon,CPBCON) 177 | #def LAPACK_zpbcon LAPACK_GLOBAL(zpbcon,ZPBCON) 178 | #def LAPACK_sptcon LAPACK_GLOBAL(sptcon,SPTCON) 179 | #def LAPACK_dptcon LAPACK_GLOBAL(dptcon,DPTCON) 180 | #def LAPACK_cptcon LAPACK_GLOBAL(cptcon,CPTCON) 181 | #def LAPACK_zptcon LAPACK_GLOBAL(zptcon,ZPTCON) 182 | #def LAPACK_ssycon LAPACK_GLOBAL(ssycon,SSYCON) 183 | #def LAPACK_dsycon LAPACK_GLOBAL(dsycon,DSYCON) 184 | #def LAPACK_csycon LAPACK_GLOBAL(csycon,CSYCON) 185 | #def LAPACK_zsycon LAPACK_GLOBAL(zsycon,ZSYCON) 186 | #def LAPACK_checon LAPACK_GLOBAL(checon,CHECON) 187 | #def LAPACK_zhecon LAPACK_GLOBAL(zhecon,ZHECON) 188 | #def LAPACK_sspcon LAPACK_GLOBAL(sspcon,SSPCON) 189 | #def LAPACK_dspcon LAPACK_GLOBAL(dspcon,DSPCON) 190 | #def LAPACK_cspcon LAPACK_GLOBAL(cspcon,CSPCON) 191 | #def LAPACK_zspcon LAPACK_GLOBAL(zspcon,ZSPCON) 192 | #def LAPACK_chpcon LAPACK_GLOBAL(chpcon,CHPCON) 193 | #def LAPACK_zhpcon LAPACK_GLOBAL(zhpcon,ZHPCON) 194 | #def LAPACK_strcon LAPACK_GLOBAL(strcon,STRCON) 195 | #def LAPACK_dtrcon LAPACK_GLOBAL(dtrcon,DTRCON) 196 | #def LAPACK_ctrcon LAPACK_GLOBAL(ctrcon,CTRCON) 197 | #def LAPACK_ztrcon LAPACK_GLOBAL(ztrcon,ZTRCON) 198 | #def LAPACK_stpcon LAPACK_GLOBAL(stpcon,STPCON) 199 | #def LAPACK_dtpcon LAPACK_GLOBAL(dtpcon,DTPCON) 200 | #def LAPACK_ctpcon LAPACK_GLOBAL(ctpcon,CTPCON) 201 | #def LAPACK_ztpcon LAPACK_GLOBAL(ztpcon,ZTPCON) 202 | #def LAPACK_stbcon LAPACK_GLOBAL(stbcon,STBCON) 203 | #def LAPACK_dtbcon LAPACK_GLOBAL(dtbcon,DTBCON) 204 | #def LAPACK_ctbcon LAPACK_GLOBAL(ctbcon,CTBCON) 205 | #def LAPACK_ztbcon LAPACK_GLOBAL(ztbcon,ZTBCON) 206 | #def LAPACK_sgerfs LAPACK_GLOBAL(sgerfs,SGERFS) 207 | #def LAPACK_dgerfs LAPACK_GLOBAL(dgerfs,DGERFS) 208 | #def LAPACK_cgerfs LAPACK_GLOBAL(cgerfs,CGERFS) 209 | #def LAPACK_zgerfs LAPACK_GLOBAL(zgerfs,ZGERFS) 210 | #def LAPACK_dgerfsx LAPACK_GLOBAL(dgerfsx,DGERFSX) 211 | #def LAPACK_sgerfsx LAPACK_GLOBAL(sgerfsx,SGERFSX) 212 | #def LAPACK_zgerfsx LAPACK_GLOBAL(zgerfsx,ZGERFSX) 213 | #def LAPACK_cgerfsx LAPACK_GLOBAL(cgerfsx,CGERFSX) 214 | #def LAPACK_sgbrfs LAPACK_GLOBAL(sgbrfs,SGBRFS) 215 | #def LAPACK_dgbrfs LAPACK_GLOBAL(dgbrfs,DGBRFS) 216 | #def LAPACK_cgbrfs LAPACK_GLOBAL(cgbrfs,CGBRFS) 217 | #def LAPACK_zgbrfs LAPACK_GLOBAL(zgbrfs,ZGBRFS) 218 | #def LAPACK_dgbrfsx LAPACK_GLOBAL(dgbrfsx,DGBRFSX) 219 | #def LAPACK_sgbrfsx LAPACK_GLOBAL(sgbrfsx,SGBRFSX) 220 | #def LAPACK_zgbrfsx LAPACK_GLOBAL(zgbrfsx,ZGBRFSX) 221 | #def LAPACK_cgbrfsx LAPACK_GLOBAL(cgbrfsx,CGBRFSX) 222 | #def LAPACK_sgtrfs LAPACK_GLOBAL(sgtrfs,SGTRFS) 223 | #def LAPACK_dgtrfs LAPACK_GLOBAL(dgtrfs,DGTRFS) 224 | #def LAPACK_cgtrfs LAPACK_GLOBAL(cgtrfs,CGTRFS) 225 | #def LAPACK_zgtrfs LAPACK_GLOBAL(zgtrfs,ZGTRFS) 226 | #def LAPACK_sporfs LAPACK_GLOBAL(sporfs,SPORFS) 227 | #def LAPACK_dporfs LAPACK_GLOBAL(dporfs,DPORFS) 228 | #def LAPACK_cporfs LAPACK_GLOBAL(cporfs,CPORFS) 229 | #def LAPACK_zporfs LAPACK_GLOBAL(zporfs,ZPORFS) 230 | #def LAPACK_dporfsx LAPACK_GLOBAL(dporfsx,DPORFSX) 231 | #def LAPACK_sporfsx LAPACK_GLOBAL(sporfsx,SPORFSX) 232 | #def LAPACK_zporfsx LAPACK_GLOBAL(zporfsx,ZPORFSX) 233 | #def LAPACK_cporfsx LAPACK_GLOBAL(cporfsx,CPORFSX) 234 | #def LAPACK_spprfs LAPACK_GLOBAL(spprfs,SPPRFS) 235 | #def LAPACK_dpprfs LAPACK_GLOBAL(dpprfs,DPPRFS) 236 | #def LAPACK_cpprfs LAPACK_GLOBAL(cpprfs,CPPRFS) 237 | #def LAPACK_zpprfs LAPACK_GLOBAL(zpprfs,ZPPRFS) 238 | #def LAPACK_spbrfs LAPACK_GLOBAL(spbrfs,SPBRFS) 239 | #def LAPACK_dpbrfs LAPACK_GLOBAL(dpbrfs,DPBRFS) 240 | #def LAPACK_cpbrfs LAPACK_GLOBAL(cpbrfs,CPBRFS) 241 | #def LAPACK_zpbrfs LAPACK_GLOBAL(zpbrfs,ZPBRFS) 242 | #def LAPACK_sptrfs LAPACK_GLOBAL(sptrfs,SPTRFS) 243 | #def LAPACK_dptrfs LAPACK_GLOBAL(dptrfs,DPTRFS) 244 | #def LAPACK_cptrfs LAPACK_GLOBAL(cptrfs,CPTRFS) 245 | #def LAPACK_zptrfs LAPACK_GLOBAL(zptrfs,ZPTRFS) 246 | #def LAPACK_ssyrfs LAPACK_GLOBAL(ssyrfs,SSYRFS) 247 | #def LAPACK_dsyrfs LAPACK_GLOBAL(dsyrfs,DSYRFS) 248 | #def LAPACK_csyrfs LAPACK_GLOBAL(csyrfs,CSYRFS) 249 | #def LAPACK_zsyrfs LAPACK_GLOBAL(zsyrfs,ZSYRFS) 250 | #def LAPACK_dsyrfsx LAPACK_GLOBAL(dsyrfsx,DSYRFSX) 251 | #def LAPACK_ssyrfsx LAPACK_GLOBAL(ssyrfsx,SSYRFSX) 252 | #def LAPACK_zsyrfsx LAPACK_GLOBAL(zsyrfsx,ZSYRFSX) 253 | #def LAPACK_csyrfsx LAPACK_GLOBAL(csyrfsx,CSYRFSX) 254 | #def LAPACK_cherfs LAPACK_GLOBAL(cherfs,CHERFS) 255 | #def LAPACK_zherfs LAPACK_GLOBAL(zherfs,ZHERFS) 256 | #def LAPACK_zherfsx LAPACK_GLOBAL(zherfsx,ZHERFSX) 257 | #def LAPACK_cherfsx LAPACK_GLOBAL(cherfsx,CHERFSX) 258 | #def LAPACK_ssprfs LAPACK_GLOBAL(ssprfs,SSPRFS) 259 | #def LAPACK_dsprfs LAPACK_GLOBAL(dsprfs,DSPRFS) 260 | #def LAPACK_csprfs LAPACK_GLOBAL(csprfs,CSPRFS) 261 | #def LAPACK_zsprfs LAPACK_GLOBAL(zsprfs,ZSPRFS) 262 | #def LAPACK_chprfs LAPACK_GLOBAL(chprfs,CHPRFS) 263 | #def LAPACK_zhprfs LAPACK_GLOBAL(zhprfs,ZHPRFS) 264 | #def LAPACK_strrfs LAPACK_GLOBAL(strrfs,STRRFS) 265 | #def LAPACK_dtrrfs LAPACK_GLOBAL(dtrrfs,DTRRFS) 266 | #def LAPACK_ctrrfs LAPACK_GLOBAL(ctrrfs,CTRRFS) 267 | #def LAPACK_ztrrfs LAPACK_GLOBAL(ztrrfs,ZTRRFS) 268 | #def LAPACK_stprfs LAPACK_GLOBAL(stprfs,STPRFS) 269 | #def LAPACK_dtprfs LAPACK_GLOBAL(dtprfs,DTPRFS) 270 | #def LAPACK_ctprfs LAPACK_GLOBAL(ctprfs,CTPRFS) 271 | #def LAPACK_ztprfs LAPACK_GLOBAL(ztprfs,ZTPRFS) 272 | #def LAPACK_stbrfs LAPACK_GLOBAL(stbrfs,STBRFS) 273 | #def LAPACK_dtbrfs LAPACK_GLOBAL(dtbrfs,DTBRFS) 274 | #def LAPACK_ctbrfs LAPACK_GLOBAL(ctbrfs,CTBRFS) 275 | #def LAPACK_ztbrfs LAPACK_GLOBAL(ztbrfs,ZTBRFS) 276 | #def LAPACK_sgetri LAPACK_GLOBAL(sgetri,SGETRI) 277 | #def LAPACK_dgetri LAPACK_GLOBAL(dgetri,DGETRI) 278 | #def LAPACK_cgetri LAPACK_GLOBAL(cgetri,CGETRI) 279 | #def LAPACK_zgetri LAPACK_GLOBAL(zgetri,ZGETRI) 280 | #def LAPACK_spotri LAPACK_GLOBAL(spotri,SPOTRI) 281 | #def LAPACK_dpotri LAPACK_GLOBAL(dpotri,DPOTRI) 282 | #def LAPACK_cpotri LAPACK_GLOBAL(cpotri,CPOTRI) 283 | #def LAPACK_zpotri LAPACK_GLOBAL(zpotri,ZPOTRI) 284 | #def LAPACK_dpftri LAPACK_GLOBAL(dpftri,DPFTRI) 285 | #def LAPACK_spftri LAPACK_GLOBAL(spftri,SPFTRI) 286 | #def LAPACK_zpftri LAPACK_GLOBAL(zpftri,ZPFTRI) 287 | #def LAPACK_cpftri LAPACK_GLOBAL(cpftri,CPFTRI) 288 | #def LAPACK_spptri LAPACK_GLOBAL(spptri,SPPTRI) 289 | #def LAPACK_dpptri LAPACK_GLOBAL(dpptri,DPPTRI) 290 | #def LAPACK_cpptri LAPACK_GLOBAL(cpptri,CPPTRI) 291 | #def LAPACK_zpptri LAPACK_GLOBAL(zpptri,ZPPTRI) 292 | #def LAPACK_ssytri LAPACK_GLOBAL(ssytri,SSYTRI) 293 | #def LAPACK_dsytri LAPACK_GLOBAL(dsytri,DSYTRI) 294 | #def LAPACK_csytri LAPACK_GLOBAL(csytri,CSYTRI) 295 | #def LAPACK_zsytri LAPACK_GLOBAL(zsytri,ZSYTRI) 296 | #def LAPACK_chetri LAPACK_GLOBAL(chetri,CHETRI) 297 | #def LAPACK_zhetri LAPACK_GLOBAL(zhetri,ZHETRI) 298 | #def LAPACK_ssptri LAPACK_GLOBAL(ssptri,SSPTRI) 299 | #def LAPACK_dsptri LAPACK_GLOBAL(dsptri,DSPTRI) 300 | #def LAPACK_csptri LAPACK_GLOBAL(csptri,CSPTRI) 301 | #def LAPACK_zsptri LAPACK_GLOBAL(zsptri,ZSPTRI) 302 | #def LAPACK_chptri LAPACK_GLOBAL(chptri,CHPTRI) 303 | #def LAPACK_zhptri LAPACK_GLOBAL(zhptri,ZHPTRI) 304 | #def LAPACK_strtri LAPACK_GLOBAL(strtri,STRTRI) 305 | #def LAPACK_dtrtri LAPACK_GLOBAL(dtrtri,DTRTRI) 306 | #def LAPACK_ctrtri LAPACK_GLOBAL(ctrtri,CTRTRI) 307 | #def LAPACK_ztrtri LAPACK_GLOBAL(ztrtri,ZTRTRI) 308 | #def LAPACK_dtftri LAPACK_GLOBAL(dtftri,DTFTRI) 309 | #def LAPACK_stftri LAPACK_GLOBAL(stftri,STFTRI) 310 | #def LAPACK_ztftri LAPACK_GLOBAL(ztftri,ZTFTRI) 311 | #def LAPACK_ctftri LAPACK_GLOBAL(ctftri,CTFTRI) 312 | #def LAPACK_stptri LAPACK_GLOBAL(stptri,STPTRI) 313 | #def LAPACK_dtptri LAPACK_GLOBAL(dtptri,DTPTRI) 314 | #def LAPACK_ctptri LAPACK_GLOBAL(ctptri,CTPTRI) 315 | #def LAPACK_ztptri LAPACK_GLOBAL(ztptri,ZTPTRI) 316 | #def LAPACK_sgeequ LAPACK_GLOBAL(sgeequ,SGEEQU) 317 | #def LAPACK_dgeequ LAPACK_GLOBAL(dgeequ,DGEEQU) 318 | #def LAPACK_cgeequ LAPACK_GLOBAL(cgeequ,CGEEQU) 319 | #def LAPACK_zgeequ LAPACK_GLOBAL(zgeequ,ZGEEQU) 320 | #def LAPACK_dgeequb LAPACK_GLOBAL(dgeequb,DGEEQUB) 321 | #def LAPACK_sgeequb LAPACK_GLOBAL(sgeequb,SGEEQUB) 322 | #def LAPACK_zgeequb LAPACK_GLOBAL(zgeequb,ZGEEQUB) 323 | #def LAPACK_cgeequb LAPACK_GLOBAL(cgeequb,CGEEQUB) 324 | #def LAPACK_sgbequ LAPACK_GLOBAL(sgbequ,SGBEQU) 325 | #def LAPACK_dgbequ LAPACK_GLOBAL(dgbequ,DGBEQU) 326 | #def LAPACK_cgbequ LAPACK_GLOBAL(cgbequ,CGBEQU) 327 | #def LAPACK_zgbequ LAPACK_GLOBAL(zgbequ,ZGBEQU) 328 | #def LAPACK_dgbequb LAPACK_GLOBAL(dgbequb,DGBEQUB) 329 | #def LAPACK_sgbequb LAPACK_GLOBAL(sgbequb,SGBEQUB) 330 | #def LAPACK_zgbequb LAPACK_GLOBAL(zgbequb,ZGBEQUB) 331 | #def LAPACK_cgbequb LAPACK_GLOBAL(cgbequb,CGBEQUB) 332 | #def LAPACK_spoequ LAPACK_GLOBAL(spoequ,SPOEQU) 333 | #def LAPACK_dpoequ LAPACK_GLOBAL(dpoequ,DPOEQU) 334 | #def LAPACK_cpoequ LAPACK_GLOBAL(cpoequ,CPOEQU) 335 | #def LAPACK_zpoequ LAPACK_GLOBAL(zpoequ,ZPOEQU) 336 | #def LAPACK_dpoequb LAPACK_GLOBAL(dpoequb,DPOEQUB) 337 | #def LAPACK_spoequb LAPACK_GLOBAL(spoequb,SPOEQUB) 338 | #def LAPACK_zpoequb LAPACK_GLOBAL(zpoequb,ZPOEQUB) 339 | #def LAPACK_cpoequb LAPACK_GLOBAL(cpoequb,CPOEQUB) 340 | #def LAPACK_sppequ LAPACK_GLOBAL(sppequ,SPPEQU) 341 | #def LAPACK_dppequ LAPACK_GLOBAL(dppequ,DPPEQU) 342 | #def LAPACK_cppequ LAPACK_GLOBAL(cppequ,CPPEQU) 343 | #def LAPACK_zppequ LAPACK_GLOBAL(zppequ,ZPPEQU) 344 | #def LAPACK_spbequ LAPACK_GLOBAL(spbequ,SPBEQU) 345 | #def LAPACK_dpbequ LAPACK_GLOBAL(dpbequ,DPBEQU) 346 | #def LAPACK_cpbequ LAPACK_GLOBAL(cpbequ,CPBEQU) 347 | #def LAPACK_zpbequ LAPACK_GLOBAL(zpbequ,ZPBEQU) 348 | #def LAPACK_dsyequb LAPACK_GLOBAL(dsyequb,DSYEQUB) 349 | #def LAPACK_ssyequb LAPACK_GLOBAL(ssyequb,SSYEQUB) 350 | #def LAPACK_zsyequb LAPACK_GLOBAL(zsyequb,ZSYEQUB) 351 | #def LAPACK_csyequb LAPACK_GLOBAL(csyequb,CSYEQUB) 352 | #def LAPACK_zheequb LAPACK_GLOBAL(zheequb,ZHEEQUB) 353 | #def LAPACK_cheequb LAPACK_GLOBAL(cheequb,CHEEQUB) 354 | #def LAPACK_sgesv LAPACK_GLOBAL(sgesv,SGESV) 355 | #def LAPACK_dgesv LAPACK_GLOBAL(dgesv,DGESV) 356 | #def LAPACK_cgesv LAPACK_GLOBAL(cgesv,CGESV) 357 | #def LAPACK_zgesv LAPACK_GLOBAL(zgesv,ZGESV) 358 | #def LAPACK_dsgesv LAPACK_GLOBAL(dsgesv,DSGESV) 359 | #def LAPACK_zcgesv LAPACK_GLOBAL(zcgesv,ZCGESV) 360 | #def LAPACK_sgesvx LAPACK_GLOBAL(sgesvx,SGESVX) 361 | #def LAPACK_dgesvx LAPACK_GLOBAL(dgesvx,DGESVX) 362 | #def LAPACK_cgesvx LAPACK_GLOBAL(cgesvx,CGESVX) 363 | #def LAPACK_zgesvx LAPACK_GLOBAL(zgesvx,ZGESVX) 364 | #def LAPACK_dgesvxx LAPACK_GLOBAL(dgesvxx,DGESVXX) 365 | #def LAPACK_sgesvxx LAPACK_GLOBAL(sgesvxx,SGESVXX) 366 | #def LAPACK_zgesvxx LAPACK_GLOBAL(zgesvxx,ZGESVXX) 367 | #def LAPACK_cgesvxx LAPACK_GLOBAL(cgesvxx,CGESVXX) 368 | #def LAPACK_sgbsv LAPACK_GLOBAL(sgbsv,SGBSV) 369 | #def LAPACK_dgbsv LAPACK_GLOBAL(dgbsv,DGBSV) 370 | #def LAPACK_cgbsv LAPACK_GLOBAL(cgbsv,CGBSV) 371 | #def LAPACK_zgbsv LAPACK_GLOBAL(zgbsv,ZGBSV) 372 | #def LAPACK_sgbsvx LAPACK_GLOBAL(sgbsvx,SGBSVX) 373 | #def LAPACK_dgbsvx LAPACK_GLOBAL(dgbsvx,DGBSVX) 374 | #def LAPACK_cgbsvx LAPACK_GLOBAL(cgbsvx,CGBSVX) 375 | #def LAPACK_zgbsvx LAPACK_GLOBAL(zgbsvx,ZGBSVX) 376 | #def LAPACK_dgbsvxx LAPACK_GLOBAL(dgbsvxx,DGBSVXX) 377 | #def LAPACK_sgbsvxx LAPACK_GLOBAL(sgbsvxx,SGBSVXX) 378 | #def LAPACK_zgbsvxx LAPACK_GLOBAL(zgbsvxx,ZGBSVXX) 379 | #def LAPACK_cgbsvxx LAPACK_GLOBAL(cgbsvxx,CGBSVXX) 380 | #def LAPACK_sgtsv LAPACK_GLOBAL(sgtsv,SGTSV) 381 | #def LAPACK_dgtsv LAPACK_GLOBAL(dgtsv,DGTSV) 382 | #def LAPACK_cgtsv LAPACK_GLOBAL(cgtsv,CGTSV) 383 | #def LAPACK_zgtsv LAPACK_GLOBAL(zgtsv,ZGTSV) 384 | #def LAPACK_sgtsvx LAPACK_GLOBAL(sgtsvx,SGTSVX) 385 | #def LAPACK_dgtsvx LAPACK_GLOBAL(dgtsvx,DGTSVX) 386 | #def LAPACK_cgtsvx LAPACK_GLOBAL(cgtsvx,CGTSVX) 387 | #def LAPACK_zgtsvx LAPACK_GLOBAL(zgtsvx,ZGTSVX) 388 | #def LAPACK_sposv LAPACK_GLOBAL(sposv,SPOSV) 389 | #def LAPACK_dposv LAPACK_GLOBAL(dposv,DPOSV) 390 | #def LAPACK_cposv LAPACK_GLOBAL(cposv,CPOSV) 391 | #def LAPACK_zposv LAPACK_GLOBAL(zposv,ZPOSV) 392 | #def LAPACK_dsposv LAPACK_GLOBAL(dsposv,DSPOSV) 393 | #def LAPACK_zcposv LAPACK_GLOBAL(zcposv,ZCPOSV) 394 | #def LAPACK_sposvx LAPACK_GLOBAL(sposvx,SPOSVX) 395 | #def LAPACK_dposvx LAPACK_GLOBAL(dposvx,DPOSVX) 396 | #def LAPACK_cposvx LAPACK_GLOBAL(cposvx,CPOSVX) 397 | #def LAPACK_zposvx LAPACK_GLOBAL(zposvx,ZPOSVX) 398 | #def LAPACK_dposvxx LAPACK_GLOBAL(dposvxx,DPOSVXX) 399 | #def LAPACK_sposvxx LAPACK_GLOBAL(sposvxx,SPOSVXX) 400 | #def LAPACK_zposvxx LAPACK_GLOBAL(zposvxx,ZPOSVXX) 401 | #def LAPACK_cposvxx LAPACK_GLOBAL(cposvxx,CPOSVXX) 402 | #def LAPACK_sppsv LAPACK_GLOBAL(sppsv,SPPSV) 403 | #def LAPACK_dppsv LAPACK_GLOBAL(dppsv,DPPSV) 404 | #def LAPACK_cppsv LAPACK_GLOBAL(cppsv,CPPSV) 405 | #def LAPACK_zppsv LAPACK_GLOBAL(zppsv,ZPPSV) 406 | #def LAPACK_sppsvx LAPACK_GLOBAL(sppsvx,SPPSVX) 407 | #def LAPACK_dppsvx LAPACK_GLOBAL(dppsvx,DPPSVX) 408 | #def LAPACK_cppsvx LAPACK_GLOBAL(cppsvx,CPPSVX) 409 | #def LAPACK_zppsvx LAPACK_GLOBAL(zppsvx,ZPPSVX) 410 | #def LAPACK_spbsv LAPACK_GLOBAL(spbsv,SPBSV) 411 | #def LAPACK_dpbsv LAPACK_GLOBAL(dpbsv,DPBSV) 412 | #def LAPACK_cpbsv LAPACK_GLOBAL(cpbsv,CPBSV) 413 | #def LAPACK_zpbsv LAPACK_GLOBAL(zpbsv,ZPBSV) 414 | #def LAPACK_spbsvx LAPACK_GLOBAL(spbsvx,SPBSVX) 415 | #def LAPACK_dpbsvx LAPACK_GLOBAL(dpbsvx,DPBSVX) 416 | #def LAPACK_cpbsvx LAPACK_GLOBAL(cpbsvx,CPBSVX) 417 | #def LAPACK_zpbsvx LAPACK_GLOBAL(zpbsvx,ZPBSVX) 418 | #def LAPACK_sptsv LAPACK_GLOBAL(sptsv,SPTSV) 419 | #def LAPACK_dptsv LAPACK_GLOBAL(dptsv,DPTSV) 420 | #def LAPACK_cptsv LAPACK_GLOBAL(cptsv,CPTSV) 421 | #def LAPACK_zptsv LAPACK_GLOBAL(zptsv,ZPTSV) 422 | #def LAPACK_sptsvx LAPACK_GLOBAL(sptsvx,SPTSVX) 423 | #def LAPACK_dptsvx LAPACK_GLOBAL(dptsvx,DPTSVX) 424 | #def LAPACK_cptsvx LAPACK_GLOBAL(cptsvx,CPTSVX) 425 | #def LAPACK_zptsvx LAPACK_GLOBAL(zptsvx,ZPTSVX) 426 | #def LAPACK_ssysv LAPACK_GLOBAL(ssysv,SSYSV) 427 | #def LAPACK_dsysv LAPACK_GLOBAL(dsysv,DSYSV) 428 | #def LAPACK_csysv LAPACK_GLOBAL(csysv,CSYSV) 429 | #def LAPACK_zsysv LAPACK_GLOBAL(zsysv,ZSYSV) 430 | #def LAPACK_ssysvx LAPACK_GLOBAL(ssysvx,SSYSVX) 431 | #def LAPACK_dsysvx LAPACK_GLOBAL(dsysvx,DSYSVX) 432 | #def LAPACK_csysvx LAPACK_GLOBAL(csysvx,CSYSVX) 433 | #def LAPACK_zsysvx LAPACK_GLOBAL(zsysvx,ZSYSVX) 434 | #def LAPACK_dsysvxx LAPACK_GLOBAL(dsysvxx,DSYSVXX) 435 | #def LAPACK_ssysvxx LAPACK_GLOBAL(ssysvxx,SSYSVXX) 436 | #def LAPACK_zsysvxx LAPACK_GLOBAL(zsysvxx,ZSYSVXX) 437 | #def LAPACK_csysvxx LAPACK_GLOBAL(csysvxx,CSYSVXX) 438 | #def LAPACK_chesv LAPACK_GLOBAL(chesv,CHESV) 439 | #def LAPACK_zhesv LAPACK_GLOBAL(zhesv,ZHESV) 440 | #def LAPACK_chesvx LAPACK_GLOBAL(chesvx,CHESVX) 441 | #def LAPACK_zhesvx LAPACK_GLOBAL(zhesvx,ZHESVX) 442 | #def LAPACK_zhesvxx LAPACK_GLOBAL(zhesvxx,ZHESVXX) 443 | #def LAPACK_chesvxx LAPACK_GLOBAL(chesvxx,CHESVXX) 444 | #def LAPACK_sspsv LAPACK_GLOBAL(sspsv,SSPSV) 445 | #def LAPACK_dspsv LAPACK_GLOBAL(dspsv,DSPSV) 446 | #def LAPACK_cspsv LAPACK_GLOBAL(cspsv,CSPSV) 447 | #def LAPACK_zspsv LAPACK_GLOBAL(zspsv,ZSPSV) 448 | #def LAPACK_sspsvx LAPACK_GLOBAL(sspsvx,SSPSVX) 449 | #def LAPACK_dspsvx LAPACK_GLOBAL(dspsvx,DSPSVX) 450 | #def LAPACK_cspsvx LAPACK_GLOBAL(cspsvx,CSPSVX) 451 | #def LAPACK_zspsvx LAPACK_GLOBAL(zspsvx,ZSPSVX) 452 | #def LAPACK_chpsv LAPACK_GLOBAL(chpsv,CHPSV) 453 | #def LAPACK_zhpsv LAPACK_GLOBAL(zhpsv,ZHPSV) 454 | #def LAPACK_chpsvx LAPACK_GLOBAL(chpsvx,CHPSVX) 455 | #def LAPACK_zhpsvx LAPACK_GLOBAL(zhpsvx,ZHPSVX) 456 | #def LAPACK_sgeqrf LAPACK_GLOBAL(sgeqrf,SGEQRF) 457 | #def LAPACK_dgeqrf LAPACK_GLOBAL(dgeqrf,DGEQRF) 458 | #def LAPACK_cgeqrf LAPACK_GLOBAL(cgeqrf,CGEQRF) 459 | #def LAPACK_zgeqrf LAPACK_GLOBAL(zgeqrf,ZGEQRF) 460 | #def LAPACK_sgeqpf LAPACK_GLOBAL(sgeqpf,SGEQPF) 461 | #def LAPACK_dgeqpf LAPACK_GLOBAL(dgeqpf,DGEQPF) 462 | #def LAPACK_cgeqpf LAPACK_GLOBAL(cgeqpf,CGEQPF) 463 | #def LAPACK_zgeqpf LAPACK_GLOBAL(zgeqpf,ZGEQPF) 464 | #def LAPACK_sgeqp3 LAPACK_GLOBAL(sgeqp3,SGEQP3) 465 | #def LAPACK_dgeqp3 LAPACK_GLOBAL(dgeqp3,DGEQP3) 466 | #def LAPACK_cgeqp3 LAPACK_GLOBAL(cgeqp3,CGEQP3) 467 | #def LAPACK_zgeqp3 LAPACK_GLOBAL(zgeqp3,ZGEQP3) 468 | #def LAPACK_sorgqr LAPACK_GLOBAL(sorgqr,SORGQR) 469 | #def LAPACK_dorgqr LAPACK_GLOBAL(dorgqr,DORGQR) 470 | #def LAPACK_sormqr LAPACK_GLOBAL(sormqr,SORMQR) 471 | #def LAPACK_dormqr LAPACK_GLOBAL(dormqr,DORMQR) 472 | #def LAPACK_cungqr LAPACK_GLOBAL(cungqr,CUNGQR) 473 | #def LAPACK_zungqr LAPACK_GLOBAL(zungqr,ZUNGQR) 474 | #def LAPACK_cunmqr LAPACK_GLOBAL(cunmqr,CUNMQR) 475 | #def LAPACK_zunmqr LAPACK_GLOBAL(zunmqr,ZUNMQR) 476 | #def LAPACK_sgelqf LAPACK_GLOBAL(sgelqf,SGELQF) 477 | #def LAPACK_dgelqf LAPACK_GLOBAL(dgelqf,DGELQF) 478 | #def LAPACK_cgelqf LAPACK_GLOBAL(cgelqf,CGELQF) 479 | #def LAPACK_zgelqf LAPACK_GLOBAL(zgelqf,ZGELQF) 480 | #def LAPACK_sorglq LAPACK_GLOBAL(sorglq,SORGLQ) 481 | #def LAPACK_dorglq LAPACK_GLOBAL(dorglq,DORGLQ) 482 | #def LAPACK_sormlq LAPACK_GLOBAL(sormlq,SORMLQ) 483 | #def LAPACK_dormlq LAPACK_GLOBAL(dormlq,DORMLQ) 484 | #def LAPACK_cunglq LAPACK_GLOBAL(cunglq,CUNGLQ) 485 | #def LAPACK_zunglq LAPACK_GLOBAL(zunglq,ZUNGLQ) 486 | #def LAPACK_cunmlq LAPACK_GLOBAL(cunmlq,CUNMLQ) 487 | #def LAPACK_zunmlq LAPACK_GLOBAL(zunmlq,ZUNMLQ) 488 | #def LAPACK_sgeqlf LAPACK_GLOBAL(sgeqlf,SGEQLF) 489 | #def LAPACK_dgeqlf LAPACK_GLOBAL(dgeqlf,DGEQLF) 490 | #def LAPACK_cgeqlf LAPACK_GLOBAL(cgeqlf,CGEQLF) 491 | #def LAPACK_zgeqlf LAPACK_GLOBAL(zgeqlf,ZGEQLF) 492 | #def LAPACK_sorgql LAPACK_GLOBAL(sorgql,SORGQL) 493 | #def LAPACK_dorgql LAPACK_GLOBAL(dorgql,DORGQL) 494 | #def LAPACK_cungql LAPACK_GLOBAL(cungql,CUNGQL) 495 | #def LAPACK_zungql LAPACK_GLOBAL(zungql,ZUNGQL) 496 | #def LAPACK_sormql LAPACK_GLOBAL(sormql,SORMQL) 497 | #def LAPACK_dormql LAPACK_GLOBAL(dormql,DORMQL) 498 | #def LAPACK_cunmql LAPACK_GLOBAL(cunmql,CUNMQL) 499 | #def LAPACK_zunmql LAPACK_GLOBAL(zunmql,ZUNMQL) 500 | #def LAPACK_sgerqf LAPACK_GLOBAL(sgerqf,SGERQF) 501 | #def LAPACK_dgerqf LAPACK_GLOBAL(dgerqf,DGERQF) 502 | #def LAPACK_cgerqf LAPACK_GLOBAL(cgerqf,CGERQF) 503 | #def LAPACK_zgerqf LAPACK_GLOBAL(zgerqf,ZGERQF) 504 | #def LAPACK_sorgrq LAPACK_GLOBAL(sorgrq,SORGRQ) 505 | #def LAPACK_dorgrq LAPACK_GLOBAL(dorgrq,DORGRQ) 506 | #def LAPACK_cungrq LAPACK_GLOBAL(cungrq,CUNGRQ) 507 | #def LAPACK_zungrq LAPACK_GLOBAL(zungrq,ZUNGRQ) 508 | #def LAPACK_sormrq LAPACK_GLOBAL(sormrq,SORMRQ) 509 | #def LAPACK_dormrq LAPACK_GLOBAL(dormrq,DORMRQ) 510 | #def LAPACK_cunmrq LAPACK_GLOBAL(cunmrq,CUNMRQ) 511 | #def LAPACK_zunmrq LAPACK_GLOBAL(zunmrq,ZUNMRQ) 512 | #def LAPACK_stzrzf LAPACK_GLOBAL(stzrzf,STZRZF) 513 | #def LAPACK_dtzrzf LAPACK_GLOBAL(dtzrzf,DTZRZF) 514 | #def LAPACK_ctzrzf LAPACK_GLOBAL(ctzrzf,CTZRZF) 515 | #def LAPACK_ztzrzf LAPACK_GLOBAL(ztzrzf,ZTZRZF) 516 | #def LAPACK_sormrz LAPACK_GLOBAL(sormrz,SORMRZ) 517 | #def LAPACK_dormrz LAPACK_GLOBAL(dormrz,DORMRZ) 518 | #def LAPACK_cunmrz LAPACK_GLOBAL(cunmrz,CUNMRZ) 519 | #def LAPACK_zunmrz LAPACK_GLOBAL(zunmrz,ZUNMRZ) 520 | #def LAPACK_sggqrf LAPACK_GLOBAL(sggqrf,SGGQRF) 521 | #def LAPACK_dggqrf LAPACK_GLOBAL(dggqrf,DGGQRF) 522 | #def LAPACK_cggqrf LAPACK_GLOBAL(cggqrf,CGGQRF) 523 | #def LAPACK_zggqrf LAPACK_GLOBAL(zggqrf,ZGGQRF) 524 | #def LAPACK_sggrqf LAPACK_GLOBAL(sggrqf,SGGRQF) 525 | #def LAPACK_dggrqf LAPACK_GLOBAL(dggrqf,DGGRQF) 526 | #def LAPACK_cggrqf LAPACK_GLOBAL(cggrqf,CGGRQF) 527 | #def LAPACK_zggrqf LAPACK_GLOBAL(zggrqf,ZGGRQF) 528 | #def LAPACK_sgebrd LAPACK_GLOBAL(sgebrd,SGEBRD) 529 | #def LAPACK_dgebrd LAPACK_GLOBAL(dgebrd,DGEBRD) 530 | #def LAPACK_cgebrd LAPACK_GLOBAL(cgebrd,CGEBRD) 531 | #def LAPACK_zgebrd LAPACK_GLOBAL(zgebrd,ZGEBRD) 532 | #def LAPACK_sgbbrd LAPACK_GLOBAL(sgbbrd,SGBBRD) 533 | #def LAPACK_dgbbrd LAPACK_GLOBAL(dgbbrd,DGBBRD) 534 | #def LAPACK_cgbbrd LAPACK_GLOBAL(cgbbrd,CGBBRD) 535 | #def LAPACK_zgbbrd LAPACK_GLOBAL(zgbbrd,ZGBBRD) 536 | #def LAPACK_sorgbr LAPACK_GLOBAL(sorgbr,SORGBR) 537 | #def LAPACK_dorgbr LAPACK_GLOBAL(dorgbr,DORGBR) 538 | #def LAPACK_sormbr LAPACK_GLOBAL(sormbr,SORMBR) 539 | #def LAPACK_dormbr LAPACK_GLOBAL(dormbr,DORMBR) 540 | #def LAPACK_cungbr LAPACK_GLOBAL(cungbr,CUNGBR) 541 | #def LAPACK_zungbr LAPACK_GLOBAL(zungbr,ZUNGBR) 542 | #def LAPACK_cunmbr LAPACK_GLOBAL(cunmbr,CUNMBR) 543 | #def LAPACK_zunmbr LAPACK_GLOBAL(zunmbr,ZUNMBR) 544 | #def LAPACK_sbdsqr LAPACK_GLOBAL(sbdsqr,SBDSQR) 545 | #def LAPACK_dbdsqr LAPACK_GLOBAL(dbdsqr,DBDSQR) 546 | #def LAPACK_cbdsqr LAPACK_GLOBAL(cbdsqr,CBDSQR) 547 | #def LAPACK_zbdsqr LAPACK_GLOBAL(zbdsqr,ZBDSQR) 548 | #def LAPACK_sbdsdc LAPACK_GLOBAL(sbdsdc,SBDSDC) 549 | #def LAPACK_dbdsdc LAPACK_GLOBAL(dbdsdc,DBDSDC) 550 | #def LAPACK_ssytrd LAPACK_GLOBAL(ssytrd,SSYTRD) 551 | #def LAPACK_dsytrd LAPACK_GLOBAL(dsytrd,DSYTRD) 552 | #def LAPACK_sorgtr LAPACK_GLOBAL(sorgtr,SORGTR) 553 | #def LAPACK_dorgtr LAPACK_GLOBAL(dorgtr,DORGTR) 554 | #def LAPACK_sormtr LAPACK_GLOBAL(sormtr,SORMTR) 555 | #def LAPACK_dormtr LAPACK_GLOBAL(dormtr,DORMTR) 556 | #def LAPACK_chetrd LAPACK_GLOBAL(chetrd,CHETRD) 557 | #def LAPACK_zhetrd LAPACK_GLOBAL(zhetrd,ZHETRD) 558 | #def LAPACK_cungtr LAPACK_GLOBAL(cungtr,CUNGTR) 559 | #def LAPACK_zungtr LAPACK_GLOBAL(zungtr,ZUNGTR) 560 | #def LAPACK_cunmtr LAPACK_GLOBAL(cunmtr,CUNMTR) 561 | #def LAPACK_zunmtr LAPACK_GLOBAL(zunmtr,ZUNMTR) 562 | #def LAPACK_ssptrd LAPACK_GLOBAL(ssptrd,SSPTRD) 563 | #def LAPACK_dsptrd LAPACK_GLOBAL(dsptrd,DSPTRD) 564 | #def LAPACK_sopgtr LAPACK_GLOBAL(sopgtr,SOPGTR) 565 | #def LAPACK_dopgtr LAPACK_GLOBAL(dopgtr,DOPGTR) 566 | #def LAPACK_sopmtr LAPACK_GLOBAL(sopmtr,SOPMTR) 567 | #def LAPACK_dopmtr LAPACK_GLOBAL(dopmtr,DOPMTR) 568 | #def LAPACK_chptrd LAPACK_GLOBAL(chptrd,CHPTRD) 569 | #def LAPACK_zhptrd LAPACK_GLOBAL(zhptrd,ZHPTRD) 570 | #def LAPACK_cupgtr LAPACK_GLOBAL(cupgtr,CUPGTR) 571 | #def LAPACK_zupgtr LAPACK_GLOBAL(zupgtr,ZUPGTR) 572 | #def LAPACK_cupmtr LAPACK_GLOBAL(cupmtr,CUPMTR) 573 | #def LAPACK_zupmtr LAPACK_GLOBAL(zupmtr,ZUPMTR) 574 | #def LAPACK_ssbtrd LAPACK_GLOBAL(ssbtrd,SSBTRD) 575 | #def LAPACK_dsbtrd LAPACK_GLOBAL(dsbtrd,DSBTRD) 576 | #def LAPACK_chbtrd LAPACK_GLOBAL(chbtrd,CHBTRD) 577 | #def LAPACK_zhbtrd LAPACK_GLOBAL(zhbtrd,ZHBTRD) 578 | #def LAPACK_ssterf LAPACK_GLOBAL(ssterf,SSTERF) 579 | #def LAPACK_dsterf LAPACK_GLOBAL(dsterf,DSTERF) 580 | #def LAPACK_ssteqr LAPACK_GLOBAL(ssteqr,SSTEQR) 581 | #def LAPACK_dsteqr LAPACK_GLOBAL(dsteqr,DSTEQR) 582 | #def LAPACK_csteqr LAPACK_GLOBAL(csteqr,CSTEQR) 583 | #def LAPACK_zsteqr LAPACK_GLOBAL(zsteqr,ZSTEQR) 584 | #def LAPACK_sstemr LAPACK_GLOBAL(sstemr,SSTEMR) 585 | #def LAPACK_dstemr LAPACK_GLOBAL(dstemr,DSTEMR) 586 | #def LAPACK_cstemr LAPACK_GLOBAL(cstemr,CSTEMR) 587 | #def LAPACK_zstemr LAPACK_GLOBAL(zstemr,ZSTEMR) 588 | #def LAPACK_sstedc LAPACK_GLOBAL(sstedc,SSTEDC) 589 | #def LAPACK_dstedc LAPACK_GLOBAL(dstedc,DSTEDC) 590 | #def LAPACK_cstedc LAPACK_GLOBAL(cstedc,CSTEDC) 591 | #def LAPACK_zstedc LAPACK_GLOBAL(zstedc,ZSTEDC) 592 | #def LAPACK_sstegr LAPACK_GLOBAL(sstegr,SSTEGR) 593 | #def LAPACK_dstegr LAPACK_GLOBAL(dstegr,DSTEGR) 594 | #def LAPACK_cstegr LAPACK_GLOBAL(cstegr,CSTEGR) 595 | #def LAPACK_zstegr LAPACK_GLOBAL(zstegr,ZSTEGR) 596 | #def LAPACK_spteqr LAPACK_GLOBAL(spteqr,SPTEQR) 597 | #def LAPACK_dpteqr LAPACK_GLOBAL(dpteqr,DPTEQR) 598 | #def LAPACK_cpteqr LAPACK_GLOBAL(cpteqr,CPTEQR) 599 | #def LAPACK_zpteqr LAPACK_GLOBAL(zpteqr,ZPTEQR) 600 | #def LAPACK_sstebz LAPACK_GLOBAL(sstebz,SSTEBZ) 601 | #def LAPACK_dstebz LAPACK_GLOBAL(dstebz,DSTEBZ) 602 | #def LAPACK_sstein LAPACK_GLOBAL(sstein,SSTEIN) 603 | #def LAPACK_dstein LAPACK_GLOBAL(dstein,DSTEIN) 604 | #def LAPACK_cstein LAPACK_GLOBAL(cstein,CSTEIN) 605 | #def LAPACK_zstein LAPACK_GLOBAL(zstein,ZSTEIN) 606 | #def LAPACK_sdisna LAPACK_GLOBAL(sdisna,SDISNA) 607 | #def LAPACK_ddisna LAPACK_GLOBAL(ddisna,DDISNA) 608 | #def LAPACK_ssygst LAPACK_GLOBAL(ssygst,SSYGST) 609 | #def LAPACK_dsygst LAPACK_GLOBAL(dsygst,DSYGST) 610 | #def LAPACK_chegst LAPACK_GLOBAL(chegst,CHEGST) 611 | #def LAPACK_zhegst LAPACK_GLOBAL(zhegst,ZHEGST) 612 | #def LAPACK_sspgst LAPACK_GLOBAL(sspgst,SSPGST) 613 | #def LAPACK_dspgst LAPACK_GLOBAL(dspgst,DSPGST) 614 | #def LAPACK_chpgst LAPACK_GLOBAL(chpgst,CHPGST) 615 | #def LAPACK_zhpgst LAPACK_GLOBAL(zhpgst,ZHPGST) 616 | #def LAPACK_ssbgst LAPACK_GLOBAL(ssbgst,SSBGST) 617 | #def LAPACK_dsbgst LAPACK_GLOBAL(dsbgst,DSBGST) 618 | #def LAPACK_chbgst LAPACK_GLOBAL(chbgst,CHBGST) 619 | #def LAPACK_zhbgst LAPACK_GLOBAL(zhbgst,ZHBGST) 620 | #def LAPACK_spbstf LAPACK_GLOBAL(spbstf,SPBSTF) 621 | #def LAPACK_dpbstf LAPACK_GLOBAL(dpbstf,DPBSTF) 622 | #def LAPACK_cpbstf LAPACK_GLOBAL(cpbstf,CPBSTF) 623 | #def LAPACK_zpbstf LAPACK_GLOBAL(zpbstf,ZPBSTF) 624 | #def LAPACK_sgehrd LAPACK_GLOBAL(sgehrd,SGEHRD) 625 | #def LAPACK_dgehrd LAPACK_GLOBAL(dgehrd,DGEHRD) 626 | #def LAPACK_cgehrd LAPACK_GLOBAL(cgehrd,CGEHRD) 627 | #def LAPACK_zgehrd LAPACK_GLOBAL(zgehrd,ZGEHRD) 628 | #def LAPACK_sorghr LAPACK_GLOBAL(sorghr,SORGHR) 629 | #def LAPACK_dorghr LAPACK_GLOBAL(dorghr,DORGHR) 630 | #def LAPACK_sormhr LAPACK_GLOBAL(sormhr,SORMHR) 631 | #def LAPACK_dormhr LAPACK_GLOBAL(dormhr,DORMHR) 632 | #def LAPACK_cunghr LAPACK_GLOBAL(cunghr,CUNGHR) 633 | #def LAPACK_zunghr LAPACK_GLOBAL(zunghr,ZUNGHR) 634 | #def LAPACK_cunmhr LAPACK_GLOBAL(cunmhr,CUNMHR) 635 | #def LAPACK_zunmhr LAPACK_GLOBAL(zunmhr,ZUNMHR) 636 | #def LAPACK_sgebal LAPACK_GLOBAL(sgebal,SGEBAL) 637 | #def LAPACK_dgebal LAPACK_GLOBAL(dgebal,DGEBAL) 638 | #def LAPACK_cgebal LAPACK_GLOBAL(cgebal,CGEBAL) 639 | #def LAPACK_zgebal LAPACK_GLOBAL(zgebal,ZGEBAL) 640 | #def LAPACK_sgebak LAPACK_GLOBAL(sgebak,SGEBAK) 641 | #def LAPACK_dgebak LAPACK_GLOBAL(dgebak,DGEBAK) 642 | #def LAPACK_cgebak LAPACK_GLOBAL(cgebak,CGEBAK) 643 | #def LAPACK_zgebak LAPACK_GLOBAL(zgebak,ZGEBAK) 644 | #def LAPACK_shseqr LAPACK_GLOBAL(shseqr,SHSEQR) 645 | #def LAPACK_dhseqr LAPACK_GLOBAL(dhseqr,DHSEQR) 646 | #def LAPACK_chseqr LAPACK_GLOBAL(chseqr,CHSEQR) 647 | #def LAPACK_zhseqr LAPACK_GLOBAL(zhseqr,ZHSEQR) 648 | #def LAPACK_shsein LAPACK_GLOBAL(shsein,SHSEIN) 649 | #def LAPACK_dhsein LAPACK_GLOBAL(dhsein,DHSEIN) 650 | #def LAPACK_chsein LAPACK_GLOBAL(chsein,CHSEIN) 651 | #def LAPACK_zhsein LAPACK_GLOBAL(zhsein,ZHSEIN) 652 | #def LAPACK_strevc LAPACK_GLOBAL(strevc,STREVC) 653 | #def LAPACK_dtrevc LAPACK_GLOBAL(dtrevc,DTREVC) 654 | #def LAPACK_ctrevc LAPACK_GLOBAL(ctrevc,CTREVC) 655 | #def LAPACK_ztrevc LAPACK_GLOBAL(ztrevc,ZTREVC) 656 | #def LAPACK_strsna LAPACK_GLOBAL(strsna,STRSNA) 657 | #def LAPACK_dtrsna LAPACK_GLOBAL(dtrsna,DTRSNA) 658 | #def LAPACK_ctrsna LAPACK_GLOBAL(ctrsna,CTRSNA) 659 | #def LAPACK_ztrsna LAPACK_GLOBAL(ztrsna,ZTRSNA) 660 | #def LAPACK_strexc LAPACK_GLOBAL(strexc,STREXC) 661 | #def LAPACK_dtrexc LAPACK_GLOBAL(dtrexc,DTREXC) 662 | #def LAPACK_ctrexc LAPACK_GLOBAL(ctrexc,CTREXC) 663 | #def LAPACK_ztrexc LAPACK_GLOBAL(ztrexc,ZTREXC) 664 | #def LAPACK_strsen LAPACK_GLOBAL(strsen,STRSEN) 665 | #def LAPACK_dtrsen LAPACK_GLOBAL(dtrsen,DTRSEN) 666 | #def LAPACK_ctrsen LAPACK_GLOBAL(ctrsen,CTRSEN) 667 | #def LAPACK_ztrsen LAPACK_GLOBAL(ztrsen,ZTRSEN) 668 | #def LAPACK_strsyl LAPACK_GLOBAL(strsyl,STRSYL) 669 | #def LAPACK_dtrsyl LAPACK_GLOBAL(dtrsyl,DTRSYL) 670 | #def LAPACK_ctrsyl LAPACK_GLOBAL(ctrsyl,CTRSYL) 671 | #def LAPACK_ztrsyl LAPACK_GLOBAL(ztrsyl,ZTRSYL) 672 | #def LAPACK_sgghrd LAPACK_GLOBAL(sgghrd,SGGHRD) 673 | #def LAPACK_dgghrd LAPACK_GLOBAL(dgghrd,DGGHRD) 674 | #def LAPACK_cgghrd LAPACK_GLOBAL(cgghrd,CGGHRD) 675 | #def LAPACK_zgghrd LAPACK_GLOBAL(zgghrd,ZGGHRD) 676 | #def LAPACK_sggbal LAPACK_GLOBAL(sggbal,SGGBAL) 677 | #def LAPACK_dggbal LAPACK_GLOBAL(dggbal,DGGBAL) 678 | #def LAPACK_cggbal LAPACK_GLOBAL(cggbal,CGGBAL) 679 | #def LAPACK_zggbal LAPACK_GLOBAL(zggbal,ZGGBAL) 680 | #def LAPACK_sggbak LAPACK_GLOBAL(sggbak,SGGBAK) 681 | #def LAPACK_dggbak LAPACK_GLOBAL(dggbak,DGGBAK) 682 | #def LAPACK_cggbak LAPACK_GLOBAL(cggbak,CGGBAK) 683 | #def LAPACK_zggbak LAPACK_GLOBAL(zggbak,ZGGBAK) 684 | #def LAPACK_shgeqz LAPACK_GLOBAL(shgeqz,SHGEQZ) 685 | #def LAPACK_dhgeqz LAPACK_GLOBAL(dhgeqz,DHGEQZ) 686 | #def LAPACK_chgeqz LAPACK_GLOBAL(chgeqz,CHGEQZ) 687 | #def LAPACK_zhgeqz LAPACK_GLOBAL(zhgeqz,ZHGEQZ) 688 | #def LAPACK_stgevc LAPACK_GLOBAL(stgevc,STGEVC) 689 | #def LAPACK_dtgevc LAPACK_GLOBAL(dtgevc,DTGEVC) 690 | #def LAPACK_ctgevc LAPACK_GLOBAL(ctgevc,CTGEVC) 691 | #def LAPACK_ztgevc LAPACK_GLOBAL(ztgevc,ZTGEVC) 692 | #def LAPACK_stgexc LAPACK_GLOBAL(stgexc,STGEXC) 693 | #def LAPACK_dtgexc LAPACK_GLOBAL(dtgexc,DTGEXC) 694 | #def LAPACK_ctgexc LAPACK_GLOBAL(ctgexc,CTGEXC) 695 | #def LAPACK_ztgexc LAPACK_GLOBAL(ztgexc,ZTGEXC) 696 | #def LAPACK_stgsen LAPACK_GLOBAL(stgsen,STGSEN) 697 | #def LAPACK_dtgsen LAPACK_GLOBAL(dtgsen,DTGSEN) 698 | #def LAPACK_ctgsen LAPACK_GLOBAL(ctgsen,CTGSEN) 699 | #def LAPACK_ztgsen LAPACK_GLOBAL(ztgsen,ZTGSEN) 700 | #def LAPACK_stgsyl LAPACK_GLOBAL(stgsyl,STGSYL) 701 | #def LAPACK_dtgsyl LAPACK_GLOBAL(dtgsyl,DTGSYL) 702 | #def LAPACK_ctgsyl LAPACK_GLOBAL(ctgsyl,CTGSYL) 703 | #def LAPACK_ztgsyl LAPACK_GLOBAL(ztgsyl,ZTGSYL) 704 | #def LAPACK_stgsna LAPACK_GLOBAL(stgsna,STGSNA) 705 | #def LAPACK_dtgsna LAPACK_GLOBAL(dtgsna,DTGSNA) 706 | #def LAPACK_ctgsna LAPACK_GLOBAL(ctgsna,CTGSNA) 707 | #def LAPACK_ztgsna LAPACK_GLOBAL(ztgsna,ZTGSNA) 708 | #def LAPACK_sggsvp LAPACK_GLOBAL(sggsvp,SGGSVP) 709 | #def LAPACK_dggsvp LAPACK_GLOBAL(dggsvp,DGGSVP) 710 | #def LAPACK_cggsvp LAPACK_GLOBAL(cggsvp,CGGSVP) 711 | #def LAPACK_zggsvp LAPACK_GLOBAL(zggsvp,ZGGSVP) 712 | #def LAPACK_stgsja LAPACK_GLOBAL(stgsja,STGSJA) 713 | #def LAPACK_dtgsja LAPACK_GLOBAL(dtgsja,DTGSJA) 714 | #def LAPACK_ctgsja LAPACK_GLOBAL(ctgsja,CTGSJA) 715 | #def LAPACK_ztgsja LAPACK_GLOBAL(ztgsja,ZTGSJA) 716 | #def LAPACK_sgels LAPACK_GLOBAL(sgels,SGELS) 717 | #def LAPACK_dgels LAPACK_GLOBAL(dgels,DGELS) 718 | #def LAPACK_cgels LAPACK_GLOBAL(cgels,CGELS) 719 | #def LAPACK_zgels LAPACK_GLOBAL(zgels,ZGELS) 720 | #def LAPACK_sgelsy LAPACK_GLOBAL(sgelsy,SGELSY) 721 | #def LAPACK_dgelsy LAPACK_GLOBAL(dgelsy,DGELSY) 722 | #def LAPACK_cgelsy LAPACK_GLOBAL(cgelsy,CGELSY) 723 | #def LAPACK_zgelsy LAPACK_GLOBAL(zgelsy,ZGELSY) 724 | #def LAPACK_sgelss LAPACK_GLOBAL(sgelss,SGELSS) 725 | #def LAPACK_dgelss LAPACK_GLOBAL(dgelss,DGELSS) 726 | #def LAPACK_cgelss LAPACK_GLOBAL(cgelss,CGELSS) 727 | #def LAPACK_zgelss LAPACK_GLOBAL(zgelss,ZGELSS) 728 | #def LAPACK_sgelsd LAPACK_GLOBAL(sgelsd,SGELSD) 729 | #def LAPACK_dgelsd LAPACK_GLOBAL(dgelsd,DGELSD) 730 | #def LAPACK_cgelsd LAPACK_GLOBAL(cgelsd,CGELSD) 731 | #def LAPACK_zgelsd LAPACK_GLOBAL(zgelsd,ZGELSD) 732 | #def LAPACK_sgglse LAPACK_GLOBAL(sgglse,SGGLSE) 733 | #def LAPACK_dgglse LAPACK_GLOBAL(dgglse,DGGLSE) 734 | #def LAPACK_cgglse LAPACK_GLOBAL(cgglse,CGGLSE) 735 | #def LAPACK_zgglse LAPACK_GLOBAL(zgglse,ZGGLSE) 736 | #def LAPACK_sggglm LAPACK_GLOBAL(sggglm,SGGGLM) 737 | #def LAPACK_dggglm LAPACK_GLOBAL(dggglm,DGGGLM) 738 | #def LAPACK_cggglm LAPACK_GLOBAL(cggglm,CGGGLM) 739 | #def LAPACK_zggglm LAPACK_GLOBAL(zggglm,ZGGGLM) 740 | #def LAPACK_ssyev LAPACK_GLOBAL(ssyev,SSYEV) 741 | #def LAPACK_dsyev LAPACK_GLOBAL(dsyev,DSYEV) 742 | #def LAPACK_cheev LAPACK_GLOBAL(cheev,CHEEV) 743 | #def LAPACK_zheev LAPACK_GLOBAL(zheev,ZHEEV) 744 | #def LAPACK_ssyevd LAPACK_GLOBAL(ssyevd,SSYEVD) 745 | #def LAPACK_dsyevd LAPACK_GLOBAL(dsyevd,DSYEVD) 746 | #def LAPACK_cheevd LAPACK_GLOBAL(cheevd,CHEEVD) 747 | #def LAPACK_zheevd LAPACK_GLOBAL(zheevd,ZHEEVD) 748 | #def LAPACK_ssyevx LAPACK_GLOBAL(ssyevx,SSYEVX) 749 | #def LAPACK_dsyevx LAPACK_GLOBAL(dsyevx,DSYEVX) 750 | #def LAPACK_cheevx LAPACK_GLOBAL(cheevx,CHEEVX) 751 | #def LAPACK_zheevx LAPACK_GLOBAL(zheevx,ZHEEVX) 752 | #def LAPACK_ssyevr LAPACK_GLOBAL(ssyevr,SSYEVR) 753 | #def LAPACK_dsyevr LAPACK_GLOBAL(dsyevr,DSYEVR) 754 | #def LAPACK_cheevr LAPACK_GLOBAL(cheevr,CHEEVR) 755 | #def LAPACK_zheevr LAPACK_GLOBAL(zheevr,ZHEEVR) 756 | #def LAPACK_sspev LAPACK_GLOBAL(sspev,SSPEV) 757 | #def LAPACK_dspev LAPACK_GLOBAL(dspev,DSPEV) 758 | #def LAPACK_chpev LAPACK_GLOBAL(chpev,CHPEV) 759 | #def LAPACK_zhpev LAPACK_GLOBAL(zhpev,ZHPEV) 760 | #def LAPACK_sspevd LAPACK_GLOBAL(sspevd,SSPEVD) 761 | #def LAPACK_dspevd LAPACK_GLOBAL(dspevd,DSPEVD) 762 | #def LAPACK_chpevd LAPACK_GLOBAL(chpevd,CHPEVD) 763 | #def LAPACK_zhpevd LAPACK_GLOBAL(zhpevd,ZHPEVD) 764 | #def LAPACK_sspevx LAPACK_GLOBAL(sspevx,SSPEVX) 765 | #def LAPACK_dspevx LAPACK_GLOBAL(dspevx,DSPEVX) 766 | #def LAPACK_chpevx LAPACK_GLOBAL(chpevx,CHPEVX) 767 | #def LAPACK_zhpevx LAPACK_GLOBAL(zhpevx,ZHPEVX) 768 | #def LAPACK_ssbev LAPACK_GLOBAL(ssbev,SSBEV) 769 | #def LAPACK_dsbev LAPACK_GLOBAL(dsbev,DSBEV) 770 | #def LAPACK_chbev LAPACK_GLOBAL(chbev,CHBEV) 771 | #def LAPACK_zhbev LAPACK_GLOBAL(zhbev,ZHBEV) 772 | #def LAPACK_ssbevd LAPACK_GLOBAL(ssbevd,SSBEVD) 773 | #def LAPACK_dsbevd LAPACK_GLOBAL(dsbevd,DSBEVD) 774 | #def LAPACK_chbevd LAPACK_GLOBAL(chbevd,CHBEVD) 775 | #def LAPACK_zhbevd LAPACK_GLOBAL(zhbevd,ZHBEVD) 776 | #def LAPACK_ssbevx LAPACK_GLOBAL(ssbevx,SSBEVX) 777 | #def LAPACK_dsbevx LAPACK_GLOBAL(dsbevx,DSBEVX) 778 | #def LAPACK_chbevx LAPACK_GLOBAL(chbevx,CHBEVX) 779 | #def LAPACK_zhbevx LAPACK_GLOBAL(zhbevx,ZHBEVX) 780 | #def LAPACK_sstev LAPACK_GLOBAL(sstev,SSTEV) 781 | #def LAPACK_dstev LAPACK_GLOBAL(dstev,DSTEV) 782 | #def LAPACK_sstevd LAPACK_GLOBAL(sstevd,SSTEVD) 783 | #def LAPACK_dstevd LAPACK_GLOBAL(dstevd,DSTEVD) 784 | #def LAPACK_sstevx LAPACK_GLOBAL(sstevx,SSTEVX) 785 | #def LAPACK_dstevx LAPACK_GLOBAL(dstevx,DSTEVX) 786 | #def LAPACK_sstevr LAPACK_GLOBAL(sstevr,SSTEVR) 787 | #def LAPACK_dstevr LAPACK_GLOBAL(dstevr,DSTEVR) 788 | #def LAPACK_sgees LAPACK_GLOBAL(sgees,SGEES) 789 | #def LAPACK_dgees LAPACK_GLOBAL(dgees,DGEES) 790 | #def LAPACK_cgees LAPACK_GLOBAL(cgees,CGEES) 791 | #def LAPACK_zgees LAPACK_GLOBAL(zgees,ZGEES) 792 | #def LAPACK_sgeesx LAPACK_GLOBAL(sgeesx,SGEESX) 793 | #def LAPACK_dgeesx LAPACK_GLOBAL(dgeesx,DGEESX) 794 | #def LAPACK_cgeesx LAPACK_GLOBAL(cgeesx,CGEESX) 795 | #def LAPACK_zgeesx LAPACK_GLOBAL(zgeesx,ZGEESX) 796 | #def LAPACK_sgeev LAPACK_GLOBAL(sgeev,SGEEV) 797 | #def LAPACK_dgeev LAPACK_GLOBAL(dgeev,DGEEV) 798 | #def LAPACK_cgeev LAPACK_GLOBAL(cgeev,CGEEV) 799 | #def LAPACK_zgeev LAPACK_GLOBAL(zgeev,ZGEEV) 800 | #def LAPACK_sgeevx LAPACK_GLOBAL(sgeevx,SGEEVX) 801 | #def LAPACK_dgeevx LAPACK_GLOBAL(dgeevx,DGEEVX) 802 | #def LAPACK_cgeevx LAPACK_GLOBAL(cgeevx,CGEEVX) 803 | #def LAPACK_zgeevx LAPACK_GLOBAL(zgeevx,ZGEEVX) 804 | #def LAPACK_sgesvd LAPACK_GLOBAL(sgesvd,SGESVD) 805 | #def LAPACK_dgesvd LAPACK_GLOBAL(dgesvd,DGESVD) 806 | #def LAPACK_cgesvd LAPACK_GLOBAL(cgesvd,CGESVD) 807 | #def LAPACK_zgesvd LAPACK_GLOBAL(zgesvd,ZGESVD) 808 | #def LAPACK_sgesdd LAPACK_GLOBAL(sgesdd,SGESDD) 809 | #def LAPACK_dgesdd LAPACK_GLOBAL(dgesdd,DGESDD) 810 | #def LAPACK_cgesdd LAPACK_GLOBAL(cgesdd,CGESDD) 811 | #def LAPACK_zgesdd LAPACK_GLOBAL(zgesdd,ZGESDD) 812 | #def LAPACK_dgejsv LAPACK_GLOBAL(dgejsv,DGEJSV) 813 | #def LAPACK_sgejsv LAPACK_GLOBAL(sgejsv,SGEJSV) 814 | #def LAPACK_dgesvj LAPACK_GLOBAL(dgesvj,DGESVJ) 815 | #def LAPACK_sgesvj LAPACK_GLOBAL(sgesvj,SGESVJ) 816 | #def LAPACK_sggsvd LAPACK_GLOBAL(sggsvd,SGGSVD) 817 | #def LAPACK_dggsvd LAPACK_GLOBAL(dggsvd,DGGSVD) 818 | #def LAPACK_cggsvd LAPACK_GLOBAL(cggsvd,CGGSVD) 819 | #def LAPACK_zggsvd LAPACK_GLOBAL(zggsvd,ZGGSVD) 820 | #def LAPACK_ssygv LAPACK_GLOBAL(ssygv,SSYGV) 821 | #def LAPACK_dsygv LAPACK_GLOBAL(dsygv,DSYGV) 822 | #def LAPACK_chegv LAPACK_GLOBAL(chegv,CHEGV) 823 | #def LAPACK_zhegv LAPACK_GLOBAL(zhegv,ZHEGV) 824 | #def LAPACK_ssygvd LAPACK_GLOBAL(ssygvd,SSYGVD) 825 | #def LAPACK_dsygvd LAPACK_GLOBAL(dsygvd,DSYGVD) 826 | #def LAPACK_chegvd LAPACK_GLOBAL(chegvd,CHEGVD) 827 | #def LAPACK_zhegvd LAPACK_GLOBAL(zhegvd,ZHEGVD) 828 | #def LAPACK_ssygvx LAPACK_GLOBAL(ssygvx,SSYGVX) 829 | #def LAPACK_dsygvx LAPACK_GLOBAL(dsygvx,DSYGVX) 830 | #def LAPACK_chegvx LAPACK_GLOBAL(chegvx,CHEGVX) 831 | #def LAPACK_zhegvx LAPACK_GLOBAL(zhegvx,ZHEGVX) 832 | #def LAPACK_sspgv LAPACK_GLOBAL(sspgv,SSPGV) 833 | #def LAPACK_dspgv LAPACK_GLOBAL(dspgv,DSPGV) 834 | #def LAPACK_chpgv LAPACK_GLOBAL(chpgv,CHPGV) 835 | #def LAPACK_zhpgv LAPACK_GLOBAL(zhpgv,ZHPGV) 836 | #def LAPACK_sspgvd LAPACK_GLOBAL(sspgvd,SSPGVD) 837 | #def LAPACK_dspgvd LAPACK_GLOBAL(dspgvd,DSPGVD) 838 | #def LAPACK_chpgvd LAPACK_GLOBAL(chpgvd,CHPGVD) 839 | #def LAPACK_zhpgvd LAPACK_GLOBAL(zhpgvd,ZHPGVD) 840 | #def LAPACK_sspgvx LAPACK_GLOBAL(sspgvx,SSPGVX) 841 | #def LAPACK_dspgvx LAPACK_GLOBAL(dspgvx,DSPGVX) 842 | #def LAPACK_chpgvx LAPACK_GLOBAL(chpgvx,CHPGVX) 843 | #def LAPACK_zhpgvx LAPACK_GLOBAL(zhpgvx,ZHPGVX) 844 | #def LAPACK_ssbgv LAPACK_GLOBAL(ssbgv,SSBGV) 845 | #def LAPACK_dsbgv LAPACK_GLOBAL(dsbgv,DSBGV) 846 | #def LAPACK_chbgv LAPACK_GLOBAL(chbgv,CHBGV) 847 | #def LAPACK_zhbgv LAPACK_GLOBAL(zhbgv,ZHBGV) 848 | #def LAPACK_ssbgvd LAPACK_GLOBAL(ssbgvd,SSBGVD) 849 | #def LAPACK_dsbgvd LAPACK_GLOBAL(dsbgvd,DSBGVD) 850 | #def LAPACK_chbgvd LAPACK_GLOBAL(chbgvd,CHBGVD) 851 | #def LAPACK_zhbgvd LAPACK_GLOBAL(zhbgvd,ZHBGVD) 852 | #def LAPACK_ssbgvx LAPACK_GLOBAL(ssbgvx,SSBGVX) 853 | #def LAPACK_dsbgvx LAPACK_GLOBAL(dsbgvx,DSBGVX) 854 | #def LAPACK_chbgvx LAPACK_GLOBAL(chbgvx,CHBGVX) 855 | #def LAPACK_zhbgvx LAPACK_GLOBAL(zhbgvx,ZHBGVX) 856 | #def LAPACK_sgges LAPACK_GLOBAL(sgges,SGGES) 857 | #def LAPACK_dgges LAPACK_GLOBAL(dgges,DGGES) 858 | #def LAPACK_cgges LAPACK_GLOBAL(cgges,CGGES) 859 | #def LAPACK_zgges LAPACK_GLOBAL(zgges,ZGGES) 860 | #def LAPACK_sggesx LAPACK_GLOBAL(sggesx,SGGESX) 861 | #def LAPACK_dggesx LAPACK_GLOBAL(dggesx,DGGESX) 862 | #def LAPACK_cggesx LAPACK_GLOBAL(cggesx,CGGESX) 863 | #def LAPACK_zggesx LAPACK_GLOBAL(zggesx,ZGGESX) 864 | #def LAPACK_sggev LAPACK_GLOBAL(sggev,SGGEV) 865 | #def LAPACK_dggev LAPACK_GLOBAL(dggev,DGGEV) 866 | #def LAPACK_cggev LAPACK_GLOBAL(cggev,CGGEV) 867 | #def LAPACK_zggev LAPACK_GLOBAL(zggev,ZGGEV) 868 | #def LAPACK_sggevx LAPACK_GLOBAL(sggevx,SGGEVX) 869 | #def LAPACK_dggevx LAPACK_GLOBAL(dggevx,DGGEVX) 870 | #def LAPACK_cggevx LAPACK_GLOBAL(cggevx,CGGEVX) 871 | #def LAPACK_zggevx LAPACK_GLOBAL(zggevx,ZGGEVX) 872 | #def LAPACK_dsfrk LAPACK_GLOBAL(dsfrk,DSFRK) 873 | #def LAPACK_ssfrk LAPACK_GLOBAL(ssfrk,SSFRK) 874 | #def LAPACK_zhfrk LAPACK_GLOBAL(zhfrk,ZHFRK) 875 | #def LAPACK_chfrk LAPACK_GLOBAL(chfrk,CHFRK) 876 | #def LAPACK_dtfsm LAPACK_GLOBAL(dtfsm,DTFSM) 877 | #def LAPACK_stfsm LAPACK_GLOBAL(stfsm,STFSM) 878 | #def LAPACK_ztfsm LAPACK_GLOBAL(ztfsm,ZTFSM) 879 | #def LAPACK_ctfsm LAPACK_GLOBAL(ctfsm,CTFSM) 880 | #def LAPACK_dtfttp LAPACK_GLOBAL(dtfttp,DTFTTP) 881 | #def LAPACK_stfttp LAPACK_GLOBAL(stfttp,STFTTP) 882 | #def LAPACK_ztfttp LAPACK_GLOBAL(ztfttp,ZTFTTP) 883 | #def LAPACK_ctfttp LAPACK_GLOBAL(ctfttp,CTFTTP) 884 | #def LAPACK_dtfttr LAPACK_GLOBAL(dtfttr,DTFTTR) 885 | #def LAPACK_stfttr LAPACK_GLOBAL(stfttr,STFTTR) 886 | #def LAPACK_ztfttr LAPACK_GLOBAL(ztfttr,ZTFTTR) 887 | #def LAPACK_ctfttr LAPACK_GLOBAL(ctfttr,CTFTTR) 888 | #def LAPACK_dtpttf LAPACK_GLOBAL(dtpttf,DTPTTF) 889 | #def LAPACK_stpttf LAPACK_GLOBAL(stpttf,STPTTF) 890 | #def LAPACK_ztpttf LAPACK_GLOBAL(ztpttf,ZTPTTF) 891 | #def LAPACK_ctpttf LAPACK_GLOBAL(ctpttf,CTPTTF) 892 | #def LAPACK_dtpttr LAPACK_GLOBAL(dtpttr,DTPTTR) 893 | #def LAPACK_stpttr LAPACK_GLOBAL(stpttr,STPTTR) 894 | #def LAPACK_ztpttr LAPACK_GLOBAL(ztpttr,ZTPTTR) 895 | #def LAPACK_ctpttr LAPACK_GLOBAL(ctpttr,CTPTTR) 896 | #def LAPACK_dtrttf LAPACK_GLOBAL(dtrttf,DTRTTF) 897 | #def LAPACK_strttf LAPACK_GLOBAL(strttf,STRTTF) 898 | #def LAPACK_ztrttf LAPACK_GLOBAL(ztrttf,ZTRTTF) 899 | #def LAPACK_ctrttf LAPACK_GLOBAL(ctrttf,CTRTTF) 900 | #def LAPACK_dtrttp LAPACK_GLOBAL(dtrttp,DTRTTP) 901 | #def LAPACK_strttp LAPACK_GLOBAL(strttp,STRTTP) 902 | #def LAPACK_ztrttp LAPACK_GLOBAL(ztrttp,ZTRTTP) 903 | #def LAPACK_ctrttp LAPACK_GLOBAL(ctrttp,CTRTTP) 904 | #def LAPACK_sgeqrfp LAPACK_GLOBAL(sgeqrfp,SGEQRFP) 905 | #def LAPACK_dgeqrfp LAPACK_GLOBAL(dgeqrfp,DGEQRFP) 906 | #def LAPACK_cgeqrfp LAPACK_GLOBAL(cgeqrfp,CGEQRFP) 907 | #def LAPACK_zgeqrfp LAPACK_GLOBAL(zgeqrfp,ZGEQRFP) 908 | #def LAPACK_clacgv LAPACK_GLOBAL(clacgv,CLACGV) 909 | #def LAPACK_zlacgv LAPACK_GLOBAL(zlacgv,ZLACGV) 910 | #def LAPACK_slarnv LAPACK_GLOBAL(slarnv,SLARNV) 911 | #def LAPACK_dlarnv LAPACK_GLOBAL(dlarnv,DLARNV) 912 | #def LAPACK_clarnv LAPACK_GLOBAL(clarnv,CLARNV) 913 | #def LAPACK_zlarnv LAPACK_GLOBAL(zlarnv,ZLARNV) 914 | #def LAPACK_sgeqr2 LAPACK_GLOBAL(sgeqr2,SGEQR2) 915 | #def LAPACK_dgeqr2 LAPACK_GLOBAL(dgeqr2,DGEQR2) 916 | #def LAPACK_cgeqr2 LAPACK_GLOBAL(cgeqr2,CGEQR2) 917 | #def LAPACK_zgeqr2 LAPACK_GLOBAL(zgeqr2,ZGEQR2) 918 | #def LAPACK_slacn2 LAPACK_GLOBAL(slacn2,SLACN2) 919 | #def LAPACK_dlacn2 LAPACK_GLOBAL(dlacn2,DLACN2) 920 | #def LAPACK_clacn2 LAPACK_GLOBAL(clacn2,CLACN2) 921 | #def LAPACK_zlacn2 LAPACK_GLOBAL(zlacn2,ZLACN2) 922 | #def LAPACK_slacpy LAPACK_GLOBAL(slacpy,SLACPY) 923 | #def LAPACK_dlacpy LAPACK_GLOBAL(dlacpy,DLACPY) 924 | #def LAPACK_clacpy LAPACK_GLOBAL(clacpy,CLACPY) 925 | #def LAPACK_zlacpy LAPACK_GLOBAL(zlacpy,ZLACPY) 926 | #def LAPACK_clacp2 LAPACK_GLOBAL(clacp2,CLACP2) 927 | #def LAPACK_zlacp2 LAPACK_GLOBAL(zlacp2,ZLACP2) 928 | #def LAPACK_sgetf2 LAPACK_GLOBAL(sgetf2,SGETF2) 929 | #def LAPACK_dgetf2 LAPACK_GLOBAL(dgetf2,DGETF2) 930 | #def LAPACK_cgetf2 LAPACK_GLOBAL(cgetf2,CGETF2) 931 | #def LAPACK_zgetf2 LAPACK_GLOBAL(zgetf2,ZGETF2) 932 | #def LAPACK_slaswp LAPACK_GLOBAL(slaswp,SLASWP) 933 | #def LAPACK_dlaswp LAPACK_GLOBAL(dlaswp,DLASWP) 934 | #def LAPACK_claswp LAPACK_GLOBAL(claswp,CLASWP) 935 | #def LAPACK_zlaswp LAPACK_GLOBAL(zlaswp,ZLASWP) 936 | #def LAPACK_slange LAPACK_GLOBAL(slange,SLANGE) 937 | #def LAPACK_dlange LAPACK_GLOBAL(dlange,DLANGE) 938 | #def LAPACK_clange LAPACK_GLOBAL(clange,CLANGE) 939 | #def LAPACK_zlange LAPACK_GLOBAL(zlange,ZLANGE) 940 | #def LAPACK_clanhe LAPACK_GLOBAL(clanhe,CLANHE) 941 | #def LAPACK_zlanhe LAPACK_GLOBAL(zlanhe,ZLANHE) 942 | #def LAPACK_slansy LAPACK_GLOBAL(slansy,SLANSY) 943 | #def LAPACK_dlansy LAPACK_GLOBAL(dlansy,DLANSY) 944 | #def LAPACK_clansy LAPACK_GLOBAL(clansy,CLANSY) 945 | #def LAPACK_zlansy LAPACK_GLOBAL(zlansy,ZLANSY) 946 | #def LAPACK_slantr LAPACK_GLOBAL(slantr,SLANTR) 947 | #def LAPACK_dlantr LAPACK_GLOBAL(dlantr,DLANTR) 948 | #def LAPACK_clantr LAPACK_GLOBAL(clantr,CLANTR) 949 | #def LAPACK_zlantr LAPACK_GLOBAL(zlantr,ZLANTR) 950 | #def LAPACK_slamch LAPACK_GLOBAL(slamch,SLAMCH) 951 | #def LAPACK_dlamch LAPACK_GLOBAL(dlamch,DLAMCH) 952 | #def LAPACK_sgelq2 LAPACK_GLOBAL(sgelq2,SGELQ2) 953 | #def LAPACK_dgelq2 LAPACK_GLOBAL(dgelq2,DGELQ2) 954 | #def LAPACK_cgelq2 LAPACK_GLOBAL(cgelq2,CGELQ2) 955 | #def LAPACK_zgelq2 LAPACK_GLOBAL(zgelq2,ZGELQ2) 956 | #def LAPACK_slarfb LAPACK_GLOBAL(slarfb,SLARFB) 957 | #def LAPACK_dlarfb LAPACK_GLOBAL(dlarfb,DLARFB) 958 | #def LAPACK_clarfb LAPACK_GLOBAL(clarfb,CLARFB) 959 | #def LAPACK_zlarfb LAPACK_GLOBAL(zlarfb,ZLARFB) 960 | #def LAPACK_slarfg LAPACK_GLOBAL(slarfg,SLARFG) 961 | #def LAPACK_dlarfg LAPACK_GLOBAL(dlarfg,DLARFG) 962 | #def LAPACK_clarfg LAPACK_GLOBAL(clarfg,CLARFG) 963 | #def LAPACK_zlarfg LAPACK_GLOBAL(zlarfg,ZLARFG) 964 | #def LAPACK_slarft LAPACK_GLOBAL(slarft,SLARFT) 965 | #def LAPACK_dlarft LAPACK_GLOBAL(dlarft,DLARFT) 966 | #def LAPACK_clarft LAPACK_GLOBAL(clarft,CLARFT) 967 | #def LAPACK_zlarft LAPACK_GLOBAL(zlarft,ZLARFT) 968 | #def LAPACK_slarfx LAPACK_GLOBAL(slarfx,SLARFX) 969 | #def LAPACK_dlarfx LAPACK_GLOBAL(dlarfx,DLARFX) 970 | #def LAPACK_clarfx LAPACK_GLOBAL(clarfx,CLARFX) 971 | #def LAPACK_zlarfx LAPACK_GLOBAL(zlarfx,ZLARFX) 972 | #def LAPACK_slatms LAPACK_GLOBAL(slatms,SLATMS) 973 | #def LAPACK_dlatms LAPACK_GLOBAL(dlatms,DLATMS) 974 | #def LAPACK_clatms LAPACK_GLOBAL(clatms,CLATMS) 975 | #def LAPACK_zlatms LAPACK_GLOBAL(zlatms,ZLATMS) 976 | #def LAPACK_slag2d LAPACK_GLOBAL(slag2d,SLAG2D) 977 | #def LAPACK_dlag2s LAPACK_GLOBAL(dlag2s,DLAG2S) 978 | #def LAPACK_clag2z LAPACK_GLOBAL(clag2z,CLAG2Z) 979 | #def LAPACK_zlag2c LAPACK_GLOBAL(zlag2c,ZLAG2C) 980 | #def LAPACK_slauum LAPACK_GLOBAL(slauum,SLAUUM) 981 | #def LAPACK_dlauum LAPACK_GLOBAL(dlauum,DLAUUM) 982 | #def LAPACK_clauum LAPACK_GLOBAL(clauum,CLAUUM) 983 | #def LAPACK_zlauum LAPACK_GLOBAL(zlauum,ZLAUUM) 984 | #def LAPACK_slagge LAPACK_GLOBAL(slagge,SLAGGE) 985 | #def LAPACK_dlagge LAPACK_GLOBAL(dlagge,DLAGGE) 986 | #def LAPACK_clagge LAPACK_GLOBAL(clagge,CLAGGE) 987 | #def LAPACK_zlagge LAPACK_GLOBAL(zlagge,ZLAGGE) 988 | #def LAPACK_slaset LAPACK_GLOBAL(slaset,SLASET) 989 | #def LAPACK_dlaset LAPACK_GLOBAL(dlaset,DLASET) 990 | #def LAPACK_claset LAPACK_GLOBAL(claset,CLASET) 991 | #def LAPACK_zlaset LAPACK_GLOBAL(zlaset,ZLASET) 992 | #def LAPACK_slasrt LAPACK_GLOBAL(slasrt,SLASRT) 993 | #def LAPACK_dlasrt LAPACK_GLOBAL(dlasrt,DLASRT) 994 | #def LAPACK_slagsy LAPACK_GLOBAL(slagsy,SLAGSY) 995 | #def LAPACK_dlagsy LAPACK_GLOBAL(dlagsy,DLAGSY) 996 | #def LAPACK_clagsy LAPACK_GLOBAL(clagsy,CLAGSY) 997 | #def LAPACK_zlagsy LAPACK_GLOBAL(zlagsy,ZLAGSY) 998 | #def LAPACK_claghe LAPACK_GLOBAL(claghe,CLAGHE) 999 | #def LAPACK_zlaghe LAPACK_GLOBAL(zlaghe,ZLAGHE) 1000 | #def LAPACK_slapmr LAPACK_GLOBAL(slapmr,SLAPMR) 1001 | #def LAPACK_dlapmr LAPACK_GLOBAL(dlapmr,DLAPMR) 1002 | #def LAPACK_clapmr LAPACK_GLOBAL(clapmr,CLAPMR) 1003 | #def LAPACK_zlapmr LAPACK_GLOBAL(zlapmr,ZLAPMR) 1004 | #def LAPACK_slapy2 LAPACK_GLOBAL(slapy2,SLAPY2) 1005 | #def LAPACK_dlapy2 LAPACK_GLOBAL(dlapy2,DLAPY2) 1006 | #def LAPACK_slapy3 LAPACK_GLOBAL(slapy3,SLAPY3) 1007 | #def LAPACK_dlapy3 LAPACK_GLOBAL(dlapy3,DLAPY3) 1008 | #def LAPACK_slartgp LAPACK_GLOBAL(slartgp,SLARTGP) 1009 | #def LAPACK_dlartgp LAPACK_GLOBAL(dlartgp,DLARTGP) 1010 | #def LAPACK_slartgs LAPACK_GLOBAL(slartgs,SLARTGS) 1011 | #def LAPACK_dlartgs LAPACK_GLOBAL(dlartgs,DLARTGS) 1012 | // LAPACK 3.3.0 1013 | #def LAPACK_cbbcsd LAPACK_GLOBAL(cbbcsd,CBBCSD) 1014 | #def LAPACK_cheswapr LAPACK_GLOBAL(cheswapr,CHESWAPR) 1015 | #def LAPACK_chetri2 LAPACK_GLOBAL(chetri2,CHETRI2) 1016 | #def LAPACK_chetri2x LAPACK_GLOBAL(chetri2x,CHETRI2X) 1017 | #def LAPACK_chetrs2 LAPACK_GLOBAL(chetrs2,CHETRS2) 1018 | #def LAPACK_csyconv LAPACK_GLOBAL(csyconv,CSYCONV) 1019 | #def LAPACK_csyswapr LAPACK_GLOBAL(csyswapr,CSYSWAPR) 1020 | #def LAPACK_csytri2 LAPACK_GLOBAL(csytri2,CSYTRI2) 1021 | #def LAPACK_csytri2x LAPACK_GLOBAL(csytri2x,CSYTRI2X) 1022 | #def LAPACK_csytrs2 LAPACK_GLOBAL(csytrs2,CSYTRS2) 1023 | #def LAPACK_cunbdb LAPACK_GLOBAL(cunbdb,CUNBDB) 1024 | #def LAPACK_cuncsd LAPACK_GLOBAL(cuncsd,CUNCSD) 1025 | #def LAPACK_dbbcsd LAPACK_GLOBAL(dbbcsd,DBBCSD) 1026 | #def LAPACK_dorbdb LAPACK_GLOBAL(dorbdb,DORBDB) 1027 | #def LAPACK_dorcsd LAPACK_GLOBAL(dorcsd,DORCSD) 1028 | #def LAPACK_dsyconv LAPACK_GLOBAL(dsyconv,DSYCONV) 1029 | #def LAPACK_dsyswapr LAPACK_GLOBAL(dsyswapr,DSYSWAPR) 1030 | #def LAPACK_dsytri2 LAPACK_GLOBAL(dsytri2,DSYTRI2) 1031 | #def LAPACK_dsytri2x LAPACK_GLOBAL(dsytri2x,DSYTRI2X) 1032 | #def LAPACK_dsytrs2 LAPACK_GLOBAL(dsytrs2,DSYTRS2) 1033 | #def LAPACK_sbbcsd LAPACK_GLOBAL(sbbcsd,SBBCSD) 1034 | #def LAPACK_sorbdb LAPACK_GLOBAL(sorbdb,SORBDB) 1035 | #def LAPACK_sorcsd LAPACK_GLOBAL(sorcsd,SORCSD) 1036 | #def LAPACK_ssyconv LAPACK_GLOBAL(ssyconv,SSYCONV) 1037 | #def LAPACK_ssyswapr LAPACK_GLOBAL(ssyswapr,SSYSWAPR) 1038 | #def LAPACK_ssytri2 LAPACK_GLOBAL(ssytri2,SSYTRI2) 1039 | #def LAPACK_ssytri2x LAPACK_GLOBAL(ssytri2x,SSYTRI2X) 1040 | #def LAPACK_ssytrs2 LAPACK_GLOBAL(ssytrs2,SSYTRS2) 1041 | #def LAPACK_zbbcsd LAPACK_GLOBAL(zbbcsd,ZBBCSD) 1042 | #def LAPACK_zheswapr LAPACK_GLOBAL(zheswapr,ZHESWAPR) 1043 | #def LAPACK_zhetri2 LAPACK_GLOBAL(zhetri2,ZHETRI2) 1044 | #def LAPACK_zhetri2x LAPACK_GLOBAL(zhetri2x,ZHETRI2X) 1045 | #def LAPACK_zhetrs2 LAPACK_GLOBAL(zhetrs2,ZHETRS2) 1046 | #def LAPACK_zsyconv LAPACK_GLOBAL(zsyconv,ZSYCONV) 1047 | #def LAPACK_zsyswapr LAPACK_GLOBAL(zsyswapr,ZSYSWAPR) 1048 | #def LAPACK_zsytri2 LAPACK_GLOBAL(zsytri2,ZSYTRI2) 1049 | #def LAPACK_zsytri2x LAPACK_GLOBAL(zsytri2x,ZSYTRI2X) 1050 | #def LAPACK_zsytrs2 LAPACK_GLOBAL(zsytrs2,ZSYTRS2) 1051 | #def LAPACK_zunbdb LAPACK_GLOBAL(zunbdb,ZUNBDB) 1052 | #def LAPACK_zuncsd LAPACK_GLOBAL(zuncsd,ZUNCSD) 1053 | // LAPACK 3.4.0 1054 | #def LAPACK_sgemqrt LAPACK_GLOBAL(sgemqrt,SGEMQRT) 1055 | #def LAPACK_dgemqrt LAPACK_GLOBAL(dgemqrt,DGEMQRT) 1056 | #def LAPACK_cgemqrt LAPACK_GLOBAL(cgemqrt,CGEMQRT) 1057 | #def LAPACK_zgemqrt LAPACK_GLOBAL(zgemqrt,ZGEMQRT) 1058 | #def LAPACK_sgeqrt LAPACK_GLOBAL(sgeqrt,SGEQRT) 1059 | #def LAPACK_dgeqrt LAPACK_GLOBAL(dgeqrt,DGEQRT) 1060 | #def LAPACK_cgeqrt LAPACK_GLOBAL(cgeqrt,CGEQRT) 1061 | #def LAPACK_zgeqrt LAPACK_GLOBAL(zgeqrt,ZGEQRT) 1062 | #def LAPACK_sgeqrt2 LAPACK_GLOBAL(sgeqrt2,SGEQRT2) 1063 | #def LAPACK_dgeqrt2 LAPACK_GLOBAL(dgeqrt2,DGEQRT2) 1064 | #def LAPACK_cgeqrt2 LAPACK_GLOBAL(cgeqrt2,CGEQRT2) 1065 | #def LAPACK_zgeqrt2 LAPACK_GLOBAL(zgeqrt2,ZGEQRT2) 1066 | #def LAPACK_sgeqrt3 LAPACK_GLOBAL(sgeqrt3,SGEQRT3) 1067 | #def LAPACK_dgeqrt3 LAPACK_GLOBAL(dgeqrt3,DGEQRT3) 1068 | #def LAPACK_cgeqrt3 LAPACK_GLOBAL(cgeqrt3,CGEQRT3) 1069 | #def LAPACK_zgeqrt3 LAPACK_GLOBAL(zgeqrt3,ZGEQRT3) 1070 | #def LAPACK_stpmqrt LAPACK_GLOBAL(stpmqrt,STPMQRT) 1071 | #def LAPACK_dtpmqrt LAPACK_GLOBAL(dtpmqrt,DTPMQRT) 1072 | #def LAPACK_ctpmqrt LAPACK_GLOBAL(ctpmqrt,CTPMQRT) 1073 | #def LAPACK_ztpmqrt LAPACK_GLOBAL(ztpmqrt,ZTPMQRT) 1074 | #def LAPACK_dtpqrt LAPACK_GLOBAL(dtpqrt,DTPQRT) 1075 | #def LAPACK_ctpqrt LAPACK_GLOBAL(ctpqrt,CTPQRT) 1076 | #def LAPACK_ztpqrt LAPACK_GLOBAL(ztpqrt,ZTPQRT) 1077 | #def LAPACK_stpqrt2 LAPACK_GLOBAL(stpqrt2,STPQRT2) 1078 | #def LAPACK_dtpqrt2 LAPACK_GLOBAL(dtpqrt2,DTPQRT2) 1079 | #def LAPACK_ctpqrt2 LAPACK_GLOBAL(ctpqrt2,CTPQRT2) 1080 | #def LAPACK_ztpqrt2 LAPACK_GLOBAL(ztpqrt2,ZTPQRT2) 1081 | #def LAPACK_stprfb LAPACK_GLOBAL(stprfb,STPRFB) 1082 | #def LAPACK_dtprfb LAPACK_GLOBAL(dtprfb,DTPRFB) 1083 | #def LAPACK_ctprfb LAPACK_GLOBAL(ctprfb,CTPRFB) 1084 | #def LAPACK_ztprfb LAPACK_GLOBAL(ztprfb,ZTPRFB) 1085 | // LAPACK 3.X.X 1086 | #def LAPACK_ssysv_rook LAPACK_GLOBAL(ssysv_rook,SSYSV_ROOK) 1087 | #def LAPACK_dsysv_rook LAPACK_GLOBAL(dsysv_rook,DSYSV_ROOK) 1088 | #def LAPACK_csysv_rook LAPACK_GLOBAL(csysv_rook,CSYSV_ROOK) 1089 | #def LAPACK_zsysv_rook LAPACK_GLOBAL(zsysv_rook,ZSYSV_ROOK) 1090 | #def LAPACK_csyr LAPACK_GLOBAL(csyr,CSYR) 1091 | #def LAPACK_zsyr LAPACK_GLOBAL(zsyr,ZSYR) 1092 | #def LAPACK_ilaver LAPACK_GLOBAL(ilaver,ILAVER) 1093 | 1094 | #endif 1095 | 1096 | -------------------------------------------------------------------------------- /nimlapack.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Module nimlapack 20 | 1165 | 1166 | 1167 | 1168 | 1193 | 1194 | 1195 | 1196 |
1197 |
1198 |

Module nimlapack

1199 |
1200 |
1201 |
1202 | Search: 1204 |
1205 |
1206 | Group by: 1207 | 1211 |
1212 | 1371 | 1372 |
1373 |
1374 |
1375 |

1376 |
1377 |

Imports

1378 |
1379 | nimblas/cblas 1380 |
1381 |
1382 |

Procs

1383 |
1384 |
proc sgesv(Order: CBLAS_ORDER; N: cint; NRHS: cint; A: ptr cfloat; lda: cint;
1385 |           ipiv: ptr cint; B: ptr cfloat; ldb: cint): cint {.
cdecl, 1386 | importc: "clapack_sgesv", dynlib: libName
.}
1387 |
1388 | 1389 |   Source 1392 | Edit 1393 | 1394 |
1395 |
proc sgetrf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cfloat; lda: cint; ipiv: ptr cint): cint {.
1396 | cdecl, importc: "clapack_sgetrf", dynlib: libName
.}
1397 |
1398 | 1399 |   Source 1402 | Edit 1403 | 1404 |
1405 |
proc sgetrs(Order: CBLAS_ORDER; Trans: CBLAS_TRANSPOSE; N: cint; NRHS: cint;
1406 |            A: ptr cfloat; lda: cint; ipiv: ptr cint; B: ptr cfloat; ldb: cint): cint {.
cdecl, 1407 | importc: "clapack_sgetrs", dynlib: libName
.}
1408 |
1409 | 1410 |   Source 1413 | Edit 1414 | 1415 |
1416 |
proc sgetri(Order: CBLAS_ORDER; N: cint; A: ptr cfloat; lda: cint; ipiv: ptr cint): cint {.
1417 | cdecl, importc: "clapack_sgetri", dynlib: libName
.}
1418 |
1419 | 1420 |   Source 1423 | Edit 1424 | 1425 |
1426 |
proc sposv(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: ptr cfloat;
1427 |           lda: cint; B: ptr cfloat; ldb: cint): cint {.
cdecl, importc: "clapack_sposv", 1428 | dynlib: libName
.}
1429 |
1430 | 1431 |   Source 1434 | Edit 1435 | 1436 |
1437 |
proc spotrf(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: ptr cfloat; lda: cint): cint {.
1438 | cdecl, importc: "clapack_spotrf", dynlib: libName
.}
1439 |
1440 | 1441 |   Source 1444 | Edit 1445 | 1446 |
1447 |
proc spotrs(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: ptr cfloat;
1448 |            lda: cint; B: ptr cfloat; ldb: cint): cint {.
cdecl, importc: "clapack_spotrs", 1449 | dynlib: libName
.}
1450 |
1451 | 1452 |   Source 1455 | Edit 1456 | 1457 |
1458 |
proc spotri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: ptr cfloat; lda: cint): cint {.
1459 | cdecl, importc: "clapack_spotri", dynlib: libName
.}
1460 |
1461 | 1462 |   Source 1465 | Edit 1466 | 1467 |
1468 |
proc slauum(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: ptr cfloat; lda: cint): cint {.
1469 | cdecl, importc: "clapack_slauum", dynlib: libName
.}
1470 |
1471 | 1472 |   Source 1475 | Edit 1476 | 1477 |
1478 |
proc strtri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; Diag: CBLAS_DIAG; N: cint;
1479 |            A: ptr cfloat; lda: cint): cint {.
cdecl, importc: "clapack_strtri", 1480 | dynlib: libName
.}
1481 |
1482 | 1483 |   Source 1486 | Edit 1487 | 1488 |
1489 |
proc sgels(Order: CBLAS_ORDER; TA: CBLAS_TRANSPOSE; M: cint; N: cint; NRHS: cint;
1490 |           A: ptr cfloat; lda: cint; B: ptr cfloat; ldb: cint): cint {.
cdecl, 1491 | importc: "clapack_sgels", dynlib: libName
.}
1492 |
1493 | 1494 |   Source 1497 | Edit 1498 | 1499 |
1500 |
proc sgelqf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cfloat; lda: cint; TAU: ptr cfloat): cint {.
1501 | cdecl, importc: "clapack_sgelqf", dynlib: libName
.}
1502 |
1503 | 1504 |   Source 1507 | Edit 1508 | 1509 |
1510 |
proc sgeqlf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cfloat; lda: cint; TAU: ptr cfloat): cint {.
1511 | cdecl, importc: "clapack_sgeqlf", dynlib: libName
.}
1512 |
1513 | 1514 |   Source 1517 | Edit 1518 | 1519 |
1520 |
proc sgerqf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cfloat; lda: cint; TAU: ptr cfloat): cint {.
1521 | cdecl, importc: "clapack_sgerqf", dynlib: libName
.}
1522 |
1523 | 1524 |   Source 1527 | Edit 1528 | 1529 |
1530 |
proc sgeqrf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cfloat; lda: cint; TAU: ptr cfloat): cint {.
1531 | cdecl, importc: "clapack_sgeqrf", dynlib: libName
.}
1532 |
1533 | 1534 |   Source 1537 | Edit 1538 | 1539 |
1540 |
proc dgesv(Order: CBLAS_ORDER; N: cint; NRHS: cint; A: ptr cdouble; lda: cint;
1541 |           ipiv: ptr cint; B: ptr cdouble; ldb: cint): cint {.
cdecl, 1542 | importc: "clapack_dgesv", dynlib: libName
.}
1543 |
1544 | 1545 |   Source 1548 | Edit 1549 | 1550 |
1551 |
proc dgetrf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cdouble; lda: cint; ipiv: ptr cint): cint {.
1552 | cdecl, importc: "clapack_dgetrf", dynlib: libName
.}
1553 |
1554 | 1555 |   Source 1558 | Edit 1559 | 1560 |
1561 |
proc dgetrs(Order: CBLAS_ORDER; Trans: CBLAS_TRANSPOSE; N: cint; NRHS: cint;
1562 |            A: ptr cdouble; lda: cint; ipiv: ptr cint; B: ptr cdouble; ldb: cint): cint {.
1563 | cdecl, importc: "clapack_dgetrs", dynlib: libName
.}
1564 |
1565 | 1566 |   Source 1569 | Edit 1570 | 1571 |
1572 |
proc dgetri(Order: CBLAS_ORDER; N: cint; A: ptr cdouble; lda: cint; ipiv: ptr cint): cint {.
1573 | cdecl, importc: "clapack_dgetri", dynlib: libName
.}
1574 |
1575 | 1576 |   Source 1579 | Edit 1580 | 1581 |
1582 |
proc dposv(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: ptr cdouble;
1583 |           lda: cint; B: ptr cdouble; ldb: cint): cint {.
cdecl, importc: "clapack_dposv", 1584 | dynlib: libName
.}
1585 |
1586 | 1587 |   Source 1590 | Edit 1591 | 1592 |
1593 |
proc dpotrf(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: ptr cdouble; lda: cint): cint {.
1594 | cdecl, importc: "clapack_dpotrf", dynlib: libName
.}
1595 |
1596 | 1597 |   Source 1600 | Edit 1601 | 1602 |
1603 |
proc dpotrs(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: ptr cdouble;
1604 |            lda: cint; B: ptr cdouble; ldb: cint): cint {.
cdecl, 1605 | importc: "clapack_dpotrs", dynlib: libName
.}
1606 |
1607 | 1608 |   Source 1611 | Edit 1612 | 1613 |
1614 |
proc dpotri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: ptr cdouble; lda: cint): cint {.
1615 | cdecl, importc: "clapack_dpotri", dynlib: libName
.}
1616 |
1617 | 1618 |   Source 1621 | Edit 1622 | 1623 |
1624 |
proc dlauum(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: ptr cdouble; lda: cint): cint {.
1625 | cdecl, importc: "clapack_dlauum", dynlib: libName
.}
1626 |
1627 | 1628 |   Source 1631 | Edit 1632 | 1633 |
1634 |
proc dtrtri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; Diag: CBLAS_DIAG; N: cint;
1635 |            A: ptr cdouble; lda: cint): cint {.
cdecl, importc: "clapack_dtrtri", 1636 | dynlib: libName
.}
1637 |
1638 | 1639 |   Source 1642 | Edit 1643 | 1644 |
1645 |
proc dgels(Order: CBLAS_ORDER; TA: CBLAS_TRANSPOSE; M: cint; N: cint; NRHS: cint;
1646 |           A: ptr cdouble; lda: cint; B: ptr cdouble; ldb: cint): cint {.
cdecl, 1647 | importc: "clapack_dgels", dynlib: libName
.}
1648 |
1649 | 1650 |   Source 1653 | Edit 1654 | 1655 |
1656 |
proc dgelqf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cdouble; lda: cint;
1657 |            TAU: ptr cdouble): cint {.
cdecl, importc: "clapack_dgelqf", dynlib: libName
.}
1658 |
1659 | 1660 |   Source 1663 | Edit 1664 | 1665 |
1666 |
proc dgeqlf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cdouble; lda: cint;
1667 |            TAU: ptr cdouble): cint {.
cdecl, importc: "clapack_dgeqlf", dynlib: libName
.}
1668 |
1669 | 1670 |   Source 1673 | Edit 1674 | 1675 |
1676 |
proc dgerqf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cdouble; lda: cint;
1677 |            TAU: ptr cdouble): cint {.
cdecl, importc: "clapack_dgerqf", dynlib: libName
.}
1678 |
1679 | 1680 |   Source 1683 | Edit 1684 | 1685 |
1686 |
proc dgeqrf(Order: CBLAS_ORDER; M: cint; N: cint; A: ptr cdouble; lda: cint;
1687 |            TAU: ptr cdouble): cint {.
cdecl, importc: "clapack_dgeqrf", dynlib: libName
.}
1688 |
1689 | 1690 |   Source 1693 | Edit 1694 | 1695 |
1696 |
proc cgesv(Order: CBLAS_ORDER; N: cint; NRHS: cint; A: pointer; lda: cint; ipiv: ptr cint;
1697 |           B: pointer; ldb: cint): cint {.
cdecl, importc: "clapack_cgesv", 1698 | dynlib: libName
.}
1699 |
1700 | 1701 |   Source 1704 | Edit 1705 | 1706 |
1707 |
proc cgetrf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; ipiv: ptr cint): cint {.
1708 | cdecl, importc: "clapack_cgetrf", dynlib: libName
.}
1709 |
1710 | 1711 |   Source 1714 | Edit 1715 | 1716 |
1717 |
proc cgetrs(Order: CBLAS_ORDER; Trans: CBLAS_TRANSPOSE; N: cint; NRHS: cint; A: pointer;
1718 |            lda: cint; ipiv: ptr cint; B: pointer; ldb: cint): cint {.
cdecl, 1719 | importc: "clapack_cgetrs", dynlib: libName
.}
1720 |
1721 | 1722 |   Source 1725 | Edit 1726 | 1727 |
1728 |
proc cgetri(Order: CBLAS_ORDER; N: cint; A: pointer; lda: cint; ipiv: ptr cint): cint {.
1729 | cdecl, importc: "clapack_cgetri", dynlib: libName
.}
1730 |
1731 | 1732 |   Source 1735 | Edit 1736 | 1737 |
1738 |
proc cposv(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: pointer;
1739 |           lda: cint; B: pointer; ldb: cint): cint {.
cdecl, importc: "clapack_cposv", 1740 | dynlib: libName
.}
1741 |
1742 | 1743 |   Source 1746 | Edit 1747 | 1748 |
1749 |
proc cpotrf(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: pointer; lda: cint): cint {.
1750 | cdecl, importc: "clapack_cpotrf", dynlib: libName
.}
1751 |
1752 | 1753 |   Source 1756 | Edit 1757 | 1758 |
1759 |
proc cpotrs(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: pointer;
1760 |            lda: cint; B: pointer; ldb: cint): cint {.
cdecl, importc: "clapack_cpotrs", 1761 | dynlib: libName
.}
1762 |
1763 | 1764 |   Source 1767 | Edit 1768 | 1769 |
1770 |
proc cpotri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: pointer; lda: cint): cint {.
1771 | cdecl, importc: "clapack_cpotri", dynlib: libName
.}
1772 |
1773 | 1774 |   Source 1777 | Edit 1778 | 1779 |
1780 |
proc clauum(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: pointer; lda: cint): cint {.
1781 | cdecl, importc: "clapack_clauum", dynlib: libName
.}
1782 |
1783 | 1784 |   Source 1787 | Edit 1788 | 1789 |
1790 |
proc ctrtri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; Diag: CBLAS_DIAG; N: cint; A: pointer;
1791 |            lda: cint): cint {.
cdecl, importc: "clapack_ctrtri", dynlib: libName
.}
1792 |
1793 | 1794 |   Source 1797 | Edit 1798 | 1799 |
1800 |
proc cgels(Order: CBLAS_ORDER; TA: CBLAS_TRANSPOSE; M: cint; N: cint; NRHS: cint;
1801 |           A: pointer; lda: cint; B: pointer; ldb: cint): cint {.
cdecl, 1802 | importc: "clapack_cgels", dynlib: libName
.}
1803 |
1804 | 1805 |   Source 1808 | Edit 1809 | 1810 |
1811 |
proc cgelqf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1812 | cdecl, importc: "clapack_cgelqf", dynlib: libName
.}
1813 |
1814 | 1815 |   Source 1818 | Edit 1819 | 1820 |
1821 |
proc cgeqlf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1822 | cdecl, importc: "clapack_cgeqlf", dynlib: libName
.}
1823 |
1824 | 1825 |   Source 1828 | Edit 1829 | 1830 |
1831 |
proc cgerqf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1832 | cdecl, importc: "clapack_cgerqf", dynlib: libName
.}
1833 |
1834 | 1835 |   Source 1838 | Edit 1839 | 1840 |
1841 |
proc cgeqrf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1842 | cdecl, importc: "clapack_cgeqrf", dynlib: libName
.}
1843 |
1844 | 1845 |   Source 1848 | Edit 1849 | 1850 |
1851 |
proc zgesv(Order: CBLAS_ORDER; N: cint; NRHS: cint; A: pointer; lda: cint; ipiv: ptr cint;
1852 |           B: pointer; ldb: cint): cint {.
cdecl, importc: "clapack_zgesv", 1853 | dynlib: libName
.}
1854 |
1855 | 1856 |   Source 1859 | Edit 1860 | 1861 |
1862 |
proc zgetrf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; ipiv: ptr cint): cint {.
1863 | cdecl, importc: "clapack_zgetrf", dynlib: libName
.}
1864 |
1865 | 1866 |   Source 1869 | Edit 1870 | 1871 |
1872 |
proc zgetrs(Order: CBLAS_ORDER; Trans: CBLAS_TRANSPOSE; N: cint; NRHS: cint; A: pointer;
1873 |            lda: cint; ipiv: ptr cint; B: pointer; ldb: cint): cint {.
cdecl, 1874 | importc: "clapack_zgetrs", dynlib: libName
.}
1875 |
1876 | 1877 |   Source 1880 | Edit 1881 | 1882 |
1883 |
proc zgetri(Order: CBLAS_ORDER; N: cint; A: pointer; lda: cint; ipiv: ptr cint): cint {.
1884 | cdecl, importc: "clapack_zgetri", dynlib: libName
.}
1885 |
1886 | 1887 |   Source 1890 | Edit 1891 | 1892 |
1893 |
proc zposv(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: pointer;
1894 |           lda: cint; B: pointer; ldb: cint): cint {.
cdecl, importc: "clapack_zposv", 1895 | dynlib: libName
.}
1896 |
1897 | 1898 |   Source 1901 | Edit 1902 | 1903 |
1904 |
proc zpotrf(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: pointer; lda: cint): cint {.
1905 | cdecl, importc: "clapack_zpotrf", dynlib: libName
.}
1906 |
1907 | 1908 |   Source 1911 | Edit 1912 | 1913 |
1914 |
proc zpotrs(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; NRHS: cint; A: pointer;
1915 |            lda: cint; B: pointer; ldb: cint): cint {.
cdecl, importc: "clapack_zpotrs", 1916 | dynlib: libName
.}
1917 |
1918 | 1919 |   Source 1922 | Edit 1923 | 1924 |
1925 |
proc zpotri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: pointer; lda: cint): cint {.
1926 | cdecl, importc: "clapack_zpotri", dynlib: libName
.}
1927 |
1928 | 1929 |   Source 1932 | Edit 1933 | 1934 |
1935 |
proc zlauum(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; N: cint; A: pointer; lda: cint): cint {.
1936 | cdecl, importc: "clapack_zlauum", dynlib: libName
.}
1937 |
1938 | 1939 |   Source 1942 | Edit 1943 | 1944 |
1945 |
proc ztrtri(Order: CBLAS_ORDER; Uplo: CBLAS_UPLO; Diag: CBLAS_DIAG; N: cint; A: pointer;
1946 |            lda: cint): cint {.
cdecl, importc: "clapack_ztrtri", dynlib: libName
.}
1947 |
1948 | 1949 |   Source 1952 | Edit 1953 | 1954 |
1955 |
proc zgels(Order: CBLAS_ORDER; TA: CBLAS_TRANSPOSE; M: cint; N: cint; NRHS: cint;
1956 |           A: pointer; lda: cint; B: pointer; ldb: cint): cint {.
cdecl, 1957 | importc: "clapack_zgels", dynlib: libName
.}
1958 |
1959 | 1960 |   Source 1963 | Edit 1964 | 1965 |
1966 |
proc zgelqf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1967 | cdecl, importc: "clapack_zgelqf", dynlib: libName
.}
1968 |
1969 | 1970 |   Source 1973 | Edit 1974 | 1975 |
1976 |
proc zgeqlf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1977 | cdecl, importc: "clapack_zgeqlf", dynlib: libName
.}
1978 |
1979 | 1980 |   Source 1983 | Edit 1984 | 1985 |
1986 |
proc zgerqf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1987 | cdecl, importc: "clapack_zgerqf", dynlib: libName
.}
1988 |
1989 | 1990 |   Source 1993 | Edit 1994 | 1995 |
1996 |
proc zgeqrf(Order: CBLAS_ORDER; M: cint; N: cint; A: pointer; lda: cint; TAU: pointer): cint {.
1997 | cdecl, importc: "clapack_zgeqrf", dynlib: libName
.}
1998 |
1999 | 2000 |   Source 2003 | Edit 2004 | 2005 |
2006 | 2007 |
2008 | 2009 |
2010 |
2011 | 2012 |
2013 | 2018 |
2019 |
2020 |
2021 | 2022 | 2023 | 2024 | -------------------------------------------------------------------------------- /nimlapack.nimble: -------------------------------------------------------------------------------- 1 | # Package 2 | 3 | version = "0.3.1" 4 | author = "Andrea Ferretti" 5 | description = "Nim binding for LAPACK" 6 | license = "Apache2" 7 | skipFiles = @["lapacke.h", "lapack.h", "lapack.c2nim", "nimlapack.html"] 8 | skipDirs = @["tests"] 9 | 10 | requires "nim >= 0.16.0" 11 | 12 | import strutils 13 | 14 | task header, "generate bindings from header": 15 | let 16 | libPath = "lapack.h" 17 | patchPath = "lapack.c2nim" 18 | headerPath = "lapack-tmp.h" 19 | libContent = readFile(libPath) 20 | patchContent = readFile(patchPath) 21 | writeFile(headerPath, patchContent & libContent) 22 | exec("c2nim " & headerPath & " -o:nimlapack.nim") 23 | exec("rm " & headerPath) 24 | 25 | task check, "check that generated bindings do compile": 26 | exec("nim c -c nimlapack.nim") 27 | 28 | task docs, "generate documentation": 29 | exec("nim doc2 nimlapack.nim") 30 | 31 | proc configForTests() = 32 | --hints: off 33 | --linedir: on 34 | --stacktrace: on 35 | --linetrace: on 36 | --debuginfo 37 | --path: "." 38 | --run 39 | 40 | task test, "run NimLAPACK tests": 41 | configForTests() 42 | setCommand "c", "tests/test.nim" 43 | 44 | task testopenblas, "run NimLAPACK tests on OpenBLAS": 45 | configForTests() 46 | --define:"lapack=openblas" 47 | setCommand "c", "tests/test.nim" 48 | -------------------------------------------------------------------------------- /tests/test.nim: -------------------------------------------------------------------------------- 1 | # Copyright 2017 UniCredit S.p.A. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | import unittest, nimlapack, math 16 | 17 | template first[A](x: openArray[A]): ptr A = addr(x[0]) 18 | 19 | proc `=~`(x, y: openarray[float]): bool = 20 | if len(x) != len(y): 21 | return false 22 | var 23 | d = 0'f 24 | xx = 0'f 25 | yy = 0'f 26 | let epsilon = 1e-5 27 | for i in 0 .. high(x): 28 | d += abs(x[i] - y[i]) 29 | xx += x[i] * x[i] 30 | yy += y[i] * y[i] 31 | return d / (xx.sqrt + yy.sqrt) < epsilon 32 | 33 | suite "NimLAPACK test": 34 | test "solver": 35 | var 36 | v = [12.0, 15.0, 17.0, 19.0] 37 | a = [ 38 | 1.0, 2.0, 3.0, 4.0, 39 | 5.0, 6.0, 7.0, 8.0, 40 | 1.0, 2.0, 1.0, 1.0, 41 | 3.0, 1.0, 2.0, 1.0 42 | ] 43 | ipiv: array[4, cint] 44 | info: cint 45 | m = 4.cint 46 | n = 1.cint 47 | lda = 4.cint 48 | 49 | dgesv(addr m, addr n, a.first, addr lda, ipiv.first, v.first, addr lda, addr info) 50 | check info == 0 51 | check v =~ [2.0, 1.0, 2.0, 1.0] --------------------------------------------------------------------------------