|
liblapackwrap 0.1
|
00001 /* 00002 *Macro definitions for the core LAPACK functions. 00003 00004 Copyright (C) 2010 Joseph Pingenot 00005 00006 This program is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU Lesser General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public License 00017 along with this program. If not, see <http://www.gnu.org/licenses/>. 00018 00019 */ 00020 00021 #define ACML 0 00022 #define CELL 1 00023 00024 void llw_lw_complex_single_set_from_double(struct llw_complex_single *item, double value) { 00025 item->re = value; 00026 item->im = 0; 00027 } 00028 00029 void llw_lw_complex_single_no_such_function_filler(char thing, ...) {} 00030 void llw_lw_lw_complex_single_no_such_function_filler_(char* thing, ...) {} 00031 00032 /*Pull in the header and define the actual function names we need to call*/ 00033 #if LAPACK == CELL 00034 #define FCALL 00035 #define LAPACK_COMPLEX_TYPENAME complex 00036 #define LAPACK_COMPLEXDOUBLEONLY_TYPENAME float 00037 #define LAPACK_COMPLEXSINGLEONLY_TYPENAME complex 00038 #include <lapack.h> 00039 #define STEGR cstegr_ 00040 #define SBTRD chbtrd_ 00041 #define SYTRD chetrd_ 00042 #define ORGTR cungtr_ 00043 #elif LAPACK == ACML 00044 #define LAPACK_COMPLEX_TYPENAME complex 00045 #define LAPACK_COMPLEXDOUBLEONLY_TYPENAME float 00046 #define LAPACK_COMPLEXSINGLEONLY_TYPENAME complex 00047 #include <acml.h> 00048 #define STEGR cstegr 00049 #define SBTRD chbtrd 00050 #define SYTRD chetrd 00051 #define ORGTR cungtr 00052 #else 00053 #error Unsupported (or no) LAPACK implementation! 00054 #endif