forked from boostorg/ublas
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathJamfile
256 lines (242 loc) · 7.23 KB
/
Jamfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# Copyright (c) 2004-2011 Michael Stevens, David Bellot
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
# Bring in rules for testing
import testing ;
# Define features to test:
# Value types: USE_FLOAT USE_DOUBLE USE_STD_COMPLEX
# Proxies: USE_RANGE USE_SLICE
# Storage types: USE_BOUNDED_ARRAY USE_UNBOUNDED_ARRAY
# Vector types: USE_STD_VECTOR USE_BOUNDED_VECTOR
# Matrix types: USE_MATRIX USE_BOUNDED_MATRIX USE_VECTOR_OF_VECTOR
# Adaptors: USE_ADAPTOR
UBLAS_TESTSET = [ modules.peek : UBLAS_TESTSET ] ;
UBLAS_TESTSET ?=
USE_DOUBLE USE_STD_COMPLEX
USE_RANGE USE_SLICE
USE_UNBOUNDED_ARRAY USE_STD_VECTOR USE_BOUNDED_VECTOR USE_MATRIX
;
# Sparse storage: USE_MAP_ARRAY USE_STD_MAP
# Sparse vectors: USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR USE_COORDINATE_VECTOR
# Sparse matrices: USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX USE_COORDINATE_MATRIX USE_MAPPED_VECTOR_OF_MAPPED_VECTOR USE_GENERALIZED_VECTOR_OF_VECTOR
UBLAS_TESTSET_SPARSE = [ modules.peek : UBLAS_TESTSET_SPARSE ] ;
UBLAS_TESTSET_SPARSE ?=
USE_DOUBLE USE_STD_COMPLEX
# USE_RANGE USE_SLICE # Too complex for regression testing
USE_UNBOUNDED_ARRAY
USE_MAP_ARRAY USE_STD_MAP
USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR
USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX
;
# Generalize VofV still failing
# USE_GENERALIZED_VECTOR_OF_VECTOR
UBLAS_TESTSET_SPARSE_COO = [ modules.peek : UBLAS_TESTSET_SPARSE_COO ] ;
UBLAS_TESTSET_SPARSE_COO ?=
USE_DOUBLE USE_STD_COMPLEX
USE_UNBOUNDED_ARRAY
USE_COORDINATE_VECTOR
USE_COORDINATE_MATRIX
;
# Project settings
project boost-ublas-test
: requirements
<define>BOOST_UBLAS_NO_EXCEPTIONS
<toolset>vacpp:<define>"BOOST_UBLAS_NO_ELEMENT_PROXIES"
<toolset>gcc:<cxxflags>"-Wall -Wno-unknown-pragmas"
<toolset>msvc:<cxxflags>/bigobj
<toolset>msvc:<cxxflags>"/W4" # == all
# The define of macros below prevent warnings about the checked versions of SCL and CRT libraries.
# Most Boost code does not need these versions (as they are markedly slower).
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
<toolset>msvc:<define>_CRT_NONSTDC_NO_DEPRECATE # Suppresses other warnings about using standard POSIX and C9X.
# Alternatively, you can just suppress the warnings (perhaps not the best way).
#<toolset>msvc:<cxxflags>/wd4996 # 'putenv': The POSIX name for this item is deprecated.
#<toolset>msvc:<cxxflags>/wd4512 # assignment operator could not be generated.
#<toolset>msvc:<cxxflags>/wd4224 # nonstandard extension used : formal parameter 'arg' was previously defined as a type.
#<toolset>msvc:<cxxflags>/wd4127 # expression is constant.
#<toolset>msvc:<cxxflags>/wd4701 # unreachable code - needed for lexical cast - temporary for Boost 1.40 & earlier.
;
test-suite numeric/uBLAS
: [ run test1.cpp
test11.cpp
test12.cpp
test13.cpp
: # args
: # input files
: # requirements
<define>$(UBLAS_TESTSET)
]
[ run test2.cpp
test21.cpp
test22.cpp
test23.cpp
: : :
<define>$(UBLAS_TESTSET)
]
[ run test3.cpp
test31.cpp
test32.cpp
test33.cpp
: : :
<define>$(UBLAS_TESTSET_SPARSE)
]
[ run test3.cpp
test31.cpp
test32.cpp
test33.cpp
: : :
<define>$(UBLAS_TESTSET_SPARSE_COO)
: test3_coo
:
]
[ run test3.cpp
test31.cpp
test32.cpp
test33.cpp
: : :
<define>USE_FLOAT
<define>USE_DOUBLE
<define>USE_STD_COMPLEX
<define>USE_STD_MAP
<define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR
: test3_mvov
:
]
[ run test4.cpp
test42.cpp
test43.cpp
: : :
<define>$(UBLAS_TESTSET)
]
[ run test5.cpp
test52.cpp
test53.cpp
: : :
<define>$(UBLAS_TESTSET)
]
[ run test6.cpp
test62.cpp
test63.cpp
: : :
<define>$(UBLAS_TESTSET)
]
# Test commented out because boost::interval does not behave like a scalar type
# [ run test7.cpp
# test71.cpp
# test72.cpp
# test73.cpp
# : : :
# <define>BOOST_UBLAS_USE_INTERVAL
# <define>$(UBLAS_TESTSET)
# ]
[ run placement_new.cpp
]
[ compile concepts.cpp
: # requirements
<define>EXTERNAL
# <define>INTERAL
# <define>SKIP_BAD
<toolset>intel-linux:<cxxflags>"-Xc"
<toolset>darwin:<cxxflags>"-fabi-version=0"
]
[ run test_lu.cpp
: : :
]
[ run triangular_access.cpp
: : :
<define>NOMESSAGES
]
[ run triangular_layout.cpp
]
[ run comp_mat_erase.cpp
: : :
<toolset>msvc:<asynch-exceptions>on
]
[ run sparse_view_test.cpp
: : :
<toolset>msvc:<asynch-exceptions>on
]
[ run begin_end.cpp
]
[ run num_columns.cpp
]
[ run num_rows.cpp
]
[ run size.cpp
]
[ run test_coordinate_matrix_sort.cpp
]
[ run test_coordinate_matrix_sort.cpp
:
:
: <define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT
: test_coordinate_matrix_always_do_full_sort
:
]
[ run test_complex_norms.cpp
]
[ run test_scaled_norm.cpp
: : :
<define>BOOST_UBLAS_SCALED_NORM
]
[ run test_assignment.cpp
: : :
<define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT
]
[ run test_triangular.cpp
:
:
: <library>/boost/timer//boost_timer
]
[ run test_ticket7296.cpp
:
:
: <toolset>msvc:<cxxflags>/wd4127 # The program checks that test facilities work fine. The warning appears many times.
:
:
]
[ run test_inplace_solve.cpp
:
:
: <define>$(UBLAS_TESTSET)
: test_inplace_solve_basic
:
]
[ run test_inplace_solve.cpp
:
:
: <define>$(UBLAS_TESTSET_SPARSE)
<define>$(UBLAS_TESTSET_SPARSE_COO)
: test_inplace_solve_sparse
:
]
[ run test_inplace_solve.cpp
:
:
: <define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR
: test_inplace_solve_mvov
:
]
[ run test_coordinate_vector_inplace_merge.cpp
]
[ run test_coordinate_matrix_inplace_merge.cpp
]
[ run test_banded_storage_layout.cpp
:
:
:
:
:
]
[ run test_fixed_containers.cpp
:
:
:
]
[ run test_matrix_vector.cpp
]
;