libflame  revision_anchor
blis1.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 BLIS1_H
12 #define BLIS1_H
13 
14 #include <stdio.h>
15 #include <stdlib.h>
16 #include <math.h>
17 
18 // Determine whether or not we are using BLIS from libflame.
19 //#define BLIS1_FROM_LIBFLAME
20 
21 #ifdef BLIS1_FROM_LIBFLAME
22 
23  // If using libflame, pull in its header files so that
24  // vector intrinsics-related macro constants are set properly.
25  //#include "FLAME.h"
26  #include "FLA_config.h"
27  #include "FLA_macro_defs.h"
28  #include "FLA_type_defs.h"
29 
30  // --- Pass-through macros for BLIS ---
31  #ifdef FLA_ENABLE_CBLAS_INTERFACES
32  #define BLIS1_ENABLE_CBLAS_INTERFACES
33  #endif
34  #ifdef FLA_ENABLE_WINDOWS_BUILD
35  #define BLIS1_ENABLE_WINDOWS_BUILD
36  #endif
37  #ifdef FLA_ENABLE_UPPERCASE_F77
38  #define BLIS1_ENABLE_UPPERCASE_F77
39  #endif
40  #ifdef FLA_ENABLE_VECTOR_INTRINSICS
41  #define BLIS1_ENABLE_VECTOR_INTRINSICS
42  #endif
43 
44  #define BLIS1_VECTOR_INTRINSIC_TYPE FLA_VECTOR_INTRINSIC_TYPE
45 
46 #else
47 
48  // --- BLIS configuration options ---
49 
50  // #define BLIS1_ENABLE_USE_OF_FLA_MALLOC
51  // #define BLIS1_ENABLE_CBLAS_INTERFACES
52  // #define BLIS1_ENABLE_WINDOWS_BUILD
53  // #define BLIS1_ENABLE_UPPERCASE_F77
54  // #define BLIS1_ENABLE_VECTOR_INTRINSICS
55  // #define BLIS1_VECTOR_INTRINSIC_TYPE BLIS1_NO_INTRINSICS
56  // #define BLIS1_VECTOR_INTRINSIC_TYPE BLIS1_SSE_INTRINSICS
57 
58 #endif
59 
60 #include "blis_macro_defs.h"
61 #include "blis_type_defs.h"
62 
63 #include "blis_prototypes_util.h"
64 #include "blis_prototypes_query.h"
65 #include "blis_prototypes_misc.h"
66 
67 #include "blis_prototypes_level1.h"
68 #include "blis_prototypes_level2.h"
69 #include "blis_prototypes_level3.h"
70 
71 #include "blis_prototypes_fused1.h"
72 
73 #include "blis_f77_name_mangling.h"
74 
75 #ifdef BLIS1_ENABLE_CBLAS_INTERFACES
76  #include "blis_prototypes_cblas.h"
77 #else
78  #include "blis_prototypes_blas.h"
79 #endif
80 
81 #endif