85 std::vector<uint_fast64_t> indexToIdentifierMapping(selectedChoices.
getNumberOfSetBits());
95 std::vector<uint_fast64_t> indexToIdentifierMapping;
96 indexToIdentifierMapping.reserve(selectedChoices.size());
97 for (
auto const& selectedChoice : selectedChoices) {
111 storm::utility::vector::filter<uint_fast64_t>(
indexToIdentifier, [&identifier](uint_fast64_t
i) ->
bool {
return i == identifier; });
112 if (!choicesWithIdentifier.
empty()) {
This class manages the labeling of the choice space with a number of (atomic) labels.
void addLabel(std::string const &label)
Adds a new label to the labelings.
A bit vector that is internally represented as a vector of 64-bit values.
bool empty() const
Retrieves whether no bits are set to true in this bit vector.
uint_fast64_t getNumberOfSetBits() const
Returns the number of bits that are set to true in this bit vector.
virtual std::shared_ptr< ChoiceOrigins > cloneWithNewIndexToIdentifierMapping(std::vector< uint_fast64_t > &&indexToIdentifierMapping) const =0
std::vector< uint_fast64_t > indexToIdentifier
virtual uint_fast64_t getNumberOfIdentifiers() const =0
std::string const & getChoiceInfo(uint_fast64_t choiceIndex) const
virtual bool isJaniChoiceOrigins() const
std::vector< Json > identifierToJson
void clearOriginOfChoice(uint_fast64_t choiceIndex)
virtual void computeIdentifierInfos() const =0
uint_fast64_t getIdentifier(uint_fast64_t choiceIndex) const
JaniChoiceOrigins & asJaniChoiceOrigins()
virtual bool isPrismChoiceOrigins() const
virtual void computeIdentifierJson() const =0
storm::models::sparse::ChoiceLabeling toChoiceLabeling() const
PrismChoiceOrigins & asPrismChoiceOrigins()
std::vector< std::string > identifierToInfo
static uint_fast64_t getIdentifierForChoicesWithNoOrigin()
storm::json< storm::RationalNumber > Json
std::shared_ptr< ChoiceOrigins > selectChoices(storm::storage::BitVector const &selectedChoices) const
ChoiceOrigins(std::vector< uint_fast64_t > const &indexToIdentifierMapping)
Json const & getChoiceAsJson(uint_fast64_t choiceIndex) const
Json const & getIdentifierAsJson(uint_fast64_t identifier) const
uint_fast64_t getNumberOfChoices() const
std::string const & getIdentifierInfo(uint_fast64_t identifier) const
This class represents for each choice the origin in the jani specification // TODO complete this.
This class represents for each choice the set of prism commands that induced the choice.
#define STORM_LOG_ASSERT(cond, message)
void selectVectorValues(std::vector< T > &vector, storm::storage::BitVector const &positions, std::vector< T > const &values)
Selects the elements from a vector at the specified positions and writes them consecutively into anot...