Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
Main Page
Classes
Files
File List
All
Classes
Functions
Variables
Set
marmoteSet.h
1
/* Marmote is free software: you can redistribute it and/or modify
2
it under the terms of the GNU General Public License as published by
3
the Free Software Foundation, either version 3 of the License, or
4
(at your option) any later version.
5
6
Marmote is distributed in the hope that it will be useful,
7
but WITHOUT ANY WARRANTY; without even the implied warranty of
8
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9
GNU General Public License for more details.
10
11
You should have received a copy of the GNU General Public License
12
along with Marmote. If not, see <http://www.gnu.org/licenses/>.
13
14
Copyright 2015 Alain Jean-Marie, Jean-Michel Fourneau, Jean-Marc Vincent, Issam Rabhi */
15
16
/* marmoteSet.h ---
17
*
18
* Author: Alain Jean-Marie
19
*/
20
21
/* Commentary:
22
*
23
*/
24
25
/* Change log:
26
*
27
*/
28
29
30
#ifndef MARMOTESET_H
31
#define MARMOTESET_H
32
33
#include "../marmoteConstants.h"
34
#include <stdio.h>
35
42
enum
opType { UNION, PRODUCT, SIMPLE };
43
48
class
marmoteSet
{
49
50
protected
:
51
bool
_isSimple
;
52
bool
_isUnion
;
53
bool
_isProduct
;
54
int
_nbDimensions
;
55
int
_nbZones
;
56
long
int
_cardinal
;
57
marmoteSet
**
_zone
;
58
marmoteSet
**
_dimension
;
60
private
:
61
int
* _stateBuffer;
62
int
* _dimOffset;
63
int
* _idxOffset;
64
int
_totNbDims;
66
protected
:
67
int
*
_zeroState
;
69
public
:
74
marmoteSet
();
82
marmoteSet
(
marmoteSet
**list,
int
nb, opType t );
86
virtual
~marmoteSet
();
87
88
public
:
94
virtual
long
int
cardinal
();
100
virtual
bool
isFinite
() = 0;
106
bool
isSimple
() {
return
_isSimple
; };
112
bool
isUnion
() {
return
_isUnion
; };
118
bool
isProduct
() {
return
_isProduct
; };
123
int
totNbDims
() {
return
_totNbDims; };
124
125
public
:
130
virtual
void
enumerate
();
131
132
virtual
void
firstState(
int
* buffer);
139
virtual
void
nextState
(
int
* buffer);
140
virtual
void
decodeState(
int
index,
int
* buffer);
141
virtual
bool
isZero(
int
* buffer);
142
virtual
void
printState(FILE* out,
int
* buffer);
143
virtual
void
printState(FILE* out,
int
index);
144
};
145
146
#endif
Generated on Thu May 21 2015 17:06:41 for Marmote Core by
1.8.3.1