From 158430418e922a76f87a4e41fcbb0d9d1fa82a61 Mon Sep 17 00:00:00 2001 From: PBerger Date: Thu, 12 Sep 2013 20:36:47 +0200 Subject: [PATCH] Replaced boost integer mask includes with cstdint Reimplemented Gmm conversion with in place constructors Former-commit-id: 003f582f9caf143c92c54883e4e7a1bc018c8eb8 --- src/adapters/GmmxxAdapter.h | 21 +++++++++++++------ src/formula/Ltl/BoundedEventually.h | 2 +- src/formula/Ltl/BoundedUntil.h | 2 +- src/formula/Prctl/BoundedEventually.h | 2 +- src/formula/Prctl/BoundedNaryUntil.h | 2 +- src/formula/Prctl/BoundedUntil.h | 2 +- src/formula/Prctl/InstantaneousReward.h | 2 +- src/formula/abstract/BoundedEventually.h | 2 +- src/formula/abstract/BoundedNaryUntil.h | 2 +- src/formula/abstract/BoundedUntil.h | 2 +- src/formula/abstract/InstantaneousReward.h | 2 +- src/parser/AtomicPropositionLabelingParser.h | 2 +- .../DeterministicSparseTransitionParser.cpp | 2 +- ...NondeterministicSparseTransitionParser.cpp | 2 +- src/parser/SparseStateRewardParser.h | 2 +- src/settings/Argument.h | 5 +++-- src/storage/BitVector.h | 2 +- src/storage/SparseMatrix.h | 2 +- src/utility/CuddUtility.h | 2 +- .../eigen/EigenSparseMatrixTest.cpp | 2 +- .../storage/adapters/EigenAdapterTest.cpp | 2 +- .../storage/adapters/GmmAdapterTest.cpp | 2 +- .../storage/adapters/StormAdapterTest.cpp | 2 +- 23 files changed, 39 insertions(+), 29 deletions(-) diff --git a/src/adapters/GmmxxAdapter.h b/src/adapters/GmmxxAdapter.h index e5f0413f6..abc8a3766 100644 --- a/src/adapters/GmmxxAdapter.h +++ b/src/adapters/GmmxxAdapter.h @@ -9,6 +9,7 @@ #define STORM_ADAPTERS_GMMXXADAPTER_H_ #include "src/storage/SparseMatrix.h" +#include #include "log4cplus/logger.h" #include "log4cplus/loggingmacros.h" @@ -59,12 +60,20 @@ public: // Prepare the resulting matrix. gmm::csr_matrix* result = new gmm::csr_matrix(matrix.rowCount, matrix.colCount); - // Move Row Indications - result->jc = std::vector(std::move(matrix.rowIndications)); - // Move Columns Indications - result->ir = std::vector(std::move(matrix.columnIndications)); - // And do the same thing with the actual values. - result->pr = std::vector(std::move(matrix.valueStorage)); + typedef unsigned long long IND_TYPE; + typedef std::vector vectorType_ull_t; + typedef std::vector vectorType_T_t; + + // Move Row Indications + result->jc.~vectorType_ull_t(); // Call Destructor inplace + new (&result->jc) vectorType_ull_t(std::move(matrix.rowIndications)); + // Move Columns Indications + result->ir.~vectorType_ull_t(); // Call Destructor inplace + new (&result->ir) vectorType_ull_t(std::move(matrix.columnIndications)); + // And do the same thing with the actual values. + result->pr.~vectorType_T_t(); // Call Destructor inplace + new (&result->pr) vectorType_T_t(std::move(matrix.valueStorage)); + LOG4CPLUS_DEBUG(logger, "Done converting matrix to gmm++ format."); diff --git a/src/formula/Ltl/BoundedEventually.h b/src/formula/Ltl/BoundedEventually.h index 1ff5c997e..3dbbf1849 100644 --- a/src/formula/Ltl/BoundedEventually.h +++ b/src/formula/Ltl/BoundedEventually.h @@ -11,7 +11,7 @@ #include "src/formula/abstract/BoundedEventually.h" #include "AbstractLtlFormula.h" #include "src/formula/AbstractFormulaChecker.h" -#include "boost/integer/integer_mask.hpp" +#include #include #include "src/modelchecker/ltl/ForwardDeclarations.h" diff --git a/src/formula/Ltl/BoundedUntil.h b/src/formula/Ltl/BoundedUntil.h index 7a76c096c..64e594085 100644 --- a/src/formula/Ltl/BoundedUntil.h +++ b/src/formula/Ltl/BoundedUntil.h @@ -10,7 +10,7 @@ #include "src/formula/abstract/BoundedUntil.h" #include "AbstractLtlFormula.h" -#include "boost/integer/integer_mask.hpp" +#include #include #include "src/modelchecker/ltl/ForwardDeclarations.h" diff --git a/src/formula/Prctl/BoundedEventually.h b/src/formula/Prctl/BoundedEventually.h index 1956b5da4..32825a23c 100644 --- a/src/formula/Prctl/BoundedEventually.h +++ b/src/formula/Prctl/BoundedEventually.h @@ -12,7 +12,7 @@ #include "src/formula/Prctl/AbstractPathFormula.h" #include "src/formula/Prctl/AbstractStateFormula.h" #include "src/formula/AbstractFormulaChecker.h" -#include "boost/integer/integer_mask.hpp" +#include #include #include "src/modelchecker/prctl/ForwardDeclarations.h" diff --git a/src/formula/Prctl/BoundedNaryUntil.h b/src/formula/Prctl/BoundedNaryUntil.h index 53911dd20..ed865c98c 100644 --- a/src/formula/Prctl/BoundedNaryUntil.h +++ b/src/formula/Prctl/BoundedNaryUntil.h @@ -11,7 +11,7 @@ #include "src/formula/abstract/BoundedNaryUntil.h" #include "src/formula/Prctl/AbstractPathFormula.h" #include "src/formula/Prctl/AbstractStateFormula.h" -#include "boost/integer/integer_mask.hpp" +#include #include #include #include diff --git a/src/formula/Prctl/BoundedUntil.h b/src/formula/Prctl/BoundedUntil.h index 5e274077b..2bc4b8f49 100644 --- a/src/formula/Prctl/BoundedUntil.h +++ b/src/formula/Prctl/BoundedUntil.h @@ -11,7 +11,7 @@ #include "src/formula/abstract/BoundedUntil.h" #include "src/formula/Prctl/AbstractPathFormula.h" #include "src/formula/Prctl/AbstractStateFormula.h" -#include "boost/integer/integer_mask.hpp" +#include #include #include "src/modelchecker/prctl/ForwardDeclarations.h" diff --git a/src/formula/Prctl/InstantaneousReward.h b/src/formula/Prctl/InstantaneousReward.h index 120f5a8df..a1905d4ae 100644 --- a/src/formula/Prctl/InstantaneousReward.h +++ b/src/formula/Prctl/InstantaneousReward.h @@ -12,7 +12,7 @@ #include "AbstractStateFormula.h" #include "src/formula/abstract/InstantaneousReward.h" #include "src/formula/AbstractFormulaChecker.h" -#include "boost/integer/integer_mask.hpp" +#include #include namespace storm { diff --git a/src/formula/abstract/BoundedEventually.h b/src/formula/abstract/BoundedEventually.h index 295ae7aa5..2970d09d3 100644 --- a/src/formula/abstract/BoundedEventually.h +++ b/src/formula/abstract/BoundedEventually.h @@ -10,7 +10,7 @@ #include "src/formula/abstract/AbstractFormula.h" #include "src/formula/AbstractFormulaChecker.h" -#include "boost/integer/integer_mask.hpp" +#include #include namespace storm { diff --git a/src/formula/abstract/BoundedNaryUntil.h b/src/formula/abstract/BoundedNaryUntil.h index 893501d4c..749f2305f 100644 --- a/src/formula/abstract/BoundedNaryUntil.h +++ b/src/formula/abstract/BoundedNaryUntil.h @@ -9,7 +9,7 @@ #define STORM_FORMULA_ABSTRACT_BOUNDEDNARYUNTIL_H_ #include "src/formula/abstract/AbstractFormula.h" -#include "boost/integer/integer_mask.hpp" +#include #include #include #include diff --git a/src/formula/abstract/BoundedUntil.h b/src/formula/abstract/BoundedUntil.h index d382df073..487fb0535 100644 --- a/src/formula/abstract/BoundedUntil.h +++ b/src/formula/abstract/BoundedUntil.h @@ -9,7 +9,7 @@ #define STORM_FORMULA_ABSTRACT_BOUNDEDUNTIL_H_ #include "src/formula/abstract/AbstractFormula.h" -#include "boost/integer/integer_mask.hpp" +#include #include namespace storm { diff --git a/src/formula/abstract/InstantaneousReward.h b/src/formula/abstract/InstantaneousReward.h index 424b0b9ce..8e2674efb 100644 --- a/src/formula/abstract/InstantaneousReward.h +++ b/src/formula/abstract/InstantaneousReward.h @@ -10,7 +10,7 @@ #include "AbstractFormula.h" #include "src/formula/AbstractFormulaChecker.h" -#include "boost/integer/integer_mask.hpp" +#include #include namespace storm { diff --git a/src/parser/AtomicPropositionLabelingParser.h b/src/parser/AtomicPropositionLabelingParser.h index 26d370792..578b1d9ae 100644 --- a/src/parser/AtomicPropositionLabelingParser.h +++ b/src/parser/AtomicPropositionLabelingParser.h @@ -2,7 +2,7 @@ #define STORM_PARSER_LABPARSER_H_ #include "src/models/AtomicPropositionsLabeling.h" -#include "boost/integer/integer_mask.hpp" +#include #include "src/parser/Parser.h" diff --git a/src/parser/DeterministicSparseTransitionParser.cpp b/src/parser/DeterministicSparseTransitionParser.cpp index f72ce391e..2b21bcba5 100644 --- a/src/parser/DeterministicSparseTransitionParser.cpp +++ b/src/parser/DeterministicSparseTransitionParser.cpp @@ -22,7 +22,7 @@ #include "src/exceptions/FileIoException.h" #include "src/exceptions/WrongFormatException.h" -#include "boost/integer/integer_mask.hpp" +#include #include "src/settings/Settings.h" #include "log4cplus/logger.h" diff --git a/src/parser/NondeterministicSparseTransitionParser.cpp b/src/parser/NondeterministicSparseTransitionParser.cpp index 799204dd1..31492f51e 100644 --- a/src/parser/NondeterministicSparseTransitionParser.cpp +++ b/src/parser/NondeterministicSparseTransitionParser.cpp @@ -24,7 +24,7 @@ #include "src/settings/Settings.h" #include "src/exceptions/FileIoException.h" #include "src/exceptions/WrongFormatException.h" -#include "boost/integer/integer_mask.hpp" +#include #include "log4cplus/logger.h" #include "log4cplus/loggingmacros.h" extern log4cplus::Logger logger; diff --git a/src/parser/SparseStateRewardParser.h b/src/parser/SparseStateRewardParser.h index 668b76dcc..03f26c902 100644 --- a/src/parser/SparseStateRewardParser.h +++ b/src/parser/SparseStateRewardParser.h @@ -1,7 +1,7 @@ #ifndef STORM_PARSER_SPARSESTATEREWARDPARSER_H_ #define STORM_PARSER_SPARSESTATEREWARDPARSER_H_ -#include "boost/integer/integer_mask.hpp" +#include #include "src/parser/Parser.h" #include #include diff --git a/src/settings/Argument.h b/src/settings/Argument.h index 2a7530cb8..ae6328080 100644 --- a/src/settings/Argument.h +++ b/src/settings/Argument.h @@ -16,6 +16,7 @@ #include "src/settings/ArgumentTypeInferationHelper.h" #include "src/utility/StringHelper.h" #include "src/exceptions/ArgumentUnificationException.h" +#include "src/exceptions/IllegalArgumentException.h" #include "src/exceptions/IllegalArgumentValueException.h" #include "src/exceptions/IllegalFunctionCallException.h" @@ -50,11 +51,11 @@ namespace storm { } } - Argument(std::string const& argumentName, std::string const& argumentDescription, std::vector const& validationFunctions, bool isOptional, T defaultValue): ArgumentBase(argumentName, argumentDescription, isOptional), argumentType(ArgumentTypeInferation::inferToEnumType()), userValidationFunction(validationFunctions), hasDefaultValue(true), defaultValue(defaultValue) { + Argument(std::string const& argumentName, std::string const& argumentDescription, std::vector const& validationFunctions, bool isOptional, T defaultValue): ArgumentBase(argumentName, argumentDescription, isOptional), argumentType(ArgumentTypeInferation::inferToEnumType()), userValidationFunction(validationFunctions), defaultValue(defaultValue), hasDefaultValue(true) { } - Argument(Argument const& other) : ArgumentBase(other.argumentName, other.argumentDescription, other.isOptional), argumentType(other.argumentType), hasDefaultValue(other.hasDefaultValue), defaultValue(other.defaultValue) { + Argument(Argument const& other) : ArgumentBase(other.argumentName, other.argumentDescription, other.isOptional), argumentType(other.argumentType), defaultValue(other.defaultValue), hasDefaultValue(other.hasDefaultValue) { this->userValidationFunction.reserve(other.userValidationFunction.size()); for (auto i = 0; i < other.userValidationFunction.size(); ++i) { this->userValidationFunction.push_back(userValidationFunction_t(other.userValidationFunction.at(i))); diff --git a/src/storage/BitVector.h b/src/storage/BitVector.h index fbdd13782..6e78f39f2 100644 --- a/src/storage/BitVector.h +++ b/src/storage/BitVector.h @@ -4,7 +4,7 @@ #include #include #include -#include "boost/integer/integer_mask.hpp" +#include #include "src/exceptions/InvalidStateException.h" #include "src/exceptions/InvalidArgumentException.h" diff --git a/src/storage/SparseMatrix.h b/src/storage/SparseMatrix.h index f0bb0e0f1..96478ff68 100644 --- a/src/storage/SparseMatrix.h +++ b/src/storage/SparseMatrix.h @@ -7,7 +7,7 @@ #include #include #include -#include "boost/integer/integer_mask.hpp" +#include #ifdef STORM_USE_TBB # include // This fixes a potential dependency ordering problem between GMM and TBB diff --git a/src/utility/CuddUtility.h b/src/utility/CuddUtility.h index 2832884a2..8473e9110 100644 --- a/src/utility/CuddUtility.h +++ b/src/utility/CuddUtility.h @@ -10,7 +10,7 @@ #include "cuddObj.hh" -#include "boost/integer/integer_mask.hpp" +#include namespace storm { diff --git a/test/functional/eigen/EigenSparseMatrixTest.cpp b/test/functional/eigen/EigenSparseMatrixTest.cpp index d050a6948..b03ada475 100644 --- a/test/functional/eigen/EigenSparseMatrixTest.cpp +++ b/test/functional/eigen/EigenSparseMatrixTest.cpp @@ -2,7 +2,7 @@ #include "Eigen/Sparse" #include "src/exceptions/InvalidArgumentException.h" -#include "boost/integer/integer_mask.hpp" +#include TEST(EigenSparseMatrixTest, BasicReadWriteTest) { // 25 rows, 50 non zero entries diff --git a/test/functional/storage/adapters/EigenAdapterTest.cpp b/test/functional/storage/adapters/EigenAdapterTest.cpp index fef057fcb..6428c6493 100644 --- a/test/functional/storage/adapters/EigenAdapterTest.cpp +++ b/test/functional/storage/adapters/EigenAdapterTest.cpp @@ -3,7 +3,7 @@ #include "Eigen/Sparse" #include "src/adapters/EigenAdapter.h" #include "src/exceptions/InvalidArgumentException.h" -#include "boost/integer/integer_mask.hpp" +#include #define STORM_EIGENADAPTERTEST_SIMPLEDENSESQUARECOPY_SIZE 5 #define STORM_EIGENADAPTERTEST_SIMPLESPARSESQUARECOPY_SIZE 5 diff --git a/test/functional/storage/adapters/GmmAdapterTest.cpp b/test/functional/storage/adapters/GmmAdapterTest.cpp index 44488026b..8377792d7 100644 --- a/test/functional/storage/adapters/GmmAdapterTest.cpp +++ b/test/functional/storage/adapters/GmmAdapterTest.cpp @@ -3,7 +3,7 @@ #include "gmm/gmm_matrix.h" #include "src/adapters/GmmxxAdapter.h" #include "src/exceptions/InvalidArgumentException.h" -#include "boost/integer/integer_mask.hpp" +#include #define STORM_GMMADAPTERTEST_SIMPLEDENSESQUARECOPY_SIZE 5 #define STORM_GMMADAPTERTEST_SIMPLESPARSESQUARECOPY_SIZE 5 diff --git a/test/functional/storage/adapters/StormAdapterTest.cpp b/test/functional/storage/adapters/StormAdapterTest.cpp index fec55360e..c3d341a43 100644 --- a/test/functional/storage/adapters/StormAdapterTest.cpp +++ b/test/functional/storage/adapters/StormAdapterTest.cpp @@ -3,7 +3,7 @@ #include "gmm/gmm_matrix.h" #include "src/adapters/StormAdapter.h" #include "src/exceptions/InvalidArgumentException.h" -#include "boost/integer/integer_mask.hpp" +#include #define STORM_STORMADAPTERTEST_SIMPLEDENSESQUARECOPY_SIZE 5 #define STORM_STORMADAPTERTEST_SIMPLESPARSESQUARECOPY_SIZE 5