liblapackwrap 0.1

lapackwrap_functions_complex_double.c

Go to the documentation of this file.
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 
 All Classes Files Functions Variables Defines