JWS C Library
C language utility library
|
00001 /* 00002 * This work is licensed under a Creative Commons 00003 * Attribution-Noncommercial-Share Alike 3.0 United States License. 00004 * 00005 * http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 00006 * 00007 * You are free: 00008 * 00009 * to Share - to copy, distribute, display, and perform the work 00010 * to Remix - to make derivative works 00011 * 00012 * Under the following conditions: 00013 * 00014 * Attribution. You must attribute the work in the manner specified by the 00015 * author or licensor (but not in any way that suggests that they endorse you 00016 * or your use of the work). 00017 * 00018 * Noncommercial. You may not use this work for commercial purposes. 00019 * 00020 * Share Alike. If you alter, transform, or build upon this work, you may 00021 * distribute the resulting work only under the same or similar license to 00022 * this one. 00023 * 00024 * For any reuse or distribution, you must make clear to others the license 00025 * terms of this work. The best way to do this is by including this header. 00026 * 00027 * Any of the above conditions can be waived if you get permission from the 00028 * copyright holder. 00029 * 00030 * Apart from the remix rights granted under this license, nothing in this 00031 * license impairs or restricts the author's moral rights. 00032 */ 00033 00034 00051 #ifndef LAPACK_H 00052 #define LAPACK_H 00053 00054 00055 #include <jwsc/config.h> 00056 00057 #include <stdlib.h> 00058 00059 00060 #ifdef __cplusplus 00061 namespace jwsc { 00062 extern "C" { 00063 #endif 00064 00065 00070 void lapack_sgetrf 00071 ( 00072 int M, 00073 int N, 00074 float* A, 00075 int lda, 00076 int* ipiv, 00077 int* info 00078 ); 00079 00080 00085 void lapack_dgetrf 00086 ( 00087 int M, 00088 int N, 00089 double* A, 00090 int lda, 00091 int* ipiv, 00092 int* info 00093 ); 00094 00095 00100 void lapack_sgetri 00101 ( 00102 int N, 00103 float* A, 00104 int lda, 00105 int* ipiv, 00106 float* work, 00107 int lwork, 00108 int* info 00109 ); 00110 00111 00116 void lapack_dgetri 00117 ( 00118 int N, 00119 double* A, 00120 int lda, 00121 int* ipiv, 00122 double* work, 00123 int lwork, 00124 int* info 00125 ); 00126 00127 00132 void lapack_sgesdd 00133 ( 00134 char JOBZ, 00135 int M, 00136 int N, 00137 float* A, 00138 int LDA, 00139 float* S, 00140 float* U, 00141 int LDU, 00142 float* VT, 00143 int LDVT, 00144 float* WORK, 00145 int LWORK, 00146 int* IWORK, 00147 int* INFO 00148 ); 00149 00150 00155 void lapack_dgesdd 00156 ( 00157 char JOBZ, 00158 int M, 00159 int N, 00160 double* A, 00161 int LDA, 00162 double* S, 00163 double* U, 00164 int LDU, 00165 double* VT, 00166 int LDVT, 00167 double* WORK, 00168 int LWORK, 00169 int* IWORK, 00170 int* INFO 00171 ); 00172 00173 00178 void lapack_ssyev 00179 ( 00180 char JOBZ, 00181 char UPLO, 00182 int N, 00183 float* A, 00184 int LDA, 00185 float* W, 00186 float* WORK, 00187 int LWORK, 00188 int* INFO 00189 ); 00190 00191 00196 void lapack_dsyev 00197 ( 00198 char JOBZ, 00199 char UPLO, 00200 int N, 00201 double* A, 00202 int LDA, 00203 double* W, 00204 double* WORK, 00205 int LWORK, 00206 int* INFO 00207 ); 00208 00209 00210 #ifdef __cplusplus 00211 } 00212 } 00213 #endif 00214 00215 00216 #endif