libflame
revision_anchor
|
00001 /* 00002 00003 Copyright (C) 2014, The University of Texas at Austin 00004 00005 This file is part of libflame and is available under the 3-Clause 00006 BSD license, which can be found in the LICENSE file at the top-level 00007 directory, or at http://opensource.org/licenses/BSD-3-Clause 00008 00009 */ 00010 00011 #ifndef FLAME_H 00012 #define FLAME_H 00013 00014 // Allow C++ users to include this header file in their source code. However, 00015 // we make the extern "C" conditional on whether we're using a C++ compiler, 00016 // since regular C compilers don't understand the extern "C" construct. 00017 #ifdef __cplusplus 00018 extern "C" { 00019 #endif 00020 00021 // Include autoconf-related preprocessor defines. 00022 #include "FLA_config.h" 00023 #include "FLA_config_check.h" 00024 00025 // Include standard C header files. 00026 #include <stdio.h> 00027 #include <stdlib.h> 00028 #include <stdarg.h> 00029 #include <string.h> 00030 #ifdef FLA_ENABLE_WINDOWS_BUILD 00031 #include <windows.h> 00032 #else 00033 #ifndef FLA_ENABLE_TIDSP 00034 // TI CG does not support POSIX 00035 #include <unistd.h> 00036 #include <fcntl.h> 00037 #include <sys/types.h> 00038 #endif 00039 #endif 00040 #include <math.h> 00041 #include <float.h> 00042 #include <signal.h> 00043 00044 // Include prototypes for BLAS-like interfaces. 00045 #ifndef BLIS1_FROM_LIBFLAME 00046 #define BLIS1_FROM_LIBFLAME 00047 #endif 00048 #include "blis1.h" 00049 00050 // Include f2c definitions. 00051 #include "FLA_f2c.h" 00052 00053 // Include general FLAME macro and _PTR macro definitions. 00054 #include "FLA_macro_defs.h" 00055 #include "FLA_macro_ptr_defs.h" 00056 00057 // Include general FLAME type definitions, including those for FLA_Obj. 00058 #include "FLA_type_defs.h" 00059 00060 // Include "extern" definitions for global FLAME scalar constants. 00061 #include "FLA_extern_defs.h" 00062 00063 // Include control tree structure definitions, utility prototypes, and 00064 // initialization prototypes. 00065 #include "FLA_Cntl.h" 00066 #include "FLA_Cntl_init.h" 00067 00068 // Include prototypes for base FLAME routines. 00069 #include "FLA_main_prototypes.h" 00070 #include "FLA_util_base_prototypes.h" 00071 #include "FLA_util_lapack_prototypes.h" 00072 00073 // Include prototypes for FLAME interfaces to BLAS and LAPACK operations. 00074 #include "FLA_blas1_prototypes.h" 00075 #include "FLA_blas2_prototypes.h" 00076 #include "FLA_blas3_prototypes.h" 00077 #include "FLA_lapack_prototypes.h" 00078 00079 // Include prototypes for FLAME implementations of BLAS and LAPACK operations. 00080 #include "FLA_blas_var_prototypes.h" 00081 #include "FLA_lapack_var_prototypes.h" 00082 00083 // Include FLASH headers. 00084 #include "FLASH.h" 00085 00086 // Include SuperMatrix headers. 00087 #include "FLASH_Queue.h" 00088 00089 // Include Fortran name-mangling macro (if not already defined). 00090 #include "FLA_f77_name_mangling.h" 00091 00092 // Include prototypes for LAPACK routines. 00093 #include "FLA_lapack_f77_prototypes.h" 00094 00095 // Include prototypes for LAPACK routines. 00096 //#include "FLA_lapack_f77_macro_defs.h" 00097 00098 // End extern "C" construct block. 00099 #ifdef __cplusplus 00100 } 00101 #endif 00102 00103 #endif 00104