Squashed 'third_party/boostorg/ublas/' content from commit e8607b3

Change-Id: Ia06afd642157a24e17fa9ddea28fb8601810b78e
git-subtree-dir: third_party/boostorg/ublas
git-subtree-split: e8607b3eea238e590eca93bfe498c21f470155c1
diff --git a/IDEs/qtcreator/benchmarks/bench1/bench1.pro b/IDEs/qtcreator/benchmarks/bench1/bench1.pro
new file mode 100644
index 0000000..685802b
--- /dev/null
+++ b/IDEs/qtcreator/benchmarks/bench1/bench1.pro
@@ -0,0 +1,16 @@
+TEMPLATE = app
+TARGET = bench1
+
+!include (../configuration.pri)
+
+OTHER_FILES += \
+    ../../../../benchmarks/bench1/Jamfile.v2
+
+HEADERS += \
+    ../../../../benchmarks/bench1/bench1.hpp
+
+SOURCES += \
+    ../../../../benchmarks/bench1/bench13.cpp \
+    ../../../../benchmarks/bench1/bench12.cpp \
+    ../../../../benchmarks/bench1/bench11.cpp \
+    ../../../../benchmarks/bench1/bench1.cpp
diff --git a/IDEs/qtcreator/benchmarks/bench2/bench2.pro b/IDEs/qtcreator/benchmarks/bench2/bench2.pro
new file mode 100644
index 0000000..b667a3f
--- /dev/null
+++ b/IDEs/qtcreator/benchmarks/bench2/bench2.pro
@@ -0,0 +1,16 @@
+TEMPLATE = app
+TARGET = bench2
+
+!include (../configuration.pri)
+
+OTHER_FILES += \
+    ../../../../benchmarks/bench2/Jamfile.v2
+
+HEADERS += \
+    ../../../../benchmarks/bench2/bench2.hpp
+
+SOURCES += \
+    ../../../../benchmarks/bench2/bench23.cpp \
+    ../../../../benchmarks/bench2/bench22.cpp \
+    ../../../../benchmarks/bench2/bench21.cpp \
+    ../../../../benchmarks/bench2/bench2.cpp
diff --git a/IDEs/qtcreator/benchmarks/bench3/bench3.pro b/IDEs/qtcreator/benchmarks/bench3/bench3.pro
new file mode 100644
index 0000000..21f561f
--- /dev/null
+++ b/IDEs/qtcreator/benchmarks/bench3/bench3.pro
@@ -0,0 +1,16 @@
+TEMPLATE = app
+TARGET = bench3
+
+!include (../configuration.pri)
+
+OTHER_FILES += \
+    ../../../../benchmarks/bench3/Jamfile.v2
+
+HEADERS += \
+    ../../../../benchmarks/bench3/bench3.hpp
+
+SOURCES += \
+    ../../../../benchmarks/bench3/bench33.cpp \
+    ../../../../benchmarks/bench3/bench32.cpp \
+    ../../../../benchmarks/bench3/bench31.cpp \
+    ../../../../benchmarks/bench3/bench3.cpp
diff --git a/IDEs/qtcreator/benchmarks/bench4/bench4.pro b/IDEs/qtcreator/benchmarks/bench4/bench4.pro
new file mode 100644
index 0000000..354bb47
--- /dev/null
+++ b/IDEs/qtcreator/benchmarks/bench4/bench4.pro
@@ -0,0 +1,15 @@
+TEMPLATE = app
+TARGET = bench4
+
+!include (../configuration.pri)
+
+DEFINES += BOOST_UBLAS_USE_INTERVAL
+
+OTHER_FILES += \
+    ../../../../benchmarks/bench4/Jamfile.v2
+
+SOURCES += \
+    ../../../../benchmarks/bench4/bench43.cpp \
+    ../../../../benchmarks/bench4/bench42.cpp \
+    ../../../../benchmarks/bench4/bench41.cpp \
+    ../../../../benchmarks/bench4/bench4.cpp
diff --git a/IDEs/qtcreator/benchmarks/bench5/bench5.pro b/IDEs/qtcreator/benchmarks/bench5/bench5.pro
new file mode 100644
index 0000000..e450911
--- /dev/null
+++ b/IDEs/qtcreator/benchmarks/bench5/bench5.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+TARGET = bench5
+
+!include (../configuration.pri)
+
+DEFINES += BOOST_UBLAS_USE_INTERVAL
+
+OTHER_FILES += \
+    ../../../../benchmarks/bench5/Jamfile.v2
+
+SOURCES += \
+    ../../../../benchmarks/bench5/assignment_bench.cpp
diff --git a/IDEs/qtcreator/benchmarks/benchmarks.pro b/IDEs/qtcreator/benchmarks/benchmarks.pro
new file mode 100644
index 0000000..4acf2d6
--- /dev/null
+++ b/IDEs/qtcreator/benchmarks/benchmarks.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = bench1 bench2 bench3 bench4 bench5
diff --git a/IDEs/qtcreator/benchmarks/configuration.pri b/IDEs/qtcreator/benchmarks/configuration.pri
new file mode 100644
index 0000000..07ffcae
--- /dev/null
+++ b/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/IDEs/qtcreator/include/detail/detail.pri b/IDEs/qtcreator/include/detail/detail.pri
new file mode 100644
index 0000000..711972d
--- /dev/null
+++ b/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/IDEs/qtcreator/include/experimental/experimental.pri b/IDEs/qtcreator/include/experimental/experimental.pri
new file mode 100644
index 0000000..41dc6c4
--- /dev/null
+++ b/IDEs/qtcreator/include/experimental/experimental.pri
@@ -0,0 +1,2 @@
+HEADERS += \
+    $${INCLUDE_DIR}/boost/numeric/ublas/experimental/sparse_view.hpp
diff --git a/IDEs/qtcreator/include/include.pro b/IDEs/qtcreator/include/include.pro
new file mode 100644
index 0000000..5815a01
--- /dev/null
+++ b/IDEs/qtcreator/include/include.pro
@@ -0,0 +1,47 @@
+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_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/IDEs/qtcreator/include/operation/operation.pri b/IDEs/qtcreator/include/operation/operation.pri
new file mode 100644
index 0000000..519c4f4
--- /dev/null
+++ b/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/IDEs/qtcreator/include/traits/traits.pri b/IDEs/qtcreator/include/traits/traits.pri
new file mode 100644
index 0000000..de327dc
--- /dev/null
+++ b/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/IDEs/qtcreator/test/begin_end.pro b/IDEs/qtcreator/test/begin_end.pro
new file mode 100644
index 0000000..03c4c62
--- /dev/null
+++ b/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/IDEs/qtcreator/test/comp_mat_erase.pro b/IDEs/qtcreator/test/comp_mat_erase.pro
new file mode 100644
index 0000000..63960ae
--- /dev/null
+++ b/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/IDEs/qtcreator/test/concepts.pro b/IDEs/qtcreator/test/concepts.pro
new file mode 100644
index 0000000..c4c0bca
--- /dev/null
+++ b/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/IDEs/qtcreator/test/configuration.pri b/IDEs/qtcreator/test/configuration.pri
new file mode 100644
index 0000000..3fdb4aa
--- /dev/null
+++ b/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/IDEs/qtcreator/test/num_columns.pro b/IDEs/qtcreator/test/num_columns.pro
new file mode 100644
index 0000000..8a28199
--- /dev/null
+++ b/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/IDEs/qtcreator/test/num_rows.pro b/IDEs/qtcreator/test/num_rows.pro
new file mode 100644
index 0000000..dc0a229
--- /dev/null
+++ b/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/IDEs/qtcreator/test/placement_new.pro b/IDEs/qtcreator/test/placement_new.pro
new file mode 100644
index 0000000..d19a747
--- /dev/null
+++ b/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/IDEs/qtcreator/test/size.pro b/IDEs/qtcreator/test/size.pro
new file mode 100644
index 0000000..59a0403
--- /dev/null
+++ b/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/IDEs/qtcreator/test/sparse_view_test.pro b/IDEs/qtcreator/test/sparse_view_test.pro
new file mode 100644
index 0000000..02b3eb0
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test1.pro b/IDEs/qtcreator/test/test1.pro
new file mode 100644
index 0000000..d1123c4
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test2.pro b/IDEs/qtcreator/test/test2.pro
new file mode 100644
index 0000000..00fb53f
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test3.pro b/IDEs/qtcreator/test/test3.pro
new file mode 100644
index 0000000..f4fd021
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test3_coo.pro b/IDEs/qtcreator/test/test3_coo.pro
new file mode 100644
index 0000000..27e3ca3
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test3_mvov.pro b/IDEs/qtcreator/test/test3_mvov.pro
new file mode 100644
index 0000000..f0a46dc
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test4.pro b/IDEs/qtcreator/test/test4.pro
new file mode 100644
index 0000000..19da3f8
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test5.pro b/IDEs/qtcreator/test/test5.pro
new file mode 100644
index 0000000..3f27384
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test6.pro b/IDEs/qtcreator/test/test6.pro
new file mode 100644
index 0000000..0664ce4
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test7.pro b/IDEs/qtcreator/test/test7.pro
new file mode 100644
index 0000000..5410184
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_assignment.pro b/IDEs/qtcreator/test/test_assignment.pro
new file mode 100644
index 0000000..1ad6ca3
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_banded_storage_layout.pro b/IDEs/qtcreator/test/test_banded_storage_layout.pro
new file mode 100644
index 0000000..78a96dc
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_complex_norms.pro b/IDEs/qtcreator/test/test_complex_norms.pro
new file mode 100644
index 0000000..e7c431e
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_coordinate_matrix_always_do_full_sort.pro b/IDEs/qtcreator/test/test_coordinate_matrix_always_do_full_sort.pro
new file mode 100644
index 0000000..0c93dd0
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_coordinate_matrix_inplace_merge.pro b/IDEs/qtcreator/test/test_coordinate_matrix_inplace_merge.pro
new file mode 100644
index 0000000..0dee5eb
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_coordinate_matrix_sort.pro b/IDEs/qtcreator/test/test_coordinate_matrix_sort.pro
new file mode 100644
index 0000000..ea94561
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_coordinate_vector_inplace_merge.pro b/IDEs/qtcreator/test/test_coordinate_vector_inplace_merge.pro
new file mode 100644
index 0000000..a86ce2a
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_fixed_containers.pro b/IDEs/qtcreator/test/test_fixed_containers.pro
new file mode 100644
index 0000000..6012748
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_inplace_solve_basic.pro b/IDEs/qtcreator/test/test_inplace_solve_basic.pro
new file mode 100644
index 0000000..42bc3db
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_inplace_solve_mvov.pro b/IDEs/qtcreator/test/test_inplace_solve_mvov.pro
new file mode 100644
index 0000000..a1d1316
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_inplace_solve_sparse.pro b/IDEs/qtcreator/test/test_inplace_solve_sparse.pro
new file mode 100644
index 0000000..9f9a32a
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_lu.pro b/IDEs/qtcreator/test/test_lu.pro
new file mode 100644
index 0000000..0f20339
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_matrix_vector.pro b/IDEs/qtcreator/test/test_matrix_vector.pro
new file mode 100644
index 0000000..d61b70b
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_ticket7296.pro b/IDEs/qtcreator/test/test_ticket7296.pro
new file mode 100644
index 0000000..98752cf
--- /dev/null
+++ b/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/IDEs/qtcreator/test/test_triangular.pro b/IDEs/qtcreator/test/test_triangular.pro
new file mode 100644
index 0000000..15c8ce1
--- /dev/null
+++ b/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/IDEs/qtcreator/test/triangular_access.pro b/IDEs/qtcreator/test/triangular_access.pro
new file mode 100644
index 0000000..98a8706
--- /dev/null
+++ b/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/IDEs/qtcreator/test/triangular_layout.pro b/IDEs/qtcreator/test/triangular_layout.pro
new file mode 100644
index 0000000..dcfd36f
--- /dev/null
+++ b/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/IDEs/qtcreator/tests.pri b/IDEs/qtcreator/tests.pri
new file mode 100644
index 0000000..6ece4ac
--- /dev/null
+++ b/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/IDEs/qtcreator/ublas_develop.pro b/IDEs/qtcreator/ublas_develop.pro
new file mode 100644
index 0000000..7364283
--- /dev/null
+++ b/IDEs/qtcreator/ublas_develop.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+CONFIG += ordered
+SUBDIRS = include benchmarks
+OTHER_FILES += ../../changelog.txt
+
+include (tests.pri)