libflame  revision_anchor
FLAME.h
Go to the documentation of this file.
1 /*
2 
3  Copyright (C) 2014, The University of Texas at Austin
4 
5  This file is part of libflame and is available under the 3-Clause
6  BSD license, which can be found in the LICENSE file at the top-level
7  directory, or at http://opensource.org/licenses/BSD-3-Clause
8 
9 */
10 
11 #ifndef FLAME_H
12 #define FLAME_H
13 
14 // Allow C++ users to include this header file in their source code. However,
15 // we make the extern "C" conditional on whether we're using a C++ compiler,
16 // since regular C compilers don't understand the extern "C" construct.
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21  // Include autoconf-related preprocessor defines.
22  #include "FLA_config.h"
23  #include "FLA_config_check.h"
24 
25  // Include standard C header files.
26  #include <stdio.h>
27  #include <stdlib.h>
28  #include <stdarg.h>
29  #include <string.h>
30  #ifdef FLA_ENABLE_WINDOWS_BUILD
31  #include <windows.h>
32  #else
33  #ifndef FLA_ENABLE_TIDSP
34  // TI CG does not support POSIX
35  #include <unistd.h>
36  #include <fcntl.h>
37  #include <sys/types.h>
38  #endif
39  #endif
40  #include <math.h>
41  #include <float.h>
42  #include <signal.h>
43 
44  // Include prototypes for BLAS-like interfaces.
45  #ifndef BLIS1_FROM_LIBFLAME
46  #define BLIS1_FROM_LIBFLAME
47  #endif
48  #include "blis1.h"
49 
50  // Include f2c definitions.
51  #include "FLA_f2c.h"
52 
53  // Include general FLAME macro and _PTR macro definitions.
54  #include "FLA_macro_defs.h"
55  #include "FLA_macro_ptr_defs.h"
56 
57  // Include general FLAME type definitions, including those for FLA_Obj.
58  #include "FLA_type_defs.h"
59 
60  // Include "extern" definitions for global FLAME scalar constants.
61  #include "FLA_extern_defs.h"
62 
63  // Include control tree structure definitions, utility prototypes, and
64  // initialization prototypes.
65  #include "FLA_Cntl.h"
66  #include "FLA_Cntl_init.h"
67 
68  // Include prototypes for base FLAME routines.
69  #include "FLA_main_prototypes.h"
72 
73  // Include prototypes for FLAME interfaces to BLAS and LAPACK operations.
74  #include "FLA_blas1_prototypes.h"
75  #include "FLA_blas2_prototypes.h"
76  #include "FLA_blas3_prototypes.h"
77  #include "FLA_lapack_prototypes.h"
78 
79  // Include prototypes for FLAME implementations of BLAS and LAPACK operations.
80  #include "FLA_blas_var_prototypes.h"
82 
83  // Include FLASH headers.
84  #include "FLASH.h"
85 
86  // Include SuperMatrix headers.
87  #include "FLASH_Queue.h"
88 
89  // Include Fortran name-mangling macro (if not already defined).
90  #include "FLA_f77_name_mangling.h"
91 
92  // Include prototypes for LAPACK routines.
94 
95  // Include prototypes for LAPACK routines.
96  //#include "FLA_lapack_f77_macro_defs.h"
97 
98 // End extern "C" construct block.
99 #ifdef __cplusplus
100 }
101 #endif
102 
103 #endif
104