diff options
Diffstat (limited to 'libs/numeric/ublas')
83 files changed, 845 insertions, 318 deletions
diff --git a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench1/bench1.pro b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench1/bench1.pro index 2dafd7ade..685802b31 100644 --- a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench1/bench1.pro +++ b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench1/bench1.pro @@ -1,3 +1,8 @@ +TEMPLATE = app +TARGET = bench1 + +!include (../configuration.pri) + OTHER_FILES += \ ../../../../benchmarks/bench1/Jamfile.v2 diff --git a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench2/bench2.pro b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench2/bench2.pro index 17f5cc7f9..b667a3fd4 100644 --- a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench2/bench2.pro +++ b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench2/bench2.pro @@ -1,3 +1,8 @@ +TEMPLATE = app +TARGET = bench2 + +!include (../configuration.pri) + OTHER_FILES += \ ../../../../benchmarks/bench2/Jamfile.v2 diff --git a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench3/bench3.pro b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench3/bench3.pro index c41d261bd..21f561fc6 100644 --- a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench3/bench3.pro +++ b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench3/bench3.pro @@ -1,3 +1,8 @@ +TEMPLATE = app +TARGET = bench3 + +!include (../configuration.pri) + OTHER_FILES += \ ../../../../benchmarks/bench3/Jamfile.v2 diff --git a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench4/bench4.pro b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench4/bench4.pro index 578026c1c..354bb478b 100644 --- a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench4/bench4.pro +++ b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench4/bench4.pro @@ -1,3 +1,10 @@ +TEMPLATE = app +TARGET = bench4 + +!include (../configuration.pri) + +DEFINES += BOOST_UBLAS_USE_INTERVAL + OTHER_FILES += \ ../../../../benchmarks/bench4/Jamfile.v2 diff --git a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench5/bench5.pro b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench5/bench5.pro index 1eddc2b6d..e450911f0 100644 --- a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench5/bench5.pro +++ b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/bench5/bench5.pro @@ -1,3 +1,10 @@ +TEMPLATE = app +TARGET = bench5 + +!include (../configuration.pri) + +DEFINES += BOOST_UBLAS_USE_INTERVAL + OTHER_FILES += \ ../../../../benchmarks/bench5/Jamfile.v2 diff --git a/libs/numeric/ublas/IDEs/qtcreator/benchmarks/configuration.pri b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/configuration.pri new file mode 100644 index 000000000..07ffcae1c --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/benchmarks/configuration.pri @@ -0,0 +1,13 @@ +CONFIG -= qt +CONFIG += depend_includepath + +# ublas include directory +INCLUDEPATH += \ + ../../../../include + +# If ublas tests are build with boost source code then, +# then boost headers and boost libraries should be used. +exists(../../../../../../../boost-build.jam) { + INCLUDEPATH += ../../../../../../.. + #LIBS += -L../../../../../../../stage/lib +} diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/detail/detail.pri b/libs/numeric/ublas/IDEs/qtcreator/include/detail/detail.pri new file mode 100644 index 000000000..711972db4 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/include/detail/detail.pri @@ -0,0 +1,12 @@ +HEADERS += \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/vector_assign.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/temporary.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/returntype_deduction.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/raw.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/matrix_assign.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/iterator.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/duff.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/documentation.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/definitions.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/config.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/detail/concepts.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/detail/detail.pro b/libs/numeric/ublas/IDEs/qtcreator/include/detail/detail.pro deleted file mode 100644 index c933c5e56..000000000 --- a/libs/numeric/ublas/IDEs/qtcreator/include/detail/detail.pro +++ /dev/null @@ -1,12 +0,0 @@ -HEADERS += \ - ../../../../include/boost/numeric/ublas/detail/vector_assign.hpp \ - ../../../../include/boost/numeric/ublas/detail/temporary.hpp \ - ../../../../include/boost/numeric/ublas/detail/returntype_deduction.hpp \ - ../../../../include/boost/numeric/ublas/detail/raw.hpp \ - ../../../../include/boost/numeric/ublas/detail/matrix_assign.hpp \ - ../../../../include/boost/numeric/ublas/detail/iterator.hpp \ - ../../../../include/boost/numeric/ublas/detail/duff.hpp \ - ../../../../include/boost/numeric/ublas/detail/documentation.hpp \ - ../../../../include/boost/numeric/ublas/detail/definitions.hpp \ - ../../../../include/boost/numeric/ublas/detail/config.hpp \ - ../../../../include/boost/numeric/ublas/detail/concepts.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/experimental/experimental.pri b/libs/numeric/ublas/IDEs/qtcreator/include/experimental/experimental.pri new file mode 100644 index 000000000..41dc6c46b --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/include/experimental/experimental.pri @@ -0,0 +1,2 @@ +HEADERS += \ + $${INCLUDE_DIR}/boost/numeric/ublas/experimental/sparse_view.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/experimental/experimental.pro b/libs/numeric/ublas/IDEs/qtcreator/include/experimental/experimental.pro deleted file mode 100644 index 2970a93d4..000000000 --- a/libs/numeric/ublas/IDEs/qtcreator/include/experimental/experimental.pro +++ /dev/null @@ -1,2 +0,0 @@ -HEADERS += \ - ../../../../include/boost/numeric/ublas/experimental/sparse_view.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/include.pro b/libs/numeric/ublas/IDEs/qtcreator/include/include.pro index f89656fc2..5815a01fe 100644 --- a/libs/numeric/ublas/IDEs/qtcreator/include/include.pro +++ b/libs/numeric/ublas/IDEs/qtcreator/include/include.pro @@ -1,34 +1,47 @@ -TEMPLATE = subdirs -SUBDIRS = detail experimental operation traits +TEMPLATE = lib +TARGET = ublas + +CONFIG += \ + staticlib \ + depend_includepath +CONFIG -= qt + +INCLUDE_DIR = ../../../include + +include(detail/detail.pri) +include(experimental/experimental.pri) +include(operation/operation.pri) +include(traits/traits.pri) + HEADERS += \ - ../../../include/boost/numeric/ublas/vector_sparse.hpp \ - ../../../include/boost/numeric/ublas/vector_proxy.hpp \ - ../../../include/boost/numeric/ublas/vector_of_vector.hpp \ - ../../../include/boost/numeric/ublas/vector_expression.hpp \ - ../../../include/boost/numeric/ublas/vector.hpp \ - ../../../include/boost/numeric/ublas/triangular.hpp \ - ../../../include/boost/numeric/ublas/traits.hpp \ - ../../../include/boost/numeric/ublas/tags.hpp \ - ../../../include/boost/numeric/ublas/symmetric.hpp \ - ../../../include/boost/numeric/ublas/storage_sparse.hpp \ - ../../../include/boost/numeric/ublas/storage.hpp \ - ../../../include/boost/numeric/ublas/operation_sparse.hpp \ - ../../../include/boost/numeric/ublas/operations.hpp \ - ../../../include/boost/numeric/ublas/operation_blocked.hpp \ - ../../../include/boost/numeric/ublas/operation.hpp \ - ../../../include/boost/numeric/ublas/matrix_sparse.hpp \ - ../../../include/boost/numeric/ublas/matrix_proxy.hpp \ - ../../../include/boost/numeric/ublas/matrix_expression.hpp \ - ../../../include/boost/numeric/ublas/matrix.hpp \ - ../../../include/boost/numeric/ublas/lu.hpp \ - ../../../include/boost/numeric/ublas/io.hpp \ - ../../../include/boost/numeric/ublas/hermitian.hpp \ - ../../../include/boost/numeric/ublas/fwd.hpp \ - ../../../include/boost/numeric/ublas/functional.hpp \ - ../../../include/boost/numeric/ublas/expression_types.hpp \ - ../../../include/boost/numeric/ublas/exception.hpp \ - ../../../include/boost/numeric/ublas/doxydoc.hpp \ - ../../../include/boost/numeric/ublas/blas.hpp \ - ../../../include/boost/numeric/ublas/banded.hpp \ - ../../../include/boost/numeric/ublas/assignment.hpp \ - ../../../include/boost/numeric/ublas/matrix_vector.hpp + $${INCLUDE_DIR}/boost/numeric/ublas/vector_sparse.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/vector_proxy.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/vector_of_vector.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/vector_expression.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/vector.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/triangular.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/traits.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/tags.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/symmetric.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/storage_sparse.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/storage.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation_sparse.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operations.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation_blocked.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/matrix_sparse.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/matrix_proxy.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/matrix_expression.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/matrix.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/lu.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/io.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/hermitian.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/fwd.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/functional.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/expression_types.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/exception.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/doxydoc.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/blas.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/banded.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/assignment.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/matrix_vector.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/operation/operation.pri b/libs/numeric/ublas/IDEs/qtcreator/include/operation/operation.pri new file mode 100644 index 000000000..519c4f4a6 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/include/operation/operation.pri @@ -0,0 +1,7 @@ +HEADERS += \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation/size.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation/num_rows.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation/num_columns.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation/end.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation/c_array.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/operation/begin.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/operation/operation.pro b/libs/numeric/ublas/IDEs/qtcreator/include/operation/operation.pro deleted file mode 100644 index 648e57bb4..000000000 --- a/libs/numeric/ublas/IDEs/qtcreator/include/operation/operation.pro +++ /dev/null @@ -1,7 +0,0 @@ -HEADERS += \ - ../../../../include/boost/numeric/ublas/operation/size.hpp \ - ../../../../include/boost/numeric/ublas/operation/num_rows.hpp \ - ../../../../include/boost/numeric/ublas/operation/num_columns.hpp \ - ../../../../include/boost/numeric/ublas/operation/end.hpp \ - ../../../../include/boost/numeric/ublas/operation/c_array.hpp \ - ../../../../include/boost/numeric/ublas/operation/begin.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/traits/traits.pri b/libs/numeric/ublas/IDEs/qtcreator/include/traits/traits.pri new file mode 100644 index 000000000..de327dc68 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/include/traits/traits.pri @@ -0,0 +1,4 @@ +HEADERS += \ + $${INCLUDE_DIR}/boost/numeric/ublas/traits/iterator_type.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/traits/const_iterator_type.hpp \ + $${INCLUDE_DIR}/boost/numeric/ublas/traits/c_array.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/include/traits/traits.pro b/libs/numeric/ublas/IDEs/qtcreator/include/traits/traits.pro deleted file mode 100644 index 15d1bde22..000000000 --- a/libs/numeric/ublas/IDEs/qtcreator/include/traits/traits.pro +++ /dev/null @@ -1,4 +0,0 @@ -HEADERS += \ - ../../../../include/boost/numeric/ublas/traits/iterator_type.hpp \ - ../../../../include/boost/numeric/ublas/traits/const_iterator_type.hpp \ - ../../../../include/boost/numeric/ublas/traits/c_array.hpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/begin_end.pro b/libs/numeric/ublas/IDEs/qtcreator/test/begin_end.pro new file mode 100644 index 000000000..03c4c6276 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/begin_end.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = begin_end + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/begin_end.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/comp_mat_erase.pro b/libs/numeric/ublas/IDEs/qtcreator/test/comp_mat_erase.pro new file mode 100644 index 000000000..63960aefe --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/comp_mat_erase.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = comp_mat_erase + +!include (configuration.pri) + +SOURCES += \ + ../../../test/comp_mat_erase.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/concepts.pro b/libs/numeric/ublas/IDEs/qtcreator/test/concepts.pro new file mode 100644 index 000000000..c4c0bca9f --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/concepts.pro @@ -0,0 +1,16 @@ +TEMPLATE = app +TARGET = concepts + +!include (configuration.pri) + +DEFINES += \ + EXTERNAL +# INTERAL +# SKIP_BAD + +linux: icc: QMAKE_CXXFLAGS += -Xc +macx: QMAKE_CXXFLAGS += -fabi-version=0 + + +SOURCES += \ + ../../../test/concepts.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/configuration.pri b/libs/numeric/ublas/IDEs/qtcreator/test/configuration.pri new file mode 100644 index 000000000..3fdb4aa52 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/configuration.pri @@ -0,0 +1,51 @@ +CONFIG -= qt +CONFIG += \ + depend_includepath \ + debug +QMAKE_CXXFLAGS += -fno-inline + +# Create a directory for each test. +DESTDIR = $${TARGET} +OBJECTS_DIR = $${TARGET} + +UBLAS_TESTSET = \ + USE_DOUBLE USE_STD_COMPLEX \ + USE_RANGE USE_SLICE \ + USE_UNBOUNDED_ARRAY USE_STD_VECTOR USE_BOUNDED_VECTOR USE_MATRIX + +UBLAS_TESTSET_SPARSE = \ + USE_DOUBLE USE_STD_COMPLEX \ + USE_UNBOUNDED_ARRAY \ + USE_MAP_ARRAY USE_STD_MAP \ + USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR \ + USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX + # USE_RANGE USE_SLICE # Too complex for regression testing + +UBLAS_TESTSET_SPARSE_COO = \ + USE_DOUBLE USE_STD_COMPLEX \ + USE_UNBOUNDED_ARRAY \ + USE_COORDINATE_VECTOR \ + USE_COORDINATE_MATRIX + +DEFINES += BOOST_UBLAS_NO_EXCEPTIONS + +#Visual age IBM +xlc: DEFINES += BOOST_UBLAS_NO_ELEMENT_PROXIES + +# ublas include and test directory are included +INCLUDEPATH += \ + ../../../include \ + ../../test + +# If ublas tests are build with boost source code then, +# then boost headers and boost libraries should be used. +exists(../../../../../../boost-build.jam) { + INCLUDEPATH += ../../../../../.. + LIBS += -L../../../../../../stage/lib + QMAKE_RPATHDIR += ../../../../../../stage/lib +} + +# Execute test once compiled. +win32: QMAKE_POST_LINK = ./$${DESTDIR}/$${TARGET}.exe +else: QMAKE_POST_LINK = ./$${DESTDIR}/$${TARGET} + diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/num_columns.pro b/libs/numeric/ublas/IDEs/qtcreator/test/num_columns.pro new file mode 100644 index 000000000..8a28199c6 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/num_columns.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = num_columns + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/num_columns.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/num_rows.pro b/libs/numeric/ublas/IDEs/qtcreator/test/num_rows.pro new file mode 100644 index 000000000..dc0a22904 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/num_rows.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = num_rows + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/num_rows.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/placement_new.pro b/libs/numeric/ublas/IDEs/qtcreator/test/placement_new.pro new file mode 100644 index 000000000..d19a74743 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/placement_new.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = placement_new + +!include (configuration.pri) + +SOURCES += \ + ../../../test/placement_new.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/size.pro b/libs/numeric/ublas/IDEs/qtcreator/test/size.pro new file mode 100644 index 000000000..59a040334 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/size.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = size + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/size.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/sparse_view_test.pro b/libs/numeric/ublas/IDEs/qtcreator/test/sparse_view_test.pro new file mode 100644 index 000000000..02b3eb089 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/sparse_view_test.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = sparse_view_test + +!include (configuration.pri) + +SOURCES += \ + ../../../test/sparse_view_test.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test.pro deleted file mode 100644 index fb0e4c62c..000000000 --- a/libs/numeric/ublas/IDEs/qtcreator/test/test.pro +++ /dev/null @@ -1,64 +0,0 @@ -OTHER_FILES += \ - ../../../test/README \ - ../../../test/Jamfile.v2 - -HEADERS += \ - ../../../test/utils.hpp \ - ../../../test/test7.hpp \ - ../../../test/test6.hpp \ - ../../../test/test5.hpp \ - ../../../test/test4.hpp \ - ../../../test/test3.hpp \ - ../../../test/test2.hpp \ - ../../../test/test1.hpp \ - ../../../test/common/testhelper.hpp \ - ../../../test/common/init.hpp - -SOURCES += \ - ../../../test/triangular_layout.cpp \ - ../../../test/triangular_access.cpp \ - ../../../test/test_triangular.cpp \ - ../../../test/test_ticket7296.cpp \ - ../../../test/test_lu.cpp \ - ../../../test/test_inplace_solve.cpp \ - ../../../test/test_coordinate_vector_inplace_merge.cpp \ - ../../../test/test_coordinate_matrix_sort.cpp \ - ../../../test/test_coordinate_matrix_inplace_merge.cpp \ - ../../../test/test_complex_norms.cpp \ - ../../../test/test_banded_storage_layout.cpp \ - ../../../test/test_assignment.cpp \ - ../../../test/test73.cpp \ - ../../../test/test72.cpp \ - ../../../test/test71.cpp \ - ../../../test/test63.cpp \ - ../../../test/test62.cpp \ - ../../../test/test53.cpp \ - ../../../test/test52.cpp \ - ../../../test/test43.cpp \ - ../../../test/test42.cpp \ - ../../../test/test33.cpp \ - ../../../test/test32.cpp \ - ../../../test/test31.cpp \ - ../../../test/test23.cpp \ - ../../../test/test22.cpp \ - ../../../test/test21.cpp \ - ../../../test/test13.cpp \ - ../../../test/test12.cpp \ - ../../../test/test11.cpp \ - ../../../test/test7.cpp \ - ../../../test/test6.cpp \ - ../../../test/test5.cpp \ - ../../../test/test4.cpp \ - ../../../test/test3.cpp \ - ../../../test/test2.cpp \ - ../../../test/test1.cpp \ - ../../../test/sparse_view_test.cpp \ - ../../../test/size.cpp \ - ../../../test/placement_new.cpp \ - ../../../test/num_rows.cpp \ - ../../../test/num_columns.cpp \ - ../../../test/concepts.cpp \ - ../../../test/comp_mat_erase.cpp \ - ../../../test/begin_end.cpp \ - ../../../test/test_fixed_containers.cpp \ - ../../../test/test_matrix_vector.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test1.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test1.pro new file mode 100644 index 000000000..d1123c44e --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test1.pro @@ -0,0 +1,14 @@ +TEMPLATE = app +TARGET = test1 + +!include (configuration.pri) + +DEFINES += $$UBLAS_TESTSET + +HEADERS += ../../../test/test1.hpp + +SOURCES += \ + ../../../test/test13.cpp \ + ../../../test/test12.cpp \ + ../../../test/test11.cpp \ + ../../../test/test1.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test2.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test2.pro new file mode 100644 index 000000000..00fb53f54 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test2.pro @@ -0,0 +1,14 @@ +TEMPLATE = app +TARGET = test2 + +!include (configuration.pri) + +DEFINES += $$UBLAS_TESTSET + +HEADERS += ../../../test/test2.hpp + +SOURCES += \ + ../../../test/test23.cpp \ + ../../../test/test22.cpp \ + ../../../test/test21.cpp \ + ../../../test/test2.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test3.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test3.pro new file mode 100644 index 000000000..f4fd021fa --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test3.pro @@ -0,0 +1,14 @@ +TEMPLATE = app +TARGET = test3 + +!include (configuration.pri) + +DEFINES += $$UBLAS_TESTSET_SPARSE + +HEADERS += ../../../test/test3.hpp + +SOURCES += \ + ../../../test/test33.cpp \ + ../../../test/test32.cpp \ + ../../../test/test31.cpp \ + ../../../test/test3.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test3_coo.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test3_coo.pro new file mode 100644 index 000000000..27e3ca384 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test3_coo.pro @@ -0,0 +1,14 @@ +TEMPLATE = app +TARGET = test3_coo + +!include (configuration.pri) + +DEFINES += $$UBLAS_TESTSET_SPARSE_COO + +HEADERS += ../../../test/test3.hpp + +SOURCES += \ + ../../../test/test33.cpp \ + ../../../test/test32.cpp \ + ../../../test/test31.cpp \ + ../../../test/test3.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test3_mvov.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test3_mvov.pro new file mode 100644 index 000000000..f0a46dcd2 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test3_mvov.pro @@ -0,0 +1,19 @@ +TEMPLATE = app +TARGET = test3_mvov + +!include (configuration.pri) + +DEFINES += \ + USE_FLOAT \ + USE_DOUBLE \ + USE_STD_COMPLEX \ + USE_STD_MAP \ + USE_MAPPED_VECTOR_OF_MAPPED_VECTOR + +HEADERS += ../../../test/test3.hpp + +SOURCES += \ + ../../../test/test33.cpp \ + ../../../test/test32.cpp \ + ../../../test/test31.cpp \ + ../../../test/test3.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test4.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test4.pro new file mode 100644 index 000000000..19da3f872 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test4.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test4 + +!include (configuration.pri) + +DEFINES += $$UBLAS_TESTSET + +HEADERS += ../../../test/test4.hpp + +SOURCES += \ + ../../../test/test43.cpp \ + ../../../test/test42.cpp \ + ../../../test/test4.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test5.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test5.pro new file mode 100644 index 000000000..3f27384ec --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test5.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test5 + +!include (configuration.pri) + +DEFINES += $$UBLAS_TESTSET + +HEADERS += ../../../test/test5.hpp + +SOURCES += \ + ../../../test/test53.cpp \ + ../../../test/test52.cpp \ + ../../../test/test5.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test6.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test6.pro new file mode 100644 index 000000000..0664ce454 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test6.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test6 + +!include (configuration.pri) + +DEFINES += $$UBLAS_TESTSET + +HEADERS += ../../../test/test6.hpp + +SOURCES += \ + ../../../test/test63.cpp \ + ../../../test/test62.cpp \ + ../../../test/test6.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test7.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test7.pro new file mode 100644 index 000000000..541018492 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test7.pro @@ -0,0 +1,16 @@ +TEMPLATE = app +TARGET = test7 + +!include (configuration.pri) + +DEFINES += \ + BOOST_UBLAS_USE_INTERVAL \ + $${UBLAS_TESTSET} + +HEADERS += ../../../test/test7.hpp + +SOURCES += \ + ../../../test/test73.cpp \ + ../../../test/test72.cpp \ + ../../../test/test71.cpp \ + ../../../test/test7.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_assignment.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_assignment.pro new file mode 100644 index 000000000..1ad6ca391 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_assignment.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test_assignment + +!include (configuration.pri) + +DEFINES += \ + BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_assignment.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_banded_storage_layout.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_banded_storage_layout.pro new file mode 100644 index 000000000..78a96dc42 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_banded_storage_layout.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = test_banded_storage_layout + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_banded_storage_layout.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_complex_norms.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_complex_norms.pro new file mode 100644 index 000000000..e7c431e4a --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_complex_norms.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = test_complex_norms + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_complex_norms.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_always_do_full_sort.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_always_do_full_sort.pro new file mode 100644 index 000000000..0c93dd04b --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_always_do_full_sort.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test_coordinate_matrix_always_do_full_sort + +!include (configuration.pri) + +DEFINES += \ + BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_coordinate_matrix_sort.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_inplace_merge.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_inplace_merge.pro new file mode 100644 index 000000000..0dee5eb39 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_inplace_merge.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = test_coordinate_matrix_inplace_merge + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_coordinate_matrix_inplace_merge.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_sort.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_sort.pro new file mode 100644 index 000000000..ea94561d1 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_matrix_sort.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = test_coordinate_matrix_sort + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_coordinate_matrix_sort.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_vector_inplace_merge.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_vector_inplace_merge.pro new file mode 100644 index 000000000..a86ce2aeb --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_coordinate_vector_inplace_merge.pro @@ -0,0 +1,9 @@ +TEMPLATE = app +TARGET = test_coordinate_vector_inplace_merge + +!include (configuration.pri) +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_coordinate_vector_inplace_merge.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_fixed_containers.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_fixed_containers.pro new file mode 100644 index 000000000..60127482f --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_fixed_containers.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = test_fixed_containers + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_fixed_containers.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_basic.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_basic.pro new file mode 100644 index 000000000..42bc3db6f --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_basic.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test_inplace_solve_basic + +!include (configuration.pri) + +DEFINES += \ + $$UBLAS_TESTSET + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_inplace_solve.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_mvov.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_mvov.pro new file mode 100644 index 000000000..a1d1316d6 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_mvov.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test_inplace_solve_mvov + +!include (configuration.pri) + +DEFINES += \ + USE_MAPPED_VECTOR_OF_MAPPED_VECTOR + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_inplace_solve.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_sparse.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_sparse.pro new file mode 100644 index 000000000..9f9a32a09 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_inplace_solve_sparse.pro @@ -0,0 +1,14 @@ +TEMPLATE = app +TARGET = test_inplace_solve_sparse + +!include (configuration.pri) + +DEFINES += \ + $$UBLAS_TESTSET_SPARSE \ + $$UBLAS_TESTSET_SPARSE_COO + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_inplace_solve.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_lu.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_lu.pro new file mode 100644 index 000000000..0f2033971 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_lu.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = test_lu + +!include (configuration.pri) + +HEADERS += \ + ../../../test/common/testhelper.hpp + +SOURCES += \ + ../../../test/test_lu.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_matrix_vector.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_matrix_vector.pro new file mode 100644 index 000000000..d61b70bfb --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_matrix_vector.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = test_matrix_vector + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_matrix_vector.cpp + +INCLUDEPATH += \ + ../../../include diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_ticket7296.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_ticket7296.pro new file mode 100644 index 000000000..98752cf75 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_ticket7296.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = test_ticket7296 + +!include (configuration.pri) + +HEADERS += \ + ../../../test/utils.hpp + +SOURCES += \ + ../../../test/test_ticket7296.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/test_triangular.pro b/libs/numeric/ublas/IDEs/qtcreator/test/test_triangular.pro new file mode 100644 index 000000000..15c8ce110 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/test_triangular.pro @@ -0,0 +1,16 @@ +TEMPLATE = app +TARGET = test_triangular + +!include (configuration.pri) + +DEFINES += \ + BOOST_CHRONO_DYN_LINK=1 \ + BOOST_CHRONO_THREAD_DISABLED \ + BOOST_SYSTEM_DYN_LINK=1 \ + BOOST_SYSTEM_NO_DEPRECATED \ + BOOST_TIMER_DYN_LINK=1 + +SOURCES += \ + ../../../test/test_triangular.cpp + +LIBS += -lboost_timer -lboost_system -lboost_chrono diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/triangular_access.pro b/libs/numeric/ublas/IDEs/qtcreator/test/triangular_access.pro new file mode 100644 index 000000000..98a87063b --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/triangular_access.pro @@ -0,0 +1,12 @@ +TEMPLATE = app +TARGET = triangular_access + +!include (configuration.pri) + +DEFINES += NOMESSAGES + +HEADERS += \ + ../../../test/common/testhelper.hpp + +SOURCES += \ + ../../../test/triangular_access.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/test/triangular_layout.pro b/libs/numeric/ublas/IDEs/qtcreator/test/triangular_layout.pro new file mode 100644 index 000000000..dcfd36f6f --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/test/triangular_layout.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = triangular_layout + +!include (configuration.pri) + +SOURCES += \ + ../../../test/triangular_layout.cpp diff --git a/libs/numeric/ublas/IDEs/qtcreator/tests.pri b/libs/numeric/ublas/IDEs/qtcreator/tests.pri new file mode 100644 index 000000000..6ece4acd5 --- /dev/null +++ b/libs/numeric/ublas/IDEs/qtcreator/tests.pri @@ -0,0 +1,74 @@ +OTHER_FILES += \ + ../../test/README \ + ../../test/Jamfile.v2 + +SUBDIRS += \ + begin_end \ + comp_mat_erase \ + concepts \ + num_columns \ + num_rows \ + placement_new \ + size \ + sparse_view_test \ + test1 \ + test2 \ + test3 \ + test3_coo \ + test3_mvov \ + test4 \ + test5 \ + test6 \ + test7 \ + test_assignment \ + test_banded_storage_layout \ + test_complex_norms \ + test_coordinate_matrix_inplace_merge \ + test_coordinate_matrix_sort \ + test_coordinate_matrix_always_do_full_sort \ + test_coordinate_vector_inplace_merge \ + test_fixed_containers \ + test_inplace_solve_basic \ + test_inplace_solve_sparse \ + test_inplace_solve_mvov \ + test_lu \ + test_matrix_vector \ + test_ticket7296 \ + test_triangular \ + triangular_access \ + triangular_layout + +begin_end.file = test/begin_end.pro +comp_mat_erase.file = test/comp_mat_erase.pro +concepts.file = test/concepts.pro +num_columns.file = test/num_columns.pro +num_rows.file = test/num_rows.pro +placement_new.file = test/placement_new.pro +size.file = test/size.pro +sparse_view_test.file = test/sparse_view_test.pro +test1.file = test/test1.pro +test2.file = test/test2.pro +test3.file = test/test3.pro +test3_coo.file = test/test3_coo.pro +test3_mvov.file = test/test3_mvov.pro +test4.file = test/test4.pro +test5.file = test/test5.pro +test6.file = test/test6.pro +test7.file = test/test7.pro +test_assignment.file = test/test_assignment.pro +test_banded_storage_layout.file = test/test_banded_storage_layout.pro +test_complex_norms.file = test/test_complex_norms.pro +test_coordinate_matrix_inplace_merge.file = test/test_coordinate_matrix_inplace_merge.pro +test_coordinate_matrix_sort.file = test/test_coordinate_matrix_sort.pro +test_coordinate_matrix_always_do_full_sort.file = test/test_coordinate_matrix_always_do_full_sort.pro +test_coordinate_vector_inplace_merge.file = test/test_coordinate_vector_inplace_merge.pro +test_fixed_containers.file = test/test_fixed_containers.pro +test_inplace_solve_basic.file = test/test_inplace_solve_basic.pro +test_inplace_solve_sparse.file = test/test_inplace_solve_sparse.pro +test_inplace_solve_mvov.file = test/test_inplace_solve_mvov.pro +test_lu.file = test/test_lu.pro +test_matrix_vector.file = test/test_matrix_vector.pro +test_ticket7296.file = test/test_ticket7296.pro +test_triangular.file = test/test_triangular.pro +triangular_access.file = test/triangular_access.pro +triangular_layout.file = test/triangular_layout.pro diff --git a/libs/numeric/ublas/IDEs/qtcreator/ublas_develop.pro b/libs/numeric/ublas/IDEs/qtcreator/ublas_develop.pro index d793adfcf..7364283a9 100644 --- a/libs/numeric/ublas/IDEs/qtcreator/ublas_develop.pro +++ b/libs/numeric/ublas/IDEs/qtcreator/ublas_develop.pro @@ -1,3 +1,6 @@ TEMPLATE = subdirs -SUBDIRS = include benchmarks test +CONFIG += ordered +SUBDIRS = include benchmarks OTHER_FILES += ../../changelog.txt + +include (tests.pri) diff --git a/libs/numeric/ublas/benchmarks/bench1/bench1.hpp b/libs/numeric/ublas/benchmarks/bench1/bench1.hpp index 08376c9b1..d799463d4 100644 --- a/libs/numeric/ublas/benchmarks/bench1/bench1.hpp +++ b/libs/numeric/ublas/benchmarks/bench1/bench1.hpp @@ -23,6 +23,9 @@ #include <boost/timer.hpp> +#define BOOST_UBLAS_NOT_USED(x) (void)(x) + + namespace ublas = boost::numeric::ublas; void header (std::string text); diff --git a/libs/numeric/ublas/benchmarks/bench1/bench11.cpp b/libs/numeric/ublas/benchmarks/bench1/bench11.cpp index 633d82729..806a422b0 100644 --- a/libs/numeric/ublas/benchmarks/bench1/bench11.cpp +++ b/libs/numeric/ublas/benchmarks/bench1/bench11.cpp @@ -50,6 +50,7 @@ struct bench_my_inner_prod { static value_type s (0); s = ublas::inner_prod (v1, v2); // sink_scalar (s); + BOOST_UBLAS_NOT_USED(s); } footer<value_type> () (N, N - 1, runs, t.elapsed ()); } @@ -96,6 +97,7 @@ struct bench_c_vector_add { v3 [j] = - (v1 [j] + v2 [j]); } // sink_c_vector<T, N> () (v3); + BOOST_UBLAS_NOT_USED(v3); } footer<value_type> () (0, 2 * N, runs, t.elapsed ()); } diff --git a/libs/numeric/ublas/benchmarks/bench1/bench12.cpp b/libs/numeric/ublas/benchmarks/bench1/bench12.cpp index 50c57d736..439188f67 100644 --- a/libs/numeric/ublas/benchmarks/bench1/bench12.cpp +++ b/libs/numeric/ublas/benchmarks/bench1/bench12.cpp @@ -31,6 +31,8 @@ struct bench_c_outer_prod { } // sink_c_matrix<T, N, N> () (m); } + BOOST_UBLAS_NOT_USED(m); + footer<value_type> () (N * N, N * N, runs, t.elapsed ()); } catch (std::exception &e) { @@ -214,6 +216,8 @@ struct bench_c_matrix_add { } // sink_c_matrix<T, N, N> () (m3); } + BOOST_UBLAS_NOT_USED(m3); + footer<value_type> () (0, 2 * N * N, runs, t.elapsed ()); } catch (std::exception &e) { diff --git a/libs/numeric/ublas/benchmarks/bench2/bench2.hpp b/libs/numeric/ublas/benchmarks/bench2/bench2.hpp index 713fec5fd..efb20a27a 100644 --- a/libs/numeric/ublas/benchmarks/bench2/bench2.hpp +++ b/libs/numeric/ublas/benchmarks/bench2/bench2.hpp @@ -24,6 +24,10 @@ #include <boost/timer.hpp> + +#define BOOST_UBLAS_NOT_USED(x) (void)(x) + + namespace ublas = boost::numeric::ublas; void header (std::string text); diff --git a/libs/numeric/ublas/benchmarks/bench2/bench21.cpp b/libs/numeric/ublas/benchmarks/bench2/bench21.cpp index 2cf33326f..50d70a405 100644 --- a/libs/numeric/ublas/benchmarks/bench2/bench21.cpp +++ b/libs/numeric/ublas/benchmarks/bench2/bench21.cpp @@ -50,6 +50,7 @@ struct bench_my_inner_prod { static value_type s (0); s = ublas::inner_prod (v1, v2); // sink_scalar (s); + BOOST_UBLAS_NOT_USED(s); } footer<value_type> () (N, N - 1, runs, t.elapsed ()); } @@ -96,6 +97,7 @@ struct bench_c_vector_add { v3 [j] = - (v1 [j] + v2 [j]); } // sink_c_vector<T, N> () (v3); + BOOST_UBLAS_NOT_USED(v3); } footer<value_type> () (0, 2 * N, runs, t.elapsed ()); } diff --git a/libs/numeric/ublas/benchmarks/bench2/bench22.cpp b/libs/numeric/ublas/benchmarks/bench2/bench22.cpp index ce054786f..f40df79ae 100644 --- a/libs/numeric/ublas/benchmarks/bench2/bench22.cpp +++ b/libs/numeric/ublas/benchmarks/bench2/bench22.cpp @@ -30,6 +30,7 @@ struct bench_c_outer_prod { } } // sink_c_matrix<T, N, N> () (m); + BOOST_UBLAS_NOT_USED(m); } footer<value_type> () (N * N, N * N, runs, t.elapsed ()); } @@ -52,6 +53,7 @@ struct bench_my_outer_prod { for (int i = 0; i < runs; ++ i) { m = - ublas::outer_prod (v1, v2); // sink_matrix (m); + BOOST_UBLAS_NOT_USED(m); } footer<value_type> () (N * N, N * N, runs, t.elapsed ()); } @@ -69,6 +71,7 @@ struct bench_my_outer_prod { for (int i = 0; i < runs; ++ i) { m.assign (- ublas::outer_prod (v1, v2)); // sink_matrix (m); + BOOST_UBLAS_NOT_USED(m); } footer<value_type> () (N * N, N * N, runs, t.elapsed ()); } @@ -213,6 +216,7 @@ struct bench_c_matrix_add { } } // sink_c_matrix<T, N, N> () (m3); + BOOST_UBLAS_NOT_USED(m3); } footer<value_type> () (0, 2 * N * N, runs, t.elapsed ()); } diff --git a/libs/numeric/ublas/benchmarks/bench3/bench3.hpp b/libs/numeric/ublas/benchmarks/bench3/bench3.hpp index 4959348a6..5b64b59af 100644 --- a/libs/numeric/ublas/benchmarks/bench3/bench3.hpp +++ b/libs/numeric/ublas/benchmarks/bench3/bench3.hpp @@ -24,6 +24,10 @@ #include <boost/timer.hpp> + +#define BOOST_UBLAS_NOT_USED(x) (void)(x) + + namespace ublas = boost::numeric::ublas; void header (std::string text); diff --git a/libs/numeric/ublas/benchmarks/bench3/bench31.cpp b/libs/numeric/ublas/benchmarks/bench3/bench31.cpp index 66ca78026..9181eb1cf 100644 --- a/libs/numeric/ublas/benchmarks/bench3/bench31.cpp +++ b/libs/numeric/ublas/benchmarks/bench3/bench31.cpp @@ -52,6 +52,7 @@ struct bench_my_inner_prod { static value_type s (0); s = ublas::inner_prod (vr1, vr2); // sink_scalar (s); + BOOST_UBLAS_NOT_USED(s); } footer<value_type> () (N, N - 1, runs, t.elapsed ()); } @@ -98,6 +99,7 @@ struct bench_c_vector_add { v3 [j] = - (v1 [j] + v2 [j]); } // sink_c_vector<T, N> () (v3); + BOOST_UBLAS_NOT_USED(v3); } footer<value_type> () (0, 2 * N, runs, t.elapsed ()); } diff --git a/libs/numeric/ublas/benchmarks/bench3/bench32.cpp b/libs/numeric/ublas/benchmarks/bench3/bench32.cpp index 4c1b2bc3a..3819090bb 100644 --- a/libs/numeric/ublas/benchmarks/bench3/bench32.cpp +++ b/libs/numeric/ublas/benchmarks/bench3/bench32.cpp @@ -30,6 +30,7 @@ struct bench_c_outer_prod { } } // sink_c_matrix<T, N, N> () (m); + BOOST_UBLAS_NOT_USED(m); } footer<value_type> () (N * N, N * N, runs, t.elapsed ()); } @@ -225,6 +226,7 @@ struct bench_c_matrix_add { } } // sink_c_matrix<T, N, N> () (m3); + BOOST_UBLAS_NOT_USED(m3); } footer<value_type> () (0, 2 * N * N, runs, t.elapsed ()); } diff --git a/libs/numeric/ublas/meta/libraries.json b/libs/numeric/ublas/meta/libraries.json index f1a3ddcc1..68be73760 100644 --- a/libs/numeric/ublas/meta/libraries.json +++ b/libs/numeric/ublas/meta/libraries.json @@ -6,7 +6,6 @@ "Mathias Koch" ], "description": "uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported.", - "documentation": "doc/index.htm", "category": [ "Math" ], diff --git a/libs/numeric/ublas/test/begin_end.cpp b/libs/numeric/ublas/test/begin_end.cpp index 270aa4a81..769a51faf 100644 --- a/libs/numeric/ublas/test/begin_end.cpp +++ b/libs/numeric/ublas/test/begin_end.cpp @@ -17,7 +17,7 @@ #include <boost/numeric/ublas/vector.hpp> #include <boost/numeric/ublas/vector_expression.hpp> #include <iostream> -#include "libs/numeric/ublas/test/utils.hpp" +#include "utils.hpp" static const double TOL(1.0e-5); ///< Used for comparing two real numbers. diff --git a/libs/numeric/ublas/test/common/testhelper.hpp b/libs/numeric/ublas/test/common/testhelper.hpp index c4a2fb060..b554511fa 100644 --- a/libs/numeric/ublas/test/common/testhelper.hpp +++ b/libs/numeric/ublas/test/common/testhelper.hpp @@ -54,8 +54,13 @@ std::pair<unsigned, unsigned> getResults() { template < class M1, class M2 > bool compare( const boost::numeric::ublas::matrix_expression<M1> & m1, const boost::numeric::ublas::matrix_expression<M2> & m2 ) { - size_t size1 = (std::min)(m1().size1(), m2().size1()); - size_t size2 = (std::min)(m1().size2(), m2().size2()); + if ((m1().size1() != m2().size1()) || + (m1().size2() != m2().size2())) { + return false; + } + + size_t size1 = m1().size1(); + size_t size2 = m1().size2(); for (size_t i=0; i < size1; ++i) { for (size_t j=0; j < size2; ++j) { if ( m1()(i,j) != m2()(i,j) ) return false; @@ -67,11 +72,64 @@ bool compare( const boost::numeric::ublas::matrix_expression<M1> & m1, template < class M1, class M2 > bool compare( const boost::numeric::ublas::vector_expression<M1> & m1, const boost::numeric::ublas::vector_expression<M2> & m2 ) { - size_t size = (std::min)(m1().size(), m2().size()); + if (m1().size() != m2().size()) { + return false; + } + + size_t size = m1().size(); for (size_t i=0; i < size; ++i) { if ( m1()(i) != m2()(i) ) return false; } return true; } +// Compare if two matrices or vectors are equals based on distance. + +template <class AE> +typename AE::value_type mean_square(const boost::numeric::ublas::matrix_expression<AE> &me) { + typename AE::value_type s(0); + typename AE::size_type i, j; + for (i=0; i!= me().size1(); i++) { + for (j=0; j!= me().size2(); j++) { + s += boost::numeric::ublas::scalar_traits<typename AE::value_type>::type_abs(me()(i,j)); + } + } + return s / (me().size1() * me().size2()); +} + +template <class AE> +typename AE::value_type mean_square(const boost::numeric::ublas::vector_expression<AE> &ve) { + // We could have use norm2 here, but ublas' ABS does not support unsigned types. + typename AE::value_type s(0); + typename AE::size_type i; + for (i=0; i!= ve().size(); i++) { + s += boost::numeric::ublas::scalar_traits<typename AE::value_type>::type_abs(ve()(i)); + } + return s / ve().size(); +} + +template < class M1, class M2 > +bool compare_to( const boost::numeric::ublas::matrix_expression<M1> & m1, + const boost::numeric::ublas::matrix_expression<M2> & m2, + double tolerance = 0.0 ) { + if ((m1().size1() != m2().size1()) || + (m1().size2() != m2().size2())) { + return false; + } + + return mean_square(m2() - m1()) <= tolerance; +} + +template < class M1, class M2 > +bool compare_to( const boost::numeric::ublas::vector_expression<M1> & m1, + const boost::numeric::ublas::vector_expression<M2> & m2, + double tolerance = 0.0 ) { + if (m1().size() != m2().size()) { + return false; + } + + return mean_square(m2() - m1()) <= tolerance; +} + + #endif diff --git a/libs/numeric/ublas/test/comp_mat_erase.cpp b/libs/numeric/ublas/test/comp_mat_erase.cpp index fb456c6ec..70018908d 100644 --- a/libs/numeric/ublas/test/comp_mat_erase.cpp +++ b/libs/numeric/ublas/test/comp_mat_erase.cpp @@ -4,7 +4,7 @@ // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#include "boost/numeric/ublas/matrix_sparse.hpp" +#include <boost/numeric/ublas/matrix_sparse.hpp> #define BOOST_TEST_MODULE SparseMatrixErasureTest #include <boost/test/included/unit_test.hpp> diff --git a/libs/numeric/ublas/test/num_columns.cpp b/libs/numeric/ublas/test/num_columns.cpp index 568d4f2e1..68c9770af 100644 --- a/libs/numeric/ublas/test/num_columns.cpp +++ b/libs/numeric/ublas/test/num_columns.cpp @@ -9,7 +9,7 @@ #include <boost/numeric/ublas/matrix_expression.hpp> #include <boost/numeric/ublas/operation/num_columns.hpp> #include <iostream> -#include "libs/numeric/ublas/test/utils.hpp" +#include "utils.hpp" BOOST_UBLAS_TEST_DEF( test_row_major_matrix_container ) diff --git a/libs/numeric/ublas/test/num_rows.cpp b/libs/numeric/ublas/test/num_rows.cpp index 4a96bd2f9..1e3a1e70a 100644 --- a/libs/numeric/ublas/test/num_rows.cpp +++ b/libs/numeric/ublas/test/num_rows.cpp @@ -9,7 +9,7 @@ #include <boost/numeric/ublas/matrix_expression.hpp> #include <boost/numeric/ublas/operation/num_rows.hpp> #include <iostream> -#include "libs/numeric/ublas/test/utils.hpp" +#include "utils.hpp" BOOST_UBLAS_TEST_DEF( test_row_major_matrix_container ) diff --git a/libs/numeric/ublas/test/size.cpp b/libs/numeric/ublas/test/size.cpp index 5976caab8..1fd2f9de6 100644 --- a/libs/numeric/ublas/test/size.cpp +++ b/libs/numeric/ublas/test/size.cpp @@ -12,7 +12,7 @@ #include <boost/numeric/ublas/vector.hpp> #include <boost/numeric/ublas/vector_expression.hpp> #include <iostream> -#include "libs/numeric/ublas/test/utils.hpp" +#include "utils.hpp" BOOST_UBLAS_TEST_DEF( test_vector_container ) diff --git a/libs/numeric/ublas/test/test13.cpp b/libs/numeric/ublas/test/test13.cpp index ecb8eeb72..d84f321fe 100644 --- a/libs/numeric/ublas/test/test13.cpp +++ b/libs/numeric/ublas/test/test13.cpp @@ -88,6 +88,10 @@ struct test_my_matrix { std::cout << "m1 * 1. = " << m2 << std::endl; m2 = m1 * t; std::cout << "m1 * N = " << m2 << std::endl; + m2 = m1 / value_type (2.); + std::cout << "m1 / 2. = " << m2 << std::endl; + m2 = m1 / t; + std::cout << "m1 / N = " << m2 << std::endl; // Some assignments initialize_matrix (m1); diff --git a/libs/numeric/ublas/test/test_assignment.cpp b/libs/numeric/ublas/test/test_assignment.cpp index 894f4512d..c402ac2f8 100644 --- a/libs/numeric/ublas/test/test_assignment.cpp +++ b/libs/numeric/ublas/test/test_assignment.cpp @@ -13,77 +13,49 @@ #include <boost/numeric/ublas/matrix_sparse.hpp> #include <boost/numeric/ublas/io.hpp> #include <boost/numeric/ublas/matrix.hpp> -#include "libs/numeric/ublas/test/utils.hpp" #include <boost/timer.hpp> #include <ctime> +#include "common/testhelper.hpp" +#include "utils.hpp" using namespace boost::numeric::ublas; -namespace tans { -template <class AE> -typename AE::value_type mean_square(const matrix_expression<AE> &me) { - typename AE::value_type s(0); - typename AE::size_type i, j; - for (i=0; i!= me().size1(); i++) { - for (j=0; j!= me().size2(); j++) { - s+= scalar_traits<typename AE::value_type>::type_abs(me()(i,j)); - } - } - return s/me().size1()*me().size2(); -} - - -template <class AE> -typename AE::value_type mean_square(const vector_expression<AE> &ve) { - // We could have use norm2 here, but ublas' ABS does not support unsigned types. - typename AE::value_type s(0); - typename AE::size_type i; - for (i=0; i!= ve().size(); i++) { - s+=scalar_traits<typename AE::value_type>::type_abs(ve()(i)); - } - return s/ve().size(); -} -const double TOL=0.0; - -} - template <class V> bool test_vector() { bool pass = true; - using namespace tans; V a(3), ra(3); a <<= 1, 2, 3; ra(0) = 1; ra(1) = 2; ra(2) = 3; - pass &= (mean_square(a-ra)<=TOL); + pass &= compare_to(a, ra); V b(7), rb(7); b<<= a, 10, a; rb(0) = 1; rb(1) = 2; rb(2) = 3; rb(3)=10, rb(4)= 1; rb(5)=2; rb(6)=3; - pass &= (mean_square(b-rb)<=TOL); + pass &= compare_to(b, rb); { V c(6), rc(6); c <<= 1, move(2), 3 ,4, 5, move(-5), 10, 10; rc(0) = 1; rc(1) = 10; rc(2) = 10; rc(3) = 3; rc(4) = 4; rc(5) = 5; - pass &= (mean_square(c-rc)<=TOL); + pass &= compare_to(c, rc); V d(6), rd(6); d <<= 1, move_to(3), 3 ,4, 5, move_to(1), 10, 10; rd(0) = 1; rd(1) = 10; rd(2) = 10; rd(3) = 3; rd(4) = 4; rd(5) = 5; - pass &= (mean_square(d-rd)<=TOL); + pass &= compare_to(d, rd); } { V c(6), rc(6); c <<= 1, move<2>(), 3 ,4, 5, move<-5>(), 10, 10; rc(0) = 1; rc(1) = 10; rc(2) = 10; rc(3) = 3; rc(4) = 4; rc(5) = 5; - pass &= (mean_square(c-rc)<=TOL); + pass &= compare_to(c, rc); V d(6), rd(6); d <<= 1, move_to<3>(), 3 ,4, 5, move_to<1>(), 10, 10; rd(0) = 1; rd(1) = 10; rd(2) = 10; rd(3) = 3; rd(4) = 4; rd(5) = 5; - pass &= (mean_square(d-rd)<=TOL); + pass &= compare_to(d, rd); } @@ -93,7 +65,7 @@ bool test_vector() { V fa(3); fa<<= 1, 2, 3; f <<= fill_policy::index_plus_assign(), fa; rf <<= 6,7,8, 5, 5, 5; - pass &= (mean_square(f-rf)<=TOL); + pass &= compare_to(f, rf); } { @@ -102,7 +74,7 @@ bool test_vector() { V fa(3); fa<<= 1, 2, 3; f <<= fill_policy::index_minus_assign(), fa; rf <<= 4,3,2, 5, 5, 5; - pass &= (mean_square(f-rf)<=TOL); + pass &= compare_to(f, rf); } return pass; @@ -111,32 +83,31 @@ bool test_vector() { template <class V> bool test_vector_sparse_push_back() { bool pass = true; - using namespace tans; V a(3), ra(3); a <<= fill_policy::sparse_push_back(), 1, 2, 3; ra(0) = 1; ra(1) = 2; ra(2) = 3; - pass &= (mean_square(a-ra)<=TOL); + pass &= compare_to(a, ra); V b(7), rb(7); b<<= fill_policy::sparse_push_back(), a, 10, a; rb(0) = 1; rb(1) = 2; rb(2) = 3; rb(3)=10, rb(4)= 1; rb(5)=2; rb(6)=3; - pass &= (mean_square(b-rb)<=TOL); + pass &= compare_to(b, rb); V c(6), rc(6); c <<= fill_policy::sparse_push_back(), 1, move(2), 3 ,4, 5; // Move back (i.e. negative is dangerous for push_back) rc(0) = 1; rc(1) = 0; rc(2) = 0; rc(3) = 3; rc(4) = 4; rc(5) = 5; - pass &= (mean_square(c-rc)<=TOL); + pass &= compare_to(c, rc); V d(6), rd(6); d <<= fill_policy::sparse_push_back(), 1, move_to(3), 3 ,4, 5; // Move back (i.e. before current index is dangerous for push_back) rd(0) = 1; rd(1) = 0; rd(2) = 0; rd(3) = 3; rd(4) = 4; rd(5) = 5; - pass &= (mean_square(d-rd)<=TOL); + pass &= compare_to(d, rd); V e(6), re(6); e <<= fill_policy::sparse_push_back(), 1, move_to(3), 3 ,4, 5, fill_policy::sparse_insert(), move_to(1), 10, 10; // If you want to move back, use this re(0) = 1; re(1) = 10; re(2) = 10; re(3) = 3; re(4) = 4; re(5) = 5; - pass &= (mean_square(e-re)<=TOL); + pass &= compare_to(e, re); return pass; } @@ -145,28 +116,27 @@ bool test_vector_sparse_push_back() { template <class V> bool test_vector_sparse_insert() { bool pass = true; - using namespace tans; V a(3), ra(3); a <<= fill_policy::sparse_insert(), 1, 2, 3; ra(0) = 1; ra(1) = 2; ra(2) = 3; - pass &= (mean_square(a-ra)<=TOL); + pass &= compare_to(a, ra); V b(7), rb(7); b<<= fill_policy::sparse_insert(), a, 10, a; rb(0) = 1; rb(1) = 2; rb(2) = 3; rb(3)=10, rb(4)= 1; rb(5)=2; rb(6)=3; - pass &= (mean_square(b-rb)<=TOL); + pass &= compare_to(b, rb); V c(6), rc(6); c <<= fill_policy::sparse_insert(), 1, move(2), 3 ,4, 5, move(-5), 10, 10; // Move back (i.e. negative is dangerous for sparse) rc(0) = 1; rc(1) = 10; rc(2) = 10; rc(3) = 3; rc(4) = 4; rc(5) = 5; - pass &= (mean_square(c-rc)<=TOL); + pass &= compare_to(c, rc); V d(6), rd(6); d <<= fill_policy::sparse_insert(), 1, move_to(3), 3 ,4, 5, move_to(1), 10, 10; // Move back (i.e.before is dangerous for sparse) rd(0) = 1; rd(1) = 10; rd(2) = 10; rd(3) = 3; rd(4) = 4; rd(5) = 5; - pass &= (mean_square(d-rd)<=TOL); + pass &= compare_to(d, rd); return pass; @@ -176,14 +146,13 @@ bool test_vector_sparse_insert() { template <class V> bool test_matrix() { bool pass = true; - using namespace tans; V A(3,3), RA(3,3); A <<= 1, 2, 3, 4, 5, 6, 7, 8, 9; RA(0,0)= 1; RA(0,1)=2; RA(0,2)=3; RA(1,0)= 4; RA(1,1)=5; RA(1,2)=6; RA(2,0)= 7; RA(2,1)=8; RA(2,2)=9; - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); { V B(3,3), RB(3,3); @@ -191,7 +160,7 @@ bool test_matrix() { b<<= 4,5,6; B<<= 1, 2, 3, b, 7, project(b, range(1,3)); RB<<=1, 2, 3, 4, 5, 6, 7, 5, 6; // If the first worked we can now probably use it. - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -200,7 +169,7 @@ bool test_matrix() { b<<= 4,5,6; B<<= move(1,0), b, move_to(0,0), 1, 2, 3, move(1,0), 7, project(b, range(1,3)); RB<<=1, 2, 3, 4, 5, 6, 7, 5, 6; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -209,7 +178,7 @@ bool test_matrix() { b<<= 1, 2, 3, 4, 5, 6, 7, 8, 9; B<<=b; RB<<=1, 2, 3, 4, 5, 6, 7, 8, 9; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -223,7 +192,7 @@ bool test_matrix() { 4,5,4,5, 2,3,2,3, 4,5,4,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -236,7 +205,7 @@ bool test_matrix() { 4,5,0,0, 0,0,2,3, 0,0,4,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -249,7 +218,7 @@ bool test_matrix() { 4,5,0,0, 0,0,2,3, 0,0,4,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -262,7 +231,7 @@ bool test_matrix() { 0,2,3,0, 0,4,5,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -273,7 +242,7 @@ bool test_matrix() { 1,2,0,0, 4,5,0,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -284,7 +253,7 @@ bool test_matrix() { 0,3,5,0, 0,6,0,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -295,7 +264,7 @@ bool test_matrix() { 0,3,0,0, 0,0,0,0, 4,5,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -306,7 +275,7 @@ bool test_matrix() { 0,3,0,0, 4,5,6,7, 8,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -317,7 +286,7 @@ bool test_matrix() { 0,3,0,0, 4,5,6,7, 8,9,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -330,7 +299,7 @@ bool test_matrix() { 1,2,3,1, 1,4,5,1, 1,1,1,1; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -343,7 +312,7 @@ bool test_matrix() { 5,4,3,5, 5,2,1,5, 5,5,5,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } @@ -353,14 +322,13 @@ bool test_matrix() { template <class V> bool test_matrix_sparse_push_back() { bool pass = true; - using namespace tans; V A(3,3), RA(3,3); A <<= fill_policy::sparse_push_back(), 1, 2, 3, 4, 5, 6, 7, 8, 9; RA(0,0)= 1; RA(0,1)=2; RA(0,2)=3; RA(1,0)= 4; RA(1,1)=5; RA(1,2)=6; RA(2,0)= 7; RA(2,1)=8; RA(2,2)=9; - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); { V B(3,3), RB(3,3); @@ -368,7 +336,7 @@ bool test_matrix_sparse_push_back() { b<<= 4,5,6; B<<=fill_policy::sparse_push_back(), 1, 2, 3, b, 7, project(b, range(1,3)); RB<<= 1, 2, 3, 4, 5, 6, 7, 5, 6; // If the first worked we can now probably use it. - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -377,7 +345,7 @@ bool test_matrix_sparse_push_back() { b<<= 4,5,6; B<<=fill_policy::sparse_push_back(), move(1,0), b, fill_policy::sparse_insert(), move_to(0,0), 1, 2, 3, move(1,0), 7, project(b, range(1,3)); RB<<=1, 2, 3, 4, 5, 6, 7, 5, 6; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -386,7 +354,7 @@ bool test_matrix_sparse_push_back() { b<<= 1, 2, 3, 4, 5, 6, 7, 8, 9; B<<=b; RB<<=1, 2, 3, 4, 5, 6, 7, 8, 9; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } @@ -401,7 +369,7 @@ bool test_matrix_sparse_push_back() { 4,5,4,5, 2,3,2,3, 4,5,4,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } @@ -414,7 +382,7 @@ bool test_matrix_sparse_push_back() { 4,5,0,0, 0,0,2,3, 0,0,4,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -426,7 +394,7 @@ bool test_matrix_sparse_push_back() { 0,2,3,0, 0,4,5,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -437,7 +405,7 @@ bool test_matrix_sparse_push_back() { 1,2,0,0, 4,5,0,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } // The next will not work with sparse push_back because elements that are prior to the ones already in are attempted to be added /* @@ -449,7 +417,7 @@ bool test_matrix_sparse_push_back() { 0,3,5,0, 0,6,0,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } */ { @@ -460,7 +428,7 @@ bool test_matrix_sparse_push_back() { 0,3,0,0, 0,0,0,0, 4,5,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -471,7 +439,7 @@ bool test_matrix_sparse_push_back() { 0,3,0,0, 4,5,6,7, 8,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } // The next will not work with sparse push_back because elements that are prior to the ones already in are attempted to be added @@ -484,7 +452,7 @@ bool test_matrix_sparse_push_back() { 0,3,0,0, 4,5,6,7, 8,9,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } */ return pass; @@ -493,14 +461,13 @@ bool test_matrix_sparse_push_back() { template <class V> bool test_matrix_sparse_insert() { bool pass = true; - using namespace tans; V A(3,3), RA(3,3); A <<= fill_policy::sparse_insert(), 1, 2, 3, 4, 5, 6, 7, 8, 9; RA(0,0)= 1; RA(0,1)=2; RA(0,2)=3; RA(1,0)= 4; RA(1,1)=5; RA(1,2)=6; RA(2,0)= 7; RA(2,1)=8; RA(2,2)=9; - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); { V B(3,3), RB(3,3); @@ -508,7 +475,7 @@ bool test_matrix_sparse_insert() { b<<= 4,5,6; B<<=fill_policy::sparse_insert(), 1, 2, 3, b, 7, project(b, range(1,3)); RB<<=1, 2, 3, 4, 5, 6, 7, 5, 6; // If the first worked we can now probably use it. - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -517,7 +484,7 @@ bool test_matrix_sparse_insert() { b<<= 4,5,6; B<<=fill_policy::sparse_insert(), move(1,0), b, fill_policy::sparse_insert(), move_to(0,0), 1, 2, 3, move(1,0), 7, project(b, range(1,3)); RB<<=1, 2, 3, 4, 5, 6, 7, 5, 6; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -526,7 +493,7 @@ bool test_matrix_sparse_insert() { b<<= 1, 2, 3, 4, 5, 6, 7, 8, 9; B<<=b; RB<<=1, 2, 3, 4, 5, 6, 7, 8, 9; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } @@ -540,7 +507,7 @@ bool test_matrix_sparse_insert() { 4,5,4,5, 2,3,2,3, 4,5,4,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } @@ -553,7 +520,7 @@ bool test_matrix_sparse_insert() { 4,5,0,0, 0,0,2,3, 0,0,4,5; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -565,7 +532,7 @@ bool test_matrix_sparse_insert() { 0,2,3,0, 0,4,5,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -576,7 +543,7 @@ bool test_matrix_sparse_insert() { 1,2,0,0, 4,5,0,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -587,7 +554,7 @@ bool test_matrix_sparse_insert() { 0,3,5,0, 0,6,0,0, 0,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -598,7 +565,7 @@ bool test_matrix_sparse_insert() { 0,3,0,0, 0,0,0,0, 4,5,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -609,7 +576,7 @@ bool test_matrix_sparse_insert() { 0,3,0,0, 4,5,6,7, 8,0,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } { @@ -620,7 +587,7 @@ bool test_matrix_sparse_insert() { 0,3,0,0, 4,5,6,7, 8,9,0,0; - pass &= (mean_square(B-RB)<=TOL); + pass &= compare_to(B, RB); } return pass; diff --git a/libs/numeric/ublas/test/test_banded_storage_layout.cpp b/libs/numeric/ublas/test/test_banded_storage_layout.cpp index f2d33f99a..6b4e68a7a 100644 --- a/libs/numeric/ublas/test/test_banded_storage_layout.cpp +++ b/libs/numeric/ublas/test/test_banded_storage_layout.cpp @@ -9,7 +9,7 @@ using namespace boost::numeric::ublas; -int expected_index( int index, column_major tag ) { +int expected_index( int index, column_major ) { // this is the data shown on http://www.netlib.org/lapack/lug/node124.html // read column-by-column, aka column_major int mapping[] = { 0, 11, 21, 31, 12, 22, 32, 42, 23, 33, 43, 53, 34, 44, 54, 0, 45, 55, 0, 0 }; @@ -17,32 +17,32 @@ int expected_index( int index, column_major tag ) { } -int expected_index( int index, row_major tag ) { +int expected_index( int index, row_major ) { // this is the data shown on http://www.netlib.org/lapack/lug/node124.html // read row-by-row, aka row_major int mapping[] = { 0, 0, 11, 12, 0, 21, 22, 23, 31, 32, 33, 34, 42, 43, 44, 45, 53, 54, 55, 0 }; return mapping[ index ]; } -int expected_index_6_by_5( int index, column_major tag ) { +int expected_index_6_by_5( int index, column_major ) { // read column-by-column, aka column_major int mapping[] = { 0, 11, 21, 31, 12, 22, 32, 42, 23, 33, 43, 53, 34, 44, 54, 64, 45, 55, 65, 0 }; return mapping[ index ]; } -int expected_index_6_by_5( int index, row_major tag ) { +int expected_index_6_by_5( int index, row_major ) { // read row-by-row, aka row_major int mapping[] = { 0, 0, 11, 12, 0, 21, 22, 23, 31, 32, 33, 34, 42, 43, 44, 45, 53, 54, 55, 0, 64, 65, 0, 0 }; return mapping[ index ]; } -int expected_index_5_by_6( int index, column_major tag ) { +int expected_index_5_by_6( int index, column_major ) { // read column-by-column, aka column_major int mapping[] = { 0, 11, 21, 31, 12, 22, 32, 42, 23, 33, 43, 53, 34, 44, 54, 0, 45, 55, 0, 0, 56, 0, 0, 0 }; return mapping[ index ]; } -int expected_index_5_by_6( int index, row_major tag ) { +int expected_index_5_by_6( int index, row_major ) { // read row-by-row, aka row_major int mapping[] = { 0, 0, 11, 12, 0, 21, 22, 23, 31, 32, 33, 34, 42, 43, 44, 45, 53, 54, 55, 56}; return mapping[ index ]; diff --git a/libs/numeric/ublas/test/test_complex_norms.cpp b/libs/numeric/ublas/test/test_complex_norms.cpp index dcd37e58d..e923d7087 100644 --- a/libs/numeric/ublas/test/test_complex_norms.cpp +++ b/libs/numeric/ublas/test/test_complex_norms.cpp @@ -8,7 +8,7 @@ #include <boost/numeric/ublas/matrix.hpp> #include <complex> -#include "libs/numeric/ublas/test/utils.hpp" +#include "utils.hpp" using namespace boost::numeric::ublas; diff --git a/libs/numeric/ublas/test/test_coordinate_matrix_inplace_merge.cpp b/libs/numeric/ublas/test/test_coordinate_matrix_inplace_merge.cpp index 9a2f8a11f..75d1f708a 100644 --- a/libs/numeric/ublas/test/test_coordinate_matrix_inplace_merge.cpp +++ b/libs/numeric/ublas/test/test_coordinate_matrix_inplace_merge.cpp @@ -13,26 +13,14 @@ #include <boost/numeric/ublas/matrix_sparse.hpp> #include <boost/numeric/ublas/matrix_expression.hpp> #include <boost/numeric/ublas/io.hpp> - -#include "libs/numeric/ublas/test/utils.hpp" +#include "common/testhelper.hpp" +#include "utils.hpp" using std::cout; using std::endl; const double TOL = 1e-15; -template <class AE> -typename AE::value_type mean_square(const boost::numeric::ublas::matrix_expression<AE> &me) { - typename AE::value_type s(0); - typename AE::size_type i, j; - for (i=0; i!= me().size1(); i++) { - for (j=0; j!= me().size2(); j++) { - s += boost::numeric::ublas::scalar_traits<typename AE::value_type>::type_abs(me()(i,j)); - } - } - return s/me().size1()*me().size2(); -} - template<typename T> bool check_sortedness(const boost::numeric::ublas::coordinate_matrix<T>& matrix) { bool result = true; @@ -90,12 +78,12 @@ BOOST_UBLAS_TEST_DEF( test_coordinate_matrix_inplace_merge_random ) { bool sorted = check_sortedness(matrix_coord); - bool identical = mean_square(matrix_coord - matrix_dense) < TOL; + bool identical = compare_to(matrix_coord, matrix_dense, TOL); if (!(sorted && identical)) { print_entries(size_x, size_y, entries); } BOOST_UBLAS_TEST_CHECK( check_sortedness(matrix_coord) ); - BOOST_UBLAS_TEST_CHECK( mean_square(matrix_coord - matrix_dense) < TOL); + BOOST_UBLAS_TEST_CHECK( compare_to(matrix_coord, matrix_dense, TOL) ); } for (size_t entry = 0; entry < nr_entries; ++ entry) { @@ -109,7 +97,7 @@ BOOST_UBLAS_TEST_DEF( test_coordinate_matrix_inplace_merge_random ) { bool sorted = check_sortedness(matrix_coord); - bool identical = mean_square(matrix_coord - matrix_dense) < TOL; + bool identical = compare_to(matrix_coord, matrix_dense, TOL); if (!(sorted && identical)) { print_entries(size_x, size_y, entries); } diff --git a/libs/numeric/ublas/test/test_coordinate_matrix_sort.cpp b/libs/numeric/ublas/test/test_coordinate_matrix_sort.cpp index bf927fc51..d07abb3b1 100644 --- a/libs/numeric/ublas/test/test_coordinate_matrix_sort.cpp +++ b/libs/numeric/ublas/test/test_coordinate_matrix_sort.cpp @@ -11,7 +11,7 @@ #include<boost/numeric/ublas/matrix_sparse.hpp> #include<boost/numeric/ublas/io.hpp> -#include "libs/numeric/ublas/test/utils.hpp" +#include "utils.hpp" using std::cout; using std::endl; diff --git a/libs/numeric/ublas/test/test_coordinate_vector_inplace_merge.cpp b/libs/numeric/ublas/test/test_coordinate_vector_inplace_merge.cpp index ae0190311..9994e86ef 100644 --- a/libs/numeric/ublas/test/test_coordinate_vector_inplace_merge.cpp +++ b/libs/numeric/ublas/test/test_coordinate_vector_inplace_merge.cpp @@ -13,22 +13,11 @@ #include <boost/numeric/ublas/vector_sparse.hpp> #include <boost/numeric/ublas/vector_expression.hpp> #include <boost/numeric/ublas/io.hpp> - -#include "libs/numeric/ublas/test/utils.hpp" +#include "common/testhelper.hpp" +#include "utils.hpp" const double TOL = 1e-15; - -template <class AE> -typename AE::value_type mean_square(const boost::numeric::ublas::vector_expression<AE> &me) { - typename AE::value_type s(0); - typename AE::size_type i; - for (i=0; i!= me().size(); i++) { - s += boost::numeric::ublas::scalar_traits<typename AE::value_type>::type_abs(me()(i)); - } - return s/me().size(); -} - template<typename T> bool check_sortedness(const boost::numeric::ublas::coordinate_vector<T>& vector) { bool result = true; @@ -79,12 +68,12 @@ BOOST_UBLAS_TEST_DEF( test_coordinate_vector_inplace_merge_random ) { bool sorted = check_sortedness(vector_coord); - bool identical = mean_square(vector_coord - vector_dense) < TOL; + bool identical = compare_to(vector_coord, vector_dense, TOL); if (!(sorted && identical)) { print_entries(size_vec, entries); } BOOST_UBLAS_TEST_CHECK( check_sortedness(vector_coord) ); - BOOST_UBLAS_TEST_CHECK( mean_square(vector_coord - vector_dense) < TOL); + BOOST_UBLAS_TEST_CHECK( compare_to(vector_coord, vector_dense, TOL) ); } for (size_t entry = 0; entry < nr_entries; ++ entry) { @@ -97,7 +86,7 @@ BOOST_UBLAS_TEST_DEF( test_coordinate_vector_inplace_merge_random ) { bool sorted = check_sortedness(vector_coord); - bool identical = mean_square(vector_coord - vector_dense) < TOL; + bool identical = compare_to(vector_coord, vector_dense, TOL); if (!(sorted && identical)) { print_entries(size_vec, entries); } diff --git a/libs/numeric/ublas/test/test_fixed_containers.cpp b/libs/numeric/ublas/test/test_fixed_containers.cpp index bb5cba897..23a63827e 100644 --- a/libs/numeric/ublas/test/test_fixed_containers.cpp +++ b/libs/numeric/ublas/test/test_fixed_containers.cpp @@ -108,8 +108,8 @@ bool test_vector( std::string type_name) for ( std::size_t i = 0; i!= v1.size(); i++) { - v1( i ) = 3.14159*i*i; - v ( i ) = 3.14159*i*i; + v1( i ) = 3.14159*i; + v ( i ) = 3.14159*i; } pass &= compare( v1, v ); @@ -140,7 +140,7 @@ bool test_vector( std::string type_name) try { T a; a=v1( 100 ); - (void) a ; + BOOST_UBLAS_NOT_USED( a ); } catch ( bad_index &e) { std::cout << " Caught (GOOD): " << e.what() << endl; @@ -250,7 +250,7 @@ bool test_matrix( std::string type_name) try { T a; a=m1( 100, 100 ); - (void) a ; + BOOST_UBLAS_NOT_USED( a ); } catch ( bad_index &e) { std::cout << " Caught (GOOD): " << e.what() << endl; diff --git a/libs/numeric/ublas/test/test_matrix_vector.cpp b/libs/numeric/ublas/test/test_matrix_vector.cpp index 8b9a11775..a7e8796cd 100644 --- a/libs/numeric/ublas/test/test_matrix_vector.cpp +++ b/libs/numeric/ublas/test/test_matrix_vector.cpp @@ -10,37 +10,11 @@ #include <boost/numeric/ublas/matrix_sparse.hpp> #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/matrix_vector.hpp> - +#include "common/testhelper.hpp" #include "utils.hpp" using namespace boost::numeric::ublas; -namespace tans { -template <class AE> -typename AE::value_type mean_square(const matrix_expression<AE> &me) { - typename AE::value_type s(0); - typename AE::size_type i, j; - for (i=0; i!= me().size1(); i++) { - for (j=0; j!= me().size2(); j++) { - s+= scalar_traits<typename AE::value_type>::type_abs(me()(i,j)); - } - } - return s/me().size1()*me().size2(); -} - -template <class AE> -typename AE::value_type mean_square(const vector_expression<AE> &ve) { - // We could have use norm2 here, but ublas' ABS does not support unsigned types. - typename AE::value_type s(0); - typename AE::size_type i; - for (i=0; i!= ve().size(); i++) { - s+=scalar_traits<typename AE::value_type>::type_abs(ve()(i)); - } - return s/ve().size(); -} -const double TOL=0.0; - -} template <class Vector, class StorageCategory> void guardSparsePreserveResize( Vector &vec, typename Vector::size_type new_size, StorageCategory) // Because sparse matrices don't have preserve data implemented @@ -58,7 +32,6 @@ void guardSparsePreserveResize( Vector &vec, typename Vector::size_type new_size template <class Matrix> bool test_matrix_row_facade() { bool pass = true; - using namespace tans; typedef matrix_row_vector<Matrix> RowVector; @@ -97,7 +70,7 @@ bool test_matrix_row_facade() { rows(i) = matrix_row<Matrix>(RA, i); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing operator[] @@ -114,7 +87,7 @@ bool test_matrix_row_facade() { rows[i] = matrix_row<Matrix>(RA, i); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing operator[] const @@ -128,7 +101,7 @@ bool test_matrix_row_facade() { 7, 8, 9; for(typename Matrix::size_type i = 0; i < RA.size1(); i++) { - pass &= (mean_square(rows[i]-matrix_row<Matrix>(RA, i))<=TOL); + pass &= compare_to(rows[i], matrix_row<Matrix>(RA, i)); } } @@ -146,7 +119,7 @@ bool test_matrix_row_facade() { for(typename RowVector::const_iterator iter = rows.begin(); iter != rows.end(); iter++) { - pass &= (mean_square(*iter-matrix_row<Matrix>(RA, i++))<=TOL); + pass &= compare_to(*iter, matrix_row<Matrix>(RA, i++)); } } @@ -167,7 +140,7 @@ bool test_matrix_row_facade() { *iter = matrix_row<Matrix>(RA, i++); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing reserse iterator @@ -187,7 +160,7 @@ bool test_matrix_row_facade() { *iter = matrix_row<Matrix>(RA, --i); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing const reverse iterator @@ -204,7 +177,7 @@ bool test_matrix_row_facade() { for(typename RowVector::const_reverse_iterator iter = rows.rbegin(); iter != rows.rend(); iter++) { - pass &= (mean_square(*iter-matrix_row<Matrix>(RA, --i))<=TOL); + pass &= compare_to(*iter, matrix_row<Matrix>(RA, --i)); } } @@ -215,7 +188,6 @@ bool test_matrix_row_facade() { template <class Matrix> bool test_matrix_column_facade() { bool pass = true; - using namespace tans; typedef matrix_column_vector<Matrix> ColumnVector; @@ -252,7 +224,7 @@ bool test_matrix_column_facade() { columns(i) = matrix_column<Matrix>(RA, i); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing operator[] @@ -269,7 +241,7 @@ bool test_matrix_column_facade() { columns[i] = matrix_column<Matrix>(RA, i); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing operator[] const @@ -283,7 +255,7 @@ bool test_matrix_column_facade() { 7, 8, 9; for(typename Matrix::size_type i = 0; i < RA.size2(); i++) { - pass &= (mean_square(columns[i]-matrix_column<Matrix>(RA, i))<=TOL); + pass &= compare_to(columns[i], matrix_column<Matrix>(RA, i)); } } @@ -304,7 +276,7 @@ bool test_matrix_column_facade() { *iter = matrix_column<Matrix>(RA, i++); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing const iterator @@ -321,7 +293,7 @@ bool test_matrix_column_facade() { for(typename ColumnVector::const_iterator iter = columns.begin(); iter != columns.end(); iter++) { - pass &= (mean_square(*iter-matrix_column<Matrix>(RA, i++))<=TOL); + pass &= compare_to(*iter, matrix_column<Matrix>(RA, i++)); } } @@ -342,7 +314,7 @@ bool test_matrix_column_facade() { *iter = matrix_column<Matrix>(RA, --i); } - pass &= (mean_square(A-RA)<=TOL); + pass &= compare_to(A, RA); } { // Testing const reverse iterator @@ -359,7 +331,7 @@ bool test_matrix_column_facade() { for(typename ColumnVector::const_reverse_iterator iter = columns.rbegin(); iter != columns.rend(); iter++) { - pass &= (mean_square(*iter-matrix_column<Matrix>(RA, --i))<=TOL); + pass &= compare_to(*iter, matrix_column<Matrix>(RA, --i)); } } diff --git a/libs/numeric/ublas/test/test_ticket7296.cpp b/libs/numeric/ublas/test/test_ticket7296.cpp index 05c042b6b..65fdb4ba6 100644 --- a/libs/numeric/ublas/test/test_ticket7296.cpp +++ b/libs/numeric/ublas/test/test_ticket7296.cpp @@ -17,7 +17,7 @@ #include <boost/numeric/ublas/vector.hpp> #include <complex> #include <cstddef> -#include <libs/numeric/ublas/test/utils.hpp> +#include "utils.hpp" namespace ublas = boost::numeric::ublas; diff --git a/libs/numeric/ublas/test/test_triangular.cpp b/libs/numeric/ublas/test/test_triangular.cpp index 9a9bf48a1..c6cba9134 100644 --- a/libs/numeric/ublas/test/test_triangular.cpp +++ b/libs/numeric/ublas/test/test_triangular.cpp @@ -1,4 +1,6 @@ #include <iostream> +#include <stdlib.h> +#include <cmath> #include <boost/numeric/ublas/vector.hpp> #include <boost/numeric/ublas/matrix.hpp> @@ -17,7 +19,7 @@ double diff(const mat& A, const vec& x, const vec& b) { for (typename vec::size_type i=0; i<temp.size(); ++i) { result += temp(i)*temp(i); } - return sqrt(result); + return std::sqrt(result); } template<class mat, class vec> @@ -45,10 +47,10 @@ int main() { std::cerr << "Constructing..." << std::endl; for (int i=0; i<n; ++i) { - b(i) = rand() % 10; - double main = -10 + rand() % 20 ; + b(i) = std::rand() % 10; + double main = -10 + std::rand() % 20 ; if (main == 0) main+=1; - double side = -10 + rand() % 20 ; + double side = -10 + std::rand() % 20 ; if (i-1>=0) { mat_row_low(i, i-1) = side; } diff --git a/libs/numeric/ublas/test/triangular_access.cpp b/libs/numeric/ublas/test/triangular_access.cpp index 9777632be..c2c9b7733 100644 --- a/libs/numeric/ublas/test/triangular_access.cpp +++ b/libs/numeric/ublas/test/triangular_access.cpp @@ -117,7 +117,7 @@ test_iterator3( const MAT & A ) { } -int main (int argc, char * argv[]) { +int main () { using namespace boost::numeric::ublas; typedef double VALUE_TYPE; diff --git a/libs/numeric/ublas/test/triangular_layout.cpp b/libs/numeric/ublas/test/triangular_layout.cpp index 8bd27faa2..815643d37 100644 --- a/libs/numeric/ublas/test/triangular_layout.cpp +++ b/libs/numeric/ublas/test/triangular_layout.cpp @@ -12,7 +12,7 @@ using namespace std; namespace ublas = boost::numeric::ublas; -int main(int argc, char* argv[]) +int main() { int sz = 4; ublas::symmetric_matrix<int, ublas::upper, ublas::column_major> UpCol (sz, sz); diff --git a/libs/numeric/ublas/test/utils.hpp b/libs/numeric/ublas/test/utils.hpp index 6eb52b029..c1b69b92a 100644 --- a/libs/numeric/ublas/test/utils.hpp +++ b/libs/numeric/ublas/test/utils.hpp @@ -64,6 +64,8 @@ #include <limits> #include <stdexcept> +#define BOOST_UBLAS_NOT_USED(x) (void)(x) + namespace boost { namespace numeric { namespace ublas { namespace test { namespace detail { namespace /*<unnamed>*/ { using ::std::abs; |