Line data Source code
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 : // 9 : /// \file mcrl2/lps/order_summand_variables.h 10 : /// \brief add your file description here. 11 : 12 : #ifndef MCRL2_LPS_ORDER_SUMMAND_VARIABLES_H 13 : #define MCRL2_LPS_ORDER_SUMMAND_VARIABLES_H 14 : 15 : #include "mcrl2/lps/specification.h" 16 : 17 : namespace mcrl2 { 18 : 19 : namespace lps { 20 : 21 : /// \brief Order summand variables to make enumeration over these variables more efficient. 22 : template <typename Specification> 23 202 : void order_summand_variables(Specification& lpsspec) 24 : { 25 689 : for (auto& summand: lpsspec.process().action_summands()) 26 : { 27 487 : summand.summation_variables() = data::order_variables_to_optimise_enumeration(summand.summation_variables(), lpsspec.data()); 28 : } 29 202 : } 30 : 31 : } // namespace lps 32 : 33 : } // namespace mcrl2 34 : 35 : #endif // MCRL2_LPS_ORDER_SUMMAND_VARIABLES_H