|
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_double_set_from_double(struct llw_complex_double *item, double value) { 00025 item->re = value; 00026 item->im = 0; 00027 } 00028 00029 void llw_lw_complex_double_no_such_function_filler(char thing, ...) {} 00030 void llw_lw_complex_double_no_such_function_filler_(char* thing, ...) {} 00031 00032 /*Pull in the header and define the actual function names we need to call*/ 00033 /*The _TYPENAME macros are to aid converting the names of the types 00034 (the complex types are really just the same as our names, but there's 00035 no guarantee they're uniform between C implementations.*/ 00036 #if LAPACK == CELL 00037 #define FCALL 00038 #define LAPACK_COMPLEX_TYPENAME doublecomplex 00039 #define LAPACK_COMPLEXDOUBLEONLY_TYPENAME doublecomplex 00040 #define LAPACK_COMPLEXSINGLEONLY_TYPENAME double 00041 #include <lapack.h> 00042 #define STEGR zstegr_ 00043 #define SBTRD zhbtrd_ 00044 #define SYTRD zhetrd_ 00045 #define ORGTR zungtr_ 00046 #elif LAPACK == ACML 00047 #define LAPACK_COMPLEX_TYPENAME doublecomplex 00048 #define LAPACK_COMPLEXDOUBLEONLY_TYPENAME doublecomplex 00049 #define LAPACK_COMPLEXSINGLEONLY_TYPENAME double 00050 #include <acml.h> 00051 #define STEGR zstegr 00052 #define SBTRD zhbtrd 00053 #define SYTRD zhetrd 00054 #define ORGTR zungtr 00055 #else 00056 #error Unsupported (or no) LAPACK implementation! 00057 #endif 00058