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) 5 6# Bring in rules for testing 7import testing ; 8 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 16 17UBLAS_TESTSET = [ modules.peek : UBLAS_TESTSET ] ; 18UBLAS_TESTSET ?= 19 USE_DOUBLE USE_STD_COMPLEX 20 USE_RANGE USE_SLICE 21 USE_UNBOUNDED_ARRAY USE_STD_VECTOR USE_BOUNDED_VECTOR USE_MATRIX 22 ; 23 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 27 28UBLAS_TESTSET_SPARSE = [ modules.peek : UBLAS_TESTSET_SPARSE ] ; 29UBLAS_TESTSET_SPARSE ?= 30 USE_DOUBLE USE_STD_COMPLEX 31 # USE_RANGE USE_SLICE # Too complex for regression testing 32 USE_UNBOUNDED_ARRAY 33 USE_MAP_ARRAY USE_STD_MAP 34 USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR 35 USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX 36 ; 37# Generalize VofV still failing 38# USE_GENERALIZED_VECTOR_OF_VECTOR 39 40UBLAS_TESTSET_SPARSE_COO = [ modules.peek : UBLAS_TESTSET_SPARSE_COO ] ; 41UBLAS_TESTSET_SPARSE_COO ?= 42 USE_DOUBLE USE_STD_COMPLEX 43 USE_UNBOUNDED_ARRAY 44 USE_COORDINATE_VECTOR 45 USE_COORDINATE_MATRIX 46 ; 47 48 49# Project settings 50project boost-ublas-test 51 : requirements 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. 70 ; 71 72 73 74 75test-suite numeric/uBLAS 76 : [ run test1.cpp 77 test11.cpp 78 test12.cpp 79 test13.cpp 80 : # args 81 : # input files 82 : # requirements 83 <define>$(UBLAS_TESTSET) 84 ] 85 [ run test2.cpp 86 test21.cpp 87 test22.cpp 88 test23.cpp 89 : : : 90 <define>$(UBLAS_TESTSET) 91 ] 92 [ run test3.cpp 93 test31.cpp 94 test32.cpp 95 test33.cpp 96 : : : 97 <define>$(UBLAS_TESTSET_SPARSE) 98 ] 99 [ run test3.cpp 100 test31.cpp 101 test32.cpp 102 test33.cpp 103 : : : 104 <define>$(UBLAS_TESTSET_SPARSE_COO) 105 : test3_coo 106 : 107 ] 108 [ run test3.cpp 109 test31.cpp 110 test32.cpp 111 test33.cpp 112 : : : 113 <define>USE_FLOAT 114 <define>USE_DOUBLE 115 <define>USE_STD_COMPLEX 116 <define>USE_STD_MAP 117 <define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR 118 : test3_mvov 119 : 120 ] 121 [ run test4.cpp 122 test42.cpp 123 test43.cpp 124 : : : 125 <define>$(UBLAS_TESTSET) 126 ] 127 [ run test5.cpp 128 test52.cpp 129 test53.cpp 130 : : : 131 <define>$(UBLAS_TESTSET) 132 ] 133 [ run test6.cpp 134 test62.cpp 135 test63.cpp 136 : : : 137 <define>$(UBLAS_TESTSET) 138 ] 139# Test commented out because boost::interval does not behave like a scalar type 140# [ run test7.cpp 141# test71.cpp 142# test72.cpp 143# test73.cpp 144# : : : 145# <define>BOOST_UBLAS_USE_INTERVAL 146# <define>$(UBLAS_TESTSET) 147# ] 148 149 [ run placement_new.cpp 150 ] 151 [ compile concepts.cpp 152 : # requirements 153 <define>EXTERNAL 154# <define>INTERAL 155# <define>SKIP_BAD 156 <toolset>intel-linux:<cxxflags>"-Xc" 157 <toolset>darwin:<cxxflags>"-fabi-version=0" 158 ] 159 [ run test_lu.cpp 160 : : : 161 ] 162 [ run triangular_access.cpp 163 : : : 164 <define>NOMESSAGES 165 ] 166 [ run triangular_layout.cpp 167 ] 168 [ run comp_mat_erase.cpp 169 : : : 170 <toolset>msvc:<asynch-exceptions>on 171 ] 172 [ run sparse_view_test.cpp 173 : : : 174 <toolset>msvc:<asynch-exceptions>on 175 ] 176 [ run begin_end.cpp 177 ] 178 [ run num_columns.cpp 179 ] 180 [ run num_rows.cpp 181 ] 182 [ run size.cpp 183 ] 184 [ run test_coordinate_matrix_sort.cpp 185 ] 186 [ run test_coordinate_matrix_sort.cpp 187 : 188 : 189 : <define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT 190 : test_coordinate_matrix_always_do_full_sort 191 : 192 ] 193 [ run test_complex_norms.cpp 194 ] 195 [ run test_scaled_norm.cpp 196 : : : 197 <define>BOOST_UBLAS_SCALED_NORM 198 ] 199 [ run test_assignment.cpp 200 : : : 201 <define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT 202 ] 203 [ run test_triangular.cpp 204 : 205 : 206 : <library>/boost/timer//boost_timer 207 ] 208 [ run test_ticket7296.cpp 209 : 210 : 211 : <toolset>msvc:<cxxflags>/wd4127 # The program checks that test facilities work fine. The warning appears many times. 212 : 213 : 214 ] 215 [ run test_inplace_solve.cpp 216 : 217 : 218 : <define>$(UBLAS_TESTSET) 219 : test_inplace_solve_basic 220 : 221 ] 222 [ run test_inplace_solve.cpp 223 : 224 : 225 : <define>$(UBLAS_TESTSET_SPARSE) 226 <define>$(UBLAS_TESTSET_SPARSE_COO) 227 : test_inplace_solve_sparse 228 : 229 ] 230 [ run test_inplace_solve.cpp 231 : 232 : 233 : <define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR 234 : test_inplace_solve_mvov 235 : 236 ] 237 [ run test_coordinate_vector_inplace_merge.cpp 238 ] 239 [ run test_coordinate_matrix_inplace_merge.cpp 240 ] 241 [ run test_banded_storage_layout.cpp 242 : 243 : 244 : 245 : 246 : 247 ] 248 [ run test_fixed_containers.cpp 249 : 250 : 251 : 252 ] 253 [ run test_matrix_vector.cpp 254 ] 255 ; 256 257build-project opencl ; 258build-project tensor ; 259