Reference documentation for deal.II version 8.1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
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
/* #undef 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 on Tue Jan 6 2015 18:21:56 for The deal.II Library by
1.8.8