max@0
|
1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
|
max@0
|
2 // Copyright (C) 2008-2011 Conrad Sanderson
|
max@0
|
3 //
|
max@0
|
4 // This file is part of the Armadillo C++ library.
|
max@0
|
5 // It is provided without any warranty of fitness
|
max@0
|
6 // for any purpose. You can redistribute this file
|
max@0
|
7 // and/or modify it under the terms of the GNU
|
max@0
|
8 // Lesser General Public License (LGPL) as published
|
max@0
|
9 // by the Free Software Foundation, either version 3
|
max@0
|
10 // of the License or (at your option) any later version.
|
max@0
|
11 // (see http://www.opensource.org/licenses for more info)
|
max@0
|
12
|
max@0
|
13
|
max@0
|
14
|
max@0
|
15 #define arma_hot
|
max@0
|
16 #define arma_cold
|
max@0
|
17 #define arma_pure
|
max@0
|
18 #define arma_const
|
max@0
|
19 #define arma_inline inline
|
max@0
|
20 #define arma_aligned
|
max@0
|
21 #define arma_warn_unused
|
max@0
|
22 #define arma_deprecated
|
max@0
|
23 #define arma_ignore(variable) ((void)(variable))
|
max@0
|
24
|
max@0
|
25
|
max@0
|
26 #if defined(ARMA_BLAS_UNDERSCORE)
|
max@0
|
27 #define arma_fortran2_noprefix(function) function##_
|
max@0
|
28 #define arma_fortran2_prefix(function) wrapper_##function##_
|
max@0
|
29 #else
|
max@0
|
30 #define arma_fortran2_prefix(function) wrapper_##function
|
max@0
|
31 #define arma_fortran2_noprefix(function) function
|
max@0
|
32 #endif
|
max@0
|
33
|
max@0
|
34 #if defined(ARMA_USE_WRAPPER)
|
max@0
|
35 #define arma_fortran(function) arma_fortran2_prefix(function)
|
max@0
|
36 #define arma_atlas(function) wrapper_##function
|
max@0
|
37 #else
|
max@0
|
38 #define arma_fortran(function) arma_fortran2_noprefix(function)
|
max@0
|
39 #define arma_atlas(function) function
|
max@0
|
40 #endif
|
max@0
|
41
|
max@0
|
42 #define arma_fortran_prefix(function) arma_fortran2_prefix(function)
|
max@0
|
43 #define arma_fortran_noprefix(function) arma_fortran2_noprefix(function)
|
max@0
|
44
|
max@0
|
45
|
max@0
|
46 #define ARMA_INCFILE_WRAP(x) <x>
|
max@0
|
47
|
max@0
|
48
|
max@0
|
49 #if defined(__INTEL_COMPILER)
|
max@0
|
50
|
max@0
|
51 #if (__INTEL_COMPILER < 1000)
|
max@0
|
52 #error "*** Need a newer compiler ***"
|
max@0
|
53 #endif
|
max@0
|
54
|
max@0
|
55 #define ARMA_GOOD_COMPILER
|
max@0
|
56 #undef ARMA_HAVE_STD_TR1
|
max@0
|
57
|
max@0
|
58 #if (__INTEL_COMPILER <= 1110)
|
max@0
|
59 #undef ARMA_HAVE_STD_ISFINITE
|
max@0
|
60 #endif
|
max@0
|
61
|
max@0
|
62 #elif defined(__GNUG__)
|
max@0
|
63
|
max@0
|
64 #if (__GNUC__ < 4)
|
max@0
|
65 #error "*** Need a newer compiler ***"
|
max@0
|
66 #endif
|
max@0
|
67
|
max@0
|
68 #define ARMA_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
max@0
|
69
|
max@0
|
70 #define ARMA_GOOD_COMPILER
|
max@0
|
71 #undef ARMA_HAVE_STD_TR1
|
max@0
|
72
|
max@0
|
73 #undef arma_pure
|
max@0
|
74 #undef arma_const
|
max@0
|
75 #undef arma_inline
|
max@0
|
76 #undef arma_aligned
|
max@0
|
77 #undef arma_warn_unused
|
max@0
|
78 #undef arma_deprecated
|
max@0
|
79
|
max@0
|
80 #define arma_pure __attribute__((pure))
|
max@0
|
81 #define arma_const __attribute__((const))
|
max@0
|
82 #define arma_inline inline __attribute__((always_inline))
|
max@0
|
83 #define arma_aligned __attribute__((aligned))
|
max@0
|
84 #define arma_warn_unused __attribute__((warn_unused_result))
|
max@0
|
85 #define arma_deprecated __attribute__((deprecated))
|
max@0
|
86
|
max@0
|
87 #if (ARMA_GCC_VERSION >= 40200)
|
max@0
|
88 #if defined(_GLIBCXX_USE_C99_MATH_TR1) && defined(_GLIBCXX_USE_C99_COMPLEX_TR1)
|
max@0
|
89 #define ARMA_HAVE_STD_TR1
|
max@0
|
90 #endif
|
max@0
|
91 #endif
|
max@0
|
92
|
max@0
|
93 #if defined(__GXX_EXPERIMENTAL_CXX0X__)
|
max@0
|
94 #undef ARMA_HAVE_STD_TR1
|
max@0
|
95
|
max@0
|
96 #if !defined(ARMA_USE_CXX11)
|
max@0
|
97 #define ARMA_USE_CXX11
|
max@0
|
98 #endif
|
max@0
|
99 #endif
|
max@0
|
100
|
max@0
|
101 #if defined(__clang__)
|
max@0
|
102 #undef ARMA_HAVE_STD_TR1
|
max@0
|
103 #endif
|
max@0
|
104
|
max@0
|
105 #if (ARMA_GCC_VERSION >= 40300)
|
max@0
|
106 #undef arma_hot
|
max@0
|
107 #undef arma_cold
|
max@0
|
108
|
max@0
|
109 #define arma_hot __attribute__((hot))
|
max@0
|
110 #define arma_cold __attribute__((cold))
|
max@0
|
111 #endif
|
max@0
|
112
|
max@0
|
113 #undef ARMA_GCC_VERSION
|
max@0
|
114
|
max@0
|
115 #endif
|
max@0
|
116
|
max@0
|
117
|
max@0
|
118 #if defined(_MSC_VER)
|
max@0
|
119
|
max@0
|
120 #if (_MSC_VER < 1500)
|
max@0
|
121 #error "*** Need a newer compiler ***"
|
max@0
|
122 #endif
|
max@0
|
123
|
max@0
|
124 #undef ARMA_GOOD_COMPILER
|
max@0
|
125 #undef ARMA_HAVE_STD_ISFINITE
|
max@0
|
126 #undef ARMA_HAVE_STD_SNPRINTF
|
max@0
|
127 #undef ARMA_HAVE_LOG1P
|
max@0
|
128 #undef ARMA_HAVE_STD_ISINF
|
max@0
|
129 #undef ARMA_HAVE_STD_ISNAN
|
max@0
|
130 #undef ARMA_HAVE_STD_TR1
|
max@0
|
131
|
max@0
|
132 #undef arma_inline
|
max@0
|
133 #define arma_inline inline __forceinline
|
max@0
|
134
|
max@0
|
135 // #if (_MSC_VER >= 1400)
|
max@0
|
136 // #undef arma_aligned
|
max@0
|
137 // #define arma_aligned __declspec(align(16))
|
max@0
|
138 // #endif
|
max@0
|
139
|
max@0
|
140 #endif
|
max@0
|
141
|
max@0
|
142
|
max@0
|
143 #if defined(__CUDACC__)
|
max@0
|
144 #undef ARMA_HAVE_STD_ISFINITE
|
max@0
|
145 #undef ARMA_HAVE_STD_SNPRINTF
|
max@0
|
146 #undef ARMA_HAVE_LOG1P
|
max@0
|
147 #undef ARMA_HAVE_STD_ISINF
|
max@0
|
148 #undef ARMA_HAVE_STD_ISNAN
|
max@0
|
149 #undef ARMA_HAVE_STD_TR1
|
max@0
|
150 #endif
|
max@0
|
151
|
max@0
|
152
|
max@0
|
153 #if defined(__SUNPRO_CC)
|
max@0
|
154 #undef ARMA_HAVE_STD_ISFINITE
|
max@0
|
155 #undef ARMA_HAVE_STD_SNPRINTF
|
max@0
|
156 #undef ARMA_HAVE_LOG1P
|
max@0
|
157 #undef ARMA_HAVE_STD_ISINF
|
max@0
|
158 #undef ARMA_HAVE_STD_ISNAN
|
max@0
|
159 #undef ARMA_HAVE_STD_TR1
|
max@0
|
160 #endif
|