vSMC
vSMC: Scalable Monte Carlo
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
vsmc
internal
config.hpp
Go to the documentation of this file.
1
//============================================================================
2
// vSMC/include/vsmc/internal/config.hpp
3
//----------------------------------------------------------------------------
4
// vSMC: Scalable Monte Carlo
5
//----------------------------------------------------------------------------
6
// Copyright (c) 2013,2014, Yan Zhou
7
// All rights reserved.
8
//
9
// Redistribution and use in source and binary forms, with or without
10
// modification, are permitted provided that the following conditions are met:
11
//
12
// Redistributions of source code must retain the above copyright notice,
13
// this list of conditions and the following disclaimer.
14
//
15
// Redistributions in binary form must reproduce the above copyright notice,
16
// this list of conditions and the following disclaimer in the documentation
17
// and/or other materials provided with the distribution.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS
20
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
// POSSIBILITY OF SUCH DAMAGE.
30
//============================================================================
31
32
#ifndef VSMC_INTERNAL_CONFIG_HPP
33
#define VSMC_INTERNAL_CONFIG_HPP
34
35
#ifndef __STDC_CONSTANT_MACROS
36
#define __STDC_CONSTANT_MACROS
37
#endif
38
39
#include <
vsmc/internal/compiler.hpp
>
40
41
#ifndef VSMC_NO_STATIC_ASSERT
42
#define VSMC_NO_STATIC_ASSERT 0
43
#endif
44
45
#ifndef VSMC_NO_RUNTIME_ASSERT
46
#ifndef NDEBUG
47
#define VSMC_NO_RUNTIME_ASSERT 0
48
#else
49
#define VSMC_NO_RUNTIME_ASSERT 1
50
#endif
51
#endif
52
53
#ifndef VSMC_NO_RUNTIME_WARNING
54
#ifndef NDEBUG
55
#define VSMC_NO_RUNTIME_WARNING 0
56
#else
57
#define VSMC_NO_RUNTIME_WARNING 1
58
#endif
59
#endif
60
63
#ifndef VSMC_RUNTIME_ASSERT_AS_EXCEPTION
64
#define VSMC_RUNTIME_ASSERT_AS_EXCEPTION 0
65
#endif
66
69
#ifndef VSMC_RUNTIME_WARNING_AS_EXCEPTION
70
#define VSMC_RUNTIME_WARNING_AS_EXCEPTION 0
71
#endif
72
73
// Parallelization features
74
75
#ifndef VSMC_HAS_CILK
76
#define VSMC_HAS_CILK 0
77
#endif
78
79
#ifndef VSMC_HAS_GCD
80
#define VSMC_HAS_GCD 0
81
#endif
82
83
#ifndef VSMC_HAS_OMP
84
#define VSMC_HAS_OMP 0
85
#endif
86
87
#ifndef VSMC_HAS_PPL
88
#define VSMC_HAS_PPL 0
89
#endif
90
91
#ifndef VSMC_HAS_TBB
92
#define VSMC_HAS_TBB 0
93
#endif
94
95
#ifndef VSMC_HAS_MPI
96
#define VSMC_HAS_MPI 0
97
#endif
98
99
#ifndef VSMC_HAS_OPENCL
100
#define VSMC_HAS_OPENCL 0
101
#endif
102
103
// Optional libraries
104
105
#ifndef VSMC_HAS_GSL
106
#define VSMC_HAS_GSL 0
107
#endif
108
109
#ifndef VSMC_HAS_HDF5
110
#define VSMC_HAS_HDF5 0
111
#endif
112
113
#ifndef VSMC_HAS_MKL
114
#define VSMC_HAS_MKL 0
115
#endif
116
117
#ifndef VSMC_USE_MKL_CBLAS
118
#define VSMC_USE_MKL_CBLAS VSMC_HAS_MKL
119
#endif
120
121
#ifndef VSMC_USE_MKL_VML
122
#define VSMC_USE_MKL_VML VSMC_HAS_MKL
123
#endif
124
125
#ifndef VSMC_USE_MKL_VSL
126
#define VSMC_USE_MKL_VSL VSMC_HAS_MKL
127
#endif
128
129
#ifndef VSMC_HAS_ACCELERATE
130
#define VSMC_HAS_ACCELERATE 0
131
#endif
132
133
#ifndef VSMC_USE_ACCELERATE_CBLAS
134
#define VSMC_USE_ACCELERATE_CBLAS VSMC_HAS_ACCELERATE
135
#endif
136
137
#ifndef VSMC_USE_ACCELERATE_VFORCE
138
#define VSMC_USE_ACCELERATE_VFORCE VSMC_HAS_ACCELERATE
139
#endif
140
141
#ifndef VSMC_HAS_TBB_MALLOC
142
#define VSMC_HAS_TBB_MALLOC VSMC_HAS_TBB
143
#endif
144
145
#endif // VSMC_INTERNAL_CONFIG_HPP
compiler.hpp
Generated by
1.8.9.1