Reference documentation for deal.II version 8.1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
deal.II
base
config.h
1
// ---------------------------------------------------------------------
2
// @f$Id: config.h.in 31349 2013-10-20 19:07:06Z maier @f$
3
//
4
// Copyright (C) 2012 - 2013 by the deal.II authors
5
//
6
// This file is part of the deal.II library.
7
//
8
// The deal.II library is free software; you can use it, redistribute
9
// it, and/or modify it under the terms of the GNU Lesser General
10
// Public License as published by the Free Software Foundation; either
11
// version 2.1 of the License, or (at your option) any later version.
12
// The full text of the license can be found in the file LICENSE at
13
// the top level of the deal.II distribution.
14
//
15
// ---------------------------------------------------------------------
16
17
#ifndef __deal2__config_h
18
#define __deal2__config_h
19
20
25
#define DEAL_II_NAMESPACE_OPEN namespace dealii {
26
#define DEAL_II_NAMESPACE_CLOSE }
27
28
29
/***********************************************
30
* Configured in setup_cached_variables.cmake: *
31
***********************************************/
32
33
/* #undef DEAL_II_WITH_64BIT_INDICES */
34
#ifdef DEAL_II_WITH_64BIT_INDICES
35
# define DEAL_II_USE_LARGE_INDEX_TYPE
36
#endif
37
38
39
/**************************************
40
* Configured in setup_deal_ii.cmake: *
41
**************************************/
42
43
/* Defined to the full name of this package. */
44
#define DEAL_II_PACKAGE_NAME "deal.II"
45
46
/* Defined to the version of this package. */
47
#define DEAL_II_PACKAGE_VERSION "8.1.0"
48
49
/* Major version number of deal.II */
50
#define DEAL_II_VERSION_MAJOR 8
51
#define DEAL_II_MAJOR 8
52
53
/* Minor version number of deal.II */
54
#define DEAL_II_VERSION_MINOR 1
55
#define DEAL_II_MINOR 1
56
57
58
/********************************************
59
* Configured in check_1_compiler_features: *
60
********************************************/
61
62
/* Defined if the compiler can use arithmetic operations on vectorized data types */
63
#define DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS
64
65
/* Defined if vector iterators are just plain pointers */
66
/* #undef DEAL_II_VECTOR_ITERATOR_IS_POINTER */
67
68
/* Define if the compiler provides __builtin_expect */
69
#define HAVE_BUILTIN_EXPECT
70
71
/* Define if the compiler provides __verbose_terminate_handler */
72
#define HAVE_VERBOSE_TERMINATE
73
74
/* Define if deal.II is linked against a libc that provides stacktrace
75
* debug information that can be printed out in the exception class
76
* */
77
#define HAVE_GLIBC_STACKTRACE
78
79
/* Defined if the std c++ library provides a demangler conforming to the
80
* GCC libstdc++ interface.
81
*/
82
#define HAVE_LIBSTDCXX_DEMANGLER
83
84
/* If already available, do not define at all. Otherwise, define to
85
* __func__ if that is available. In all other cases, indicate that no
86
* information about the present function is available for this compiler.
87
*/
88
/* #undef __PRETTY_FUNCTION__ */
89
90
/* If the compiler supports it, then this variable is defined to a string
91
* that when written after a function name makes the compiler emit a warning
92
* whenever this function is used somewhere that its use is deprecated.
93
*/
94
#define DEAL_II_DEPRECATED __attribute__((deprecated))
95
96
97
/***************************************
98
* Configured in check_1_cpu_features: *
99
***************************************/
100
101
/* Defined if the system stores words with the most significant byte first */
102
/* #undef DEAL_II_WORDS_BIGENDIAN */
103
104
/* Equal to 0 in the generic case, equal to 1 if CPU compiled for supports
105
* SSE2, equal to 2 if CPU compiled for supports AVX
106
*/
107
#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 0
108
109
110
/***************************************
111
* Configured in check_1_cxx_features: *
112
***************************************/
113
114
/* Defined if the compiler we use supports the C++2011 standard well enough
115
* to allow using the standard library classes instead of the corresponding
116
* BOOST classes.
117
*/
118
#define DEAL_II_USE_CXX11
119
#ifdef DEAL_II_USE_CXX11
120
# define DEAL_II_CAN_USE_CXX11
121
# define DEAL_II_CAN_USE_CXX1X
122
#endif
123
124
/* Defined if C++11 is enabled and the standard library supports
125
* template<typename T> std::is_trivially_copyable<T>
126
*/
127
#define DEAL_II_HAVE_CXX11_IS_TRIVIALLY_COPYABLE
128
129
/* Defined if isnan is available */
130
#define HAVE_ISNAN
131
132
/* Defined if _isnan is available */
133
/* #undef HAVE_UNDERSCORE_ISNAN */
134
135
/* Defined if std::isfinite is available */
136
#define DEAL_II_HAVE_ISFINITE
137
138
139
/******************************************
140
* Configured in check_1_system_features: *
141
******************************************/
142
143
/* Defined if you have the <sys/resource.h> header file */
144
#define HAVE_SYS_RESOURCE_H
145
146
/* Defined if you have the <sys/time.h> header file. */
147
#define HAVE_SYS_TIME_H
148
149
/* Defined if you have the <sys/times.h> header file. */
150
#define HAVE_SYS_TIMES_H
151
152
/* Defined if you have the <sys/types.h> header file. */
153
#define HAVE_SYS_TYPES_H
154
155
/* Defined if you have the <unistd.h> header file. */
156
#define HAVE_UNISTD_H
157
158
/* Defined if you have the "gethostname" function. */
159
#define HAVE_GETHOSTNAME
160
161
/* Defined if you have the "getpid' function. */
162
#define HAVE_GETPID
163
164
/* Defined if you have the "rand_r" function */
165
#define HAVE_RAND_R
166
167
/* Defined if you have the "times" function. */
168
#define HAVE_TIMES
169
170
/* Defined if you have the "jn" function. */
171
#define HAVE_JN
172
173
/* Defined if deal.II was configured on a native Windows platform. */
174
/* #undef DEAL_II_MSVC */
175
176
/* Disable a bunch of warnings for Microsoft Visual C++. */
177
#ifdef _MSC_VER
178
# pragma warning( disable : 4244 )
/* implied downcasting from double to float */
179
# pragma warning( disable : 4267 )
/* implied downcasting from size_t to unsigned int */
180
# pragma warning( disable : 4996 )
/* unsafe functions, such as strcat and sprintf */
181
# pragma warning( disable : 4355 )
/* 'this' : used in base member initializer list */
182
# pragma warning( disable : 4661 )
/* no suitable definition provided for explicit template instantiation request */
183
# pragma warning( disable : 4800 )
/* forcing value to bool 'true' or 'false' (performance warning) */
184
# pragma warning( disable : 4146 )
/* unary minus operator applied to unsigned type, result still unsigned */
185
# pragma warning( disable : 4667 )
/* no function template defined that matches forced instantiation */
186
# pragma warning( disable : 4520 )
/* multiple default constructors specified */
187
# pragma warning( disable : 4700 )
/* uninitialized local variable */
188
# pragma warning( disable : 4789 )
/* destination of memory copy is too small */
189
# pragma warning( disable : 4808 )
/* case 'value' is not a valid value for switch condition of type 'bool */
190
#endif
/*_MSC_VER*/
191
192
193
/****************************************
194
* Configured in check_3_compiler_bugs: *
195
****************************************/
196
197
/* Defined if we have to work around a bug with some compilers that will not
198
* allow us to specify a fully specialized class of a template as a friend.
199
* See the aclocal.m4 file in the top-level directory for a description of
200
* this bug.
201
* */
202
/* #undef DEAL_II_TEMPL_SPEC_FRIEND_BUG */
203
204
/* Defined if the compiler refuses to allow the explicit specialization of
205
* static member arrays. For the exact failure mode, look at aclocal.m4 in the
206
* top-level directory.
207
*/
208
/* #undef DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG */
209
210
/* Defined if the compiler refuses to allow the explicit specialization of
211
* static member variables.
212
*/
213
/* #undef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG */
214
215
/* Defined if the compiler does not honor the explicit keyword on template
216
* constructors.
217
*/
218
/* #undef DEAL_II_EXPLICIT_CONSTRUCTOR_BUG */
219
220
/* Defined if the compiler has a bug in deducing the type of pointers to const
221
* member functions.
222
*/
223
/* #undef DEAL_II_CONST_MEMBER_DEDUCTION_BUG */
224
225
/* Defined if the compiler gets an internal error compiling some code that
226
* involves boost::bind
227
*/
228
/* #undef DEAL_II_BOOST_BIND_COMPILER_BUG */
229
230
/* Defined if the compiler incorrectly deduces a constexpr as not being a
231
* constant integral expression under certain optimization (notably
232
* gcc-4.8.1 on Windows and Mac)
233
*/
234
/* #undef DEAL_II_CONSTEXPR_BUG */
235
236
237
/*****************************************
238
* Configured in configure_arpack.cmake: *
239
*****************************************/
240
241
/* #undef DEAL_II_WITH_ARPACK */
242
#ifdef DEAL_II_WITH_ARPACK
243
# define DEAL_II_USE_ARPACK
244
#endif
245
246
/*************************************************
247
* Configured in configure_functionparser.cmake: *
248
*************************************************/
249
250
/* #undef DEAL_II_WITH_FUNCTIONPARSER */
251
#ifdef DEAL_II_WITH_FUNCTIONPARSER
252
# define HAVE_FUNCTIONPARSER
253
#endif
254
255
/***************************************
256
* Configured in configure_hdf5.cmake: *
257
***************************************/
258
259
/* #undef DEAL_II_WITH_HDF5 */
260
#ifdef DEAL_II_WITH_HDF5
261
# define DEAL_II_HAVE_HDF5
262
#endif
263
264
/*****************************************
265
* Configured in configure_lapack.cmake: *
266
*****************************************/
267
268
#define DEAL_II_WITH_LAPACK
269
#ifdef DEAL_II_WITH_LAPACK
270
# define HAVE_LIBLAPACK
271
272
/* Defined if the corresponding BLAS or LAPACK function is available */
273
#define HAVE_DAXPY_
274
#define HAVE_DGEEVX_
275
#define HAVE_DGEEV_
276
#define HAVE_DGELSD_
277
#define HAVE_DGEMM_
278
#define HAVE_DGEMV_
279
#define HAVE_DGEQRF_
280
#define HAVE_DGESDD_
281
#define HAVE_DGESVD_
282
#define HAVE_DGETRF_
283
#define HAVE_DGETRI_
284
#define HAVE_DGETRS_
285
#define HAVE_DORGQR_
286
#define HAVE_DORMQR_
287
#define HAVE_DSTEV_
288
#define HAVE_DSYEVX_
289
#define HAVE_DSYGV_
290
#define HAVE_DSYGVX_
291
#define HAVE_DTRTRS_
292
#define HAVE_SAXPY_
293
#define HAVE_SGEEVX_
294
#define HAVE_SGEEV_
295
#define HAVE_SGELSD_
296
#define HAVE_SGEMM_
297
#define HAVE_SGEMV_
298
#define HAVE_SGEQRF_
299
#define HAVE_SGESDD_
300
#define HAVE_SGESVD_
301
#define HAVE_SGETRF_
302
#define HAVE_SGETRI_
303
#define HAVE_SGETRS_
304
#define HAVE_SORGQR_
305
#define HAVE_SORMQR_
306
#define HAVE_SSTEV_
307
#define HAVE_SSYEVX_
308
#define HAVE_SSYGV_
309
#define HAVE_SSYGVX_
310
#define HAVE_STRTRS_
311
#endif
312
313
314
315
/****************************************
316
* Configured in configure_metis.cmake: *
317
****************************************/
318
319
/* #undef DEAL_II_WITH_METIS */
320
#ifdef DEAL_II_WITH_METIS
321
# define DEAL_II_USE_METIS
322
#endif
323
324
325
/**************************************
326
* Configured in configure_mpi.cmake: *
327
**************************************/
328
329
/* #undef DEAL_II_WITH_MPI */
330
#ifdef DEAL_II_WITH_MPI
331
# define DEAL_II_COMPILER_SUPPORTS_MPI
332
#endif
333
334
335
/*****************************************
336
* Configured in configure_mumps.cmake: *
337
*****************************************/
338
339
/* #undef DEAL_II_WITH_MUMPS */
340
#ifdef DEAL_II_WITH_MUMPS
341
# define DEAL_II_USE_MUMPS
342
#endif
343
344
345
/*****************************************
346
* Configured in configure_netcdf.cmake: *
347
*****************************************/
348
349
/* #undef DEAL_II_WITH_NETCDF */
350
#ifdef DEAL_II_WITH_NETCDF
351
# define HAVE_LIBNETCDF
352
#endif
353
354
355
/****************************************
356
* Configured in configure_p4est.cmake: *
357
****************************************/
358
359
/* #undef DEAL_II_WITH_P4EST */
360
#ifdef DEAL_II_WITH_P4EST
361
# define DEAL_II_USE_P4EST
362
363
# define DEAL_II_P4EST_VERSION_MAJOR
364
# define DEAL_II_P4EST_VERSION_MINOR
365
# define DEAL_II_P4EST_VERSION_SUBMINOR
366
# define DEAL_II_P4EST_VERSION_PATCH
367
368
# define DEAL_II_P4EST_VERSION_GTE(major,minor,subminor,patch) \
369
((DEAL_II_P4EST_VERSION_MAJOR * 1000000 + \
370
DEAL_II_P4EST_VERSION_MINOR * 10000 + \
371
DEAL_II_P4EST_VERSION_SUBMINOR * 100 + \
372
DEAL_II_P4EST_VERSION_PATCH) \
373
>= \
374
(major)*1000000 + (minor)*10000 + (subminor)*100 + (patch))
375
#else
376
// p4est up to 0.3.4.1 didn't define P4EST_VERSION_*. since
377
// we didn't supports anything before 0.3.4, we assume 0.3.4
378
// This means that we can't use the new features in 0.3.4.1
379
# define DEAL_II_P4EST_VERSION_GTE(major,minor,subminor,patch) \
380
((0 * 1000000 + \
381
3 * 10000 + \
382
4 * 100 + \
383
0) \
384
>= \
385
(major)*1000000 + (minor)*10000 + (subminor)*100 + (patch))
386
387
#endif
388
389
390
/****************************************
391
* Configured in configure_petsc.cmake: *
392
****************************************/
393
394
/* #undef DEAL_II_WITH_PETSC */
395
#ifdef DEAL_II_WITH_PETSC
396
# define DEAL_II_USE_PETSC
397
#endif
398
399
400
/*
401
* Note: The following definitions will be set in petscconf.h and
402
* petscversion.h, so we don't repeat them here.
403
*
404
* PETSC_VERSION_MAJOR
405
* PETSC_VERSION_MINOR
406
* PETSC_VERSION_SUBMINOR
407
* PETSC_VERSION_PATCH
408
* PETSC_VERSION_RELEASE
409
* PETSC_USE_COMPLEX
410
*/
411
424
#define DEAL_II_PETSC_VERSION_LT(major,minor,subminor) \
425
((PETSC_VERSION_MAJOR * 10000 + \
426
PETSC_VERSION_MINOR * 100 + \
427
PETSC_VERSION_SUBMINOR) \
428
< \
429
(major)*10000 + (minor)*100 + (subminor))
430
431
#define DEAL_II_PETSC_VERSION_GTE(major,minor,subminor) \
432
((PETSC_VERSION_MAJOR * 10000 + \
433
PETSC_VERSION_MINOR * 100 + \
434
PETSC_VERSION_SUBMINOR) \
435
>= \
436
(major)*10000 + (minor)*100 + (subminor))
437
438
/****************************************
439
* Configured in configure_slepc.cmake: *
440
****************************************/
441
442
/* #undef DEAL_II_WITH_SLEPC */
443
#ifdef DEAL_II_WITH_SLEPC
444
# define DEAL_II_USE_SLEPC
445
#endif
446
447
448
/********************************************
449
* Configured in configure_1_threads.cmake: *
450
********************************************/
451
452
#define DEAL_II_WITH_THREADS
453
#ifdef DEAL_II_WITH_THREADS
454
# define DEAL_II_USE_MT
455
#endif
456
460
#define DEAL_II_USE_MT_POSIX
461
462
/* Defined if POSIX is supported but not the newer POSIX barrier functions.
463
* Barriers will then not work in the library, but the other threading
464
* functionality is available.
465
*/
466
/* #undef DEAL_II_USE_MT_POSIX_NO_BARRIERS */
467
473
#ifdef DEAL_II_WITH_THREADS
474
# define DEAL_VOLATILE volatile
475
#else
476
# define DEAL_VOLATILE
477
#endif
478
479
480
/*******************************************
481
* Configured in configure_trilinos.cmake: *
482
*******************************************/
483
484
/* #undef DEAL_II_WITH_TRILINOS */
485
#ifdef DEAL_II_WITH_TRILINOS
486
# define DEAL_II_USE_TRILINOS
487
#endif
488
489
490
/******************************************
491
* Configured in configure_umfpack.cmake: *
492
******************************************/
493
494
#define DEAL_II_WITH_UMFPACK
495
#ifdef DEAL_II_WITH_UMFPACK
496
# define HAVE_LIBUMFPACK
497
#endif
498
499
500
/***************************************
501
* Configured in configure_zlib.cmake: *
502
***************************************/
503
504
#define DEAL_II_WITH_ZLIB
505
#ifdef DEAL_II_WITH_ZLIB
506
# define HAVE_LIBZ
507
#endif
508
509
510
#include <deal.II/base/numbers.h>
511
#include <deal.II/base/types.h>
512
513
#endif
514
Generated by
1.8.9.1