|
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_bw_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_bw_complex_single_no_such_function_filler(char thing, ...) {} 00030 void llw_bw_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 <blas.h> 00039 #define GEMM cgemm_ 00040 #elif LAPACK == ACML 00041 #define LAPACK_COMPLEX_TYPENAME complex 00042 #define LAPACK_COMPLEXDOUBLEONLY_TYPENAME float 00043 #define LAPACK_COMPLEXSINGLEONLY_TYPENAME complex 00044 #include <acml.h> 00045 #define GEMM cgemm 00046 #else 00047 #error Unsupported (or no) LAPACK implementation! 00048 #endif