mCRL2
Loading...
Searching...
No Matches
order_summand_variables.h
Go to the documentation of this file.
1// Author(s): Wieger Wesselink
2// Copyright: see the accompanying file COPYING or copy at
3// https://github.com/mCRL2org/mCRL2/blob/master/COPYING
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8//
11
12#ifndef MCRL2_LPS_ORDER_SUMMAND_VARIABLES_H
13#define MCRL2_LPS_ORDER_SUMMAND_VARIABLES_H
14
16
17namespace mcrl2 {
18
19namespace lps {
20
22template <typename Specification>
23void order_summand_variables(Specification& lpsspec)
24{
25 for (auto& summand: lpsspec.process().action_summands())
26 {
27 summand.summation_variables() = data::order_variables_to_optimise_enumeration(summand.summation_variables(), lpsspec.data());
28 }
29}
30
31} // namespace lps
32
33} // namespace mcrl2
34
35#endif // MCRL2_LPS_ORDER_SUMMAND_VARIABLES_H
variable_list order_variables_to_optimise_enumeration(const variable_list &l, const data_specification &data_spec)
Order the variables in a variable list such that enumeration over these variables becomes more effici...
void order_summand_variables(Specification &lpsspec)
Order summand variables to make enumeration over these variables more efficient.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
The class specification.