1 # Copyright (c) 2004-2011 Michael Stevens, David Bellot
2 # Use, modification and distribution are subject to the
3 # Boost Software License, Version 1.0. (See accompanying file
4 # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 # Bring in rules for testing
9 # Define features to test:
10 # Value types: USE_FLOAT USE_DOUBLE USE_STD_COMPLEX
11 # Proxies: USE_RANGE USE_SLICE
12 # Storage types: USE_BOUNDED_ARRAY USE_UNBOUNDED_ARRAY
13 # Vector types: USE_STD_VECTOR USE_BOUNDED_VECTOR
14 # Matrix types: USE_MATRIX USE_BOUNDED_MATRIX USE_VECTOR_OF_VECTOR
15 # Adaptors: USE_ADAPTOR
17 UBLAS_TESTSET = [ modules.peek : UBLAS_TESTSET ] ;
19 USE_DOUBLE USE_STD_COMPLEX
21 USE_UNBOUNDED_ARRAY USE_STD_VECTOR USE_BOUNDED_VECTOR USE_MATRIX
24 # Sparse storage: USE_MAP_ARRAY USE_STD_MAP
25 # Sparse vectors: USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR USE_COORDINATE_VECTOR
26 # Sparse matrices: USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX USE_COORDINATE_MATRIX USE_MAPPED_VECTOR_OF_MAPPED_VECTOR USE_GENERALIZED_VECTOR_OF_VECTOR
28 UBLAS_TESTSET_SPARSE = [ modules.peek : UBLAS_TESTSET_SPARSE ] ;
29 UBLAS_TESTSET_SPARSE ?=
30 USE_DOUBLE USE_STD_COMPLEX
31 # USE_RANGE USE_SLICE # Too complex for regression testing
33 USE_MAP_ARRAY USE_STD_MAP
34 USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR
35 USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX
37 # Generalize VofV still failing
38 # USE_GENERALIZED_VECTOR_OF_VECTOR
40 UBLAS_TESTSET_SPARSE_COO = [ modules.peek : UBLAS_TESTSET_SPARSE_COO ] ;
41 UBLAS_TESTSET_SPARSE_COO ?=
42 USE_DOUBLE USE_STD_COMPLEX
50 project boost-ublas-test
52 <define>BOOST_UBLAS_NO_EXCEPTIONS
53 <toolset>vacpp:<define>"BOOST_UBLAS_NO_ELEMENT_PROXIES"
54 <toolset>gcc:<cxxflags>"-Wall -Wno-unknown-pragmas"
55 <toolset>msvc:<cxxflags>/bigobj
56 <toolset>msvc:<cxxflags>"/W4" # == all
57 # The define of macros below prevent warnings about the checked versions of SCL and CRT libraries.
58 # Most Boost code does not need these versions (as they are markedly slower).
59 <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
60 <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
61 <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
62 <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
63 <toolset>msvc:<define>_CRT_NONSTDC_NO_DEPRECATE # Suppresses other warnings about using standard POSIX and C9X.
64 # Alternatively, you can just suppress the warnings (perhaps not the best way).
65 #<toolset>msvc:<cxxflags>/wd4996 # 'putenv': The POSIX name for this item is deprecated.
66 #<toolset>msvc:<cxxflags>/wd4512 # assignment operator could not be generated.
67 #<toolset>msvc:<cxxflags>/wd4224 # nonstandard extension used : formal parameter 'arg' was previously defined as a type.
68 #<toolset>msvc:<cxxflags>/wd4127 # expression is constant.
69 #<toolset>msvc:<cxxflags>/wd4701 # unreachable code - needed for lexical cast - temporary for Boost 1.40 & earlier.
75 test-suite numeric/uBLAS
83 <define>$(UBLAS_TESTSET)
90 <define>$(UBLAS_TESTSET)
97 <define>$(UBLAS_TESTSET_SPARSE)
104 <define>$(UBLAS_TESTSET_SPARSE_COO)
115 <define>USE_STD_COMPLEX
117 <define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR
125 <define>$(UBLAS_TESTSET)
131 <define>$(UBLAS_TESTSET)
137 <define>$(UBLAS_TESTSET)
139 # Test commented out because boost::interval does not behave like a scalar type
145 # <define>BOOST_UBLAS_USE_INTERVAL
146 # <define>$(UBLAS_TESTSET)
149 [ run placement_new.cpp
151 [ compile concepts.cpp
156 <toolset>intel-linux:<cxxflags>"-Xc"
157 <toolset>darwin:<cxxflags>"-fabi-version=0"
162 [ run triangular_access.cpp
166 [ run triangular_layout.cpp
168 [ run comp_mat_erase.cpp
170 <toolset>msvc:<asynch-exceptions>on
172 [ run sparse_view_test.cpp
174 <toolset>msvc:<asynch-exceptions>on
178 [ run num_columns.cpp
184 [ run test_coordinate_matrix_sort.cpp
186 [ run test_coordinate_matrix_sort.cpp
189 : <define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT
190 : test_coordinate_matrix_always_do_full_sort
193 [ run test_complex_norms.cpp
195 [ run test_scaled_norm.cpp
197 <define>BOOST_UBLAS_SCALED_NORM
199 [ run test_assignment.cpp
201 <define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT
203 [ run test_triangular.cpp
206 : <library>/boost/timer//boost_timer
208 [ run test_ticket7296.cpp
211 : <toolset>msvc:<cxxflags>/wd4127 # The program checks that test facilities work fine. The warning appears many times.
215 [ run test_inplace_solve.cpp
218 : <define>$(UBLAS_TESTSET)
219 : test_inplace_solve_basic
222 [ run test_inplace_solve.cpp
225 : <define>$(UBLAS_TESTSET_SPARSE)
226 <define>$(UBLAS_TESTSET_SPARSE_COO)
227 : test_inplace_solve_sparse
230 [ run test_inplace_solve.cpp
233 : <define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR
234 : test_inplace_solve_mvov
237 [ run test_coordinate_vector_inplace_merge.cpp
239 [ run test_coordinate_matrix_inplace_merge.cpp
241 [ run test_banded_storage_layout.cpp
248 [ run test_fixed_containers.cpp
253 [ run test_matrix_vector.cpp
257 build-project opencl ;
258 build-project tensor ;