spot
2.3.3.dev
spot
twacube
cube.hh
1
// -*- coding: utf-8 -*-
2
// Copyright (C) 2015, 2016 Laboratoire de Recherche et Developpement de
3
// l'Epita (LRDE).
4
//
5
// This file is part of Spot, a model checking library.
6
//
7
// Spot is free software; you can redistribute it and/or modify it
8
// under the terms of the GNU General Public License as published by
9
// the Free Software Foundation; either version 3 of the License, or
10
// (at your option) any later version.
11
//
12
// Spot is distributed in the hope that it will be useful, but WITHOUT
13
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15
// License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with this program. If not, see <http://www.gnu.org/licenses/>.
19
20
21
#pragma once
22
23
#include <spot/misc/common.hh>
24
#include <vector>
25
#include <string>
26
#include <climits>
27
#include <sstream>
28
29
namespace
spot
30
{
66
using
cube
=
unsigned
*;
67
68
class
SPOT_API
cubeset
final
69
{
70
// \brief The total number of variables stored
71
size_t
size_;
72
74
size_t
uint_size_;
75
77
size_t
nb_bits_;
78
79
public
:
80
// Some deleted constructor
81
cubeset
() =
delete
;
82
84
cubeset
(
int
aps);
85
86
virtual
~
cubeset
();
87
89
cube
alloc()
const
;
90
92
void
set_true_var(
cube
c,
unsigned
int
x)
const
;
93
95
void
set_false_var(
cube
c,
unsigned
int
x)
const
;
96
98
bool
is_true_var(
cube
c,
unsigned
int
x)
const
;
99
101
bool
is_false_var(
cube
c,
unsigned
int
x)
const
;
102
104
bool
intersect
(
const
cube
lhs,
const
cube
rhs)
const
;
105
107
cube
intersection(
const
cube
lhs,
const
cube
rhs)
const
;
108
111
bool
is_valid(
const
cube
lhs)
const
;
112
114
size_t
size()
const
;
115
117
void
release(
cube
lhs)
const
;
118
120
void
display(
const
cube
c)
const
;
121
123
std::string dump(
cube
c,
const
std::vector<std::string>& aps)
const
;
124
};
125
}
spot
Definition:
graph.hh:33
spot::intersect
This class explores (with a DFS) a product between a system and a twa. This exploration is performed ...
Definition:
intersect.hh:59
spot::cubeset
Definition:
cube.hh:68
spot::cube
unsigned * cube
A cube is only a set of bits in memory.
Definition:
cube.hh:66
Please direct any
question
,
comment
, or
bug report
to the Spot mailing list at
spot@lrde.epita.fr
.
Generated on Tue Apr 18 2017 14:42:56 for spot by
1.8.13