spot 2.16
Loading...
Searching...
No Matches
convert.hh
1// -*- coding: utf-8 -*-
2// Copyright (C) by the Spot authors, see the AUTHORS file for details.
3//
4// This file is part of Spot, a model checking library.
5//
6// Spot is free software; you can redistribute it and/or modify it
7// under the terms of the GNU General Public License as published by
8// the Free Software Foundation; either version 3 of the License, or
9// (at your option) any later version.
10//
11// Spot is distributed in the hope that it will be useful, but WITHOUT
12// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
14// License for more details.
15//
16// You should have received a copy of the GNU General Public License
17// along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19
20#pragma once
21
22#include <bddx.h>
23#include <unordered_map>
24#include <spot/misc/common.hh>
25#include <spot/twacube/cube.hh>
26#include <spot/twacube/twacube.hh>
27#include <spot/twa/twagraph.hh>
28
29namespace spot
30{
36 std::unordered_map<int, int>& binder);
37
42 std::unordered_map<int, int>& reverse_binder);
43
48 SPOT_API std::vector<std::string>*
50 std::unordered_map<int, int>& ap_binder);
51
54 SPOT_API twacube_ptr
56
61 SPOT_API spot::twa_graph_ptr
63 spot::bdd_dict_ptr d = nullptr);
64
69}
Manager for allocating and manipulating cubes (bit-encoded partial assignments over APs).
Definition cube.hh:72
A Transition-based ω-Automaton.
Definition twa.hh:648
Class for representing a thread-safe twa.
Definition twacube.hh:140
bool are_equivalent(const_twa_graph_ptr left, const_twa_graph_ptr right)
Test if the language of left is equivalent to that of right.
std::shared_ptr< bdd_dict > bdd_dict_ptr
Shared pointer to a bdd_dict.
Definition bdddict.hh:304
std::shared_ptr< twa_graph > twa_graph_ptr
Shared pointer to a mutable twa_graph.
Definition fwd.hh:44
std::shared_ptr< const twa_graph > const_twa_graph_ptr
Shared pointer to a const twa_graph.
Definition fwd.hh:41
bdd cube_to_bdd(spot::cube cube, const cubeset &cubeset, std::unordered_map< int, int > &reverse_binder)
Transform a cube cube into a BDD using the map that binds cube indexes to BDD indexes.
spot::cube satone_to_cube(bdd one, cubeset &cubeset, std::unordered_map< int, int > &binder)
Transform one truth assignment represented as a BDD into a cube cube passed in parameter....
twacube_ptr twa_to_twacube(spot::const_twa_graph_ptr aut)
Convert a twa into a twacube.
spot::twa_graph_ptr twacube_to_twa(spot::twacube_ptr twacube, spot::bdd_dict_ptr d=nullptr)
Convert a twacube into a twa. When d is specified, the BDD_dict in parameter is used rather than crea...
std::vector< std::string > * extract_aps(spot::const_twa_graph_ptr aut, std::unordered_map< int, int > &ap_binder)
Extract the atomic propositions from the automaton. This method also fills the binder,...
std::shared_ptr< twacube > twacube_ptr
Definition fwd.hh:28
unsigned * cube
A cube is only a set of bits in memory.
Definition cube.hh:66
Definition automata.hh:26

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Fri Feb 27 2015 10:00:07 for spot by doxygen 1.9.8