FLAME.h

Go to the documentation of this file.
00001 /*
00002    libflame
00003    An object-based infrastructure for developing high-performance
00004    dense linear algebra libraries.
00005 
00006    Copyright (C) 2009, The University of Texas
00007 
00008    libflame is free software; you can redistribute it and/or modify
00009    it under the terms of the GNU Lesser General Public License as
00010    published by the Free Software Foundation; either version 2.1 of
00011    the License, or (at your option) any later version.
00012 
00013    libflame is distributed in the hope that it will be useful, but
00014    WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00016    Lesser General Public License for more details.
00017 
00018    You should have received a copy of the GNU Lesser General Public
00019    License along with libflame; if you did not receive a copy, see
00020    http://www.gnu.org/licenses/.
00021 
00022    For more information, please contact us at flame@cs.utexas.edu or
00023    send mail to:
00024 
00025    Field G. Van Zee and/or
00026    Robert A. van de Geijn
00027    The University of Texas at Austin
00028    Department of Computer Sciences
00029    1 University Station C0500
00030    Austin TX 78712
00031 */
00032 
00033 #ifndef FLAME_H
00034 #define FLAME_H
00035 
00036 // Allow C++ users to include this header file in their source code. However,
00037 // we make the extern "C" conditional on whether we're using a C++ compiler,
00038 // since regular C compilers don't understand the extern "C" construct.
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif 
00042 
00043   // Include autoconf-related preprocessor defines.
00044   #include "FLA_config.h"
00045   #include "FLA_config_check.h"
00046 
00047   // Include standard C header files.
00048   #include <stdio.h>
00049   #include <stdlib.h>
00050   #include <stdarg.h>
00051   #include <string.h>
00052   #ifdef FLA_ENABLE_WINDOWS_BUILD
00053     //#include <windows.h>
00054     #include "FLA_win_types.h"
00055   #else
00056     #include <unistd.h>
00057     #include <fcntl.h>
00058     #include <sys/types.h>
00059   #endif
00060   #include <math.h>
00061   #include <signal.h>
00062 
00063   // Include macros to convert BLAS invocations and prototypes to uppercase,
00064   // if requested.
00065   #ifdef FLA_ENABLE_UPPERCASE_BLAS
00066     #include "FLA_blas_to_upper.h"
00067   #endif
00068 
00069   // Include macros to convert LAPACK invocations and prototypes to uppercase,
00070   // if requested.
00071   #ifdef FLA_ENABLE_UPPERCASE_LAPACK
00072     #include "FLA_lapack_to_upper.h"
00073   #endif
00074 
00075   // Include macros to convert various internal Fortran invocations and
00076   // prototypes to uppercase, if requested.
00077   #ifdef FLA_ENABLE_UPPERCASE_INTERNAL_F77
00078     #include "FLA_internal_f77_to_upper.h"
00079   #endif
00080 
00081   // Include general FLAME macro and _PTR macro definitions.
00082   #include "FLA_macro_defs.h"
00083   #include "FLA_macro_ptr_defs.h"
00084 
00085   // Include general FLAME type definitions, including those for FLA_Obj.
00086   #include "FLA_type_defs.h"
00087 
00088   // Include Fortran-to-C and C-to-Fortran underscoring macros.
00089   #include "FLA_F2C.h"
00090 
00091   // Include "extern" definitions for global FLAME scalar constants.
00092   #include "FLA_extern_defs.h"
00093 
00094   // Include control tree structure definitions, utility prototypes, and
00095   // initialization prototypes.
00096   #include "FLA_Cntl.h"
00097   #include "FLA_Cntl_init.h"
00098 
00099   // Include prototypes for base FLAME routines.
00100   #include "FLA_main_prototypes.h"
00101   #include "FLA_util_base_prototypes.h"
00102   #include "FLA_util_lapack_prototypes.h"
00103 
00104   // Include prototypes for standard Fortran BLAS and LAPACK routines.
00105   #ifdef FLA_ENABLE_CBLAS_INTERFACE
00106     #ifdef FLA_ENABLE_WINDOWS_BUILD
00107       #include "cblas.h"
00108     #else
00109       #include "FLA_blas_c_prototypes.h"
00110     #endif
00111   #else
00112     #include "FLA_blas_f77_prototypes.h"
00113   #endif
00114   #include "FLA_lapack_f77_prototypes.h"
00115 
00116   // Include prototypes for FLAME interfaces to BLAS and LAPACK operations.
00117   #include "FLA_blas1_prototypes.h"
00118   #include "FLA_blas2_prototypes.h"
00119   #include "FLA_blas3_prototypes.h"
00120   #include "FLA_lapack_prototypes.h"
00121 
00122   // Include prototypes for FLAME implementations of BLAS and LAPACK operations.
00123   #include "FLA_blas_var_prototypes.h"
00124   #include "FLA_lapack_var_prototypes.h"
00125 
00126   // Include FLASH headers.
00127   #include "FLASH.h"
00128 
00129   // Include SuperMatrix headers.
00130   #include "FLASH_Queue.h"
00131 
00132 // End extern "C" construct block.
00133 #ifdef __cplusplus
00134 }
00135 #endif 
00136 
00137 #endif
00138 

Generated on Mon Jul 6 05:45:48 2009 for libflame by  doxygen 1.5.9