Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
permutation.h File Reference
#include <cstdint>
#include <string>
#include <vector>
Include dependency graph for permutation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  storm
 LabParser.cpp.
 
namespace  storm::storage
 
namespace  storm::utility
 
namespace  storm::utility::permutation
 

Typedefs

using storm::utility::permutation::index_type = uint64_t
 

Enumerations

enum class  storm::utility::permutation::OrderKind {
  storm::utility::permutation::Bfs , storm::utility::permutation::Dfs , storm::utility::permutation::ReverseBfs , storm::utility::permutation::ReverseDfs ,
  storm::utility::permutation::Random
}
 The order in which the states of a matrix are visited in a depth-first search or breadth-first search traversal. More...
 

Functions

std::string storm::utility::permutation::orderKindtoString (OrderKind order)
 Converts the given order to a string.
 
std::vector< std::string > storm::utility::permutation::orderKinds ()
 Returns a list of possible order kinds.
 
OrderKind storm::utility::permutation::orderKindFromString (std::string const &order)
 Gets the order from the given string.
 
std::vector< index_typestorm::utility::permutation::createRandomPermutation (index_type size)
 Creates a random (uniformly distributed) permutation of the given size.
 
std::vector< index_typestorm::utility::permutation::createRandomPermutation (index_type size, index_type seed)
 Creates a random (uniformly distributed) permutation of the given size.
 
template<typename ValueType >
std::vector< index_typestorm::utility::permutation::createPermutation (OrderKind order, storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::BitVector const &initialStates)
 Creates a permutation that orders the states of the given matrix in the given exploration order.
 
std::vector< index_typestorm::utility::permutation::invertPermutation (std::vector< index_type > const &permutation)
 Inverts the given permutation.
 
void storm::utility::permutation::reversePermutationInPlace (std::vector< index_type > &permutation)
 Reverses the given permutation.
 
bool storm::utility::permutation::isValidPermutation (std::vector< index_type > const &permutation)
 Returns true if the given vector is a permutation of the numbers 0, 1, ..., n-1 for n = permutation.size().