(Event+Time).Variant Operators
2.3
Operators for Timed Discrete Event Systems in Dioids
gd.h
1
2
#ifndef __GD_H__
3
#define __GD_H__
4
5
#include "tools.h"
6
#include <stdlib.h>
7
#include <math.h>
8
#include <fstream>
9
#include <iostream>
10
//#include<climits>
11
12
13
namespace
mmgd
14
{
15
/*****************************************************************************************/
16
/********* Classe pour exception ******************************************************************/
17
/*****************************************************************************************/
18
class
mem_limite
19
{
20
public
:
21
int
memoire;
22
mem_limite
(
int
i)
23
{
24
memoire = i;
25
}
26
27
};
28
class
taille_incorrecte
29
{
30
public
:
31
int
erreur;
32
taille_incorrecte
(
int
i)
33
{
34
erreur = i;
35
}
36
37
};
38
39
40
#define infinit 2147483647
41
#define _infinit -2147483647
42
43
/*****************************************************************************************/
44
//******* Classe gd definissant un monome *********************************************//
45
/*****************************************************************************************/
46
47
class
gd
{
48
protected
:
long
g;
49
long
d;
50
void
affecte(
long
,
long
);
51
52
public
:
gd
(
void
);
// constructuer 0 : (g,d)=(+00,-00)
53
gd
(
const
gd
&);
// constructeur 1 : par recopie
54
gd
(
long
,
long
);
// constructeur 2 : initialise avec 2 entiers
55
56
// surdefinition de l'operateur egal
57
gd
& operator=(
const
gd
&);
// initialise avec un objet gd ,
58
int
operator!=(
const
gd
&);
// comparaison d'un monome avec le monome courant
59
int
operator==(
const
gd
&);
// comparaison d'un monome avec le monome courant
60
int
operator>=(
const
gd
&);
// comparaison d'un monome avec le monome courant
61
int
operator<=(
const
gd
&);
// comparaison d'un monome avec le monome courant
62
bool
operator<(
const
gd
&)
const
;
// comparaison d'un monome avec le monome courant
63
64
gd
& init(
long
,
long
);
// initialise avec un tableau de 2 entiers
65
gd
& operator ()(
long
,
long
);
// initialise avec un tableau de 2 entiers
66
// void identifie();
67
friend
std::ostream& operator<<(std::ostream&,
gd
&);
//redefinition de l'operateur <<
68
friend
std::fstream& operator<<(std::fstream&,
gd
&);
//redefinition de l'operateur << pour fichier
69
70
long
getg(
void
) {
return
g; }
// retourne g
71
long
getd(
void
) {
return
d; }
// retourne d pour acces de l'exterieur
72
73
friend
gd
inf(
const
gd
&gd1,
const
gd
&gd2);
74
// inf de 2 monomes, en entree 2 monomes par reference
75
// la fonction retourne
76
// un monome pour permettre un appel successif
77
78
friend
gd
otimes(
const
gd
&gd1,
const
gd
&gd2);
79
// produit de 2 monomes, on traite les cas degeneres
80
// en entree 2 monomes par reference
81
// la fonction retourne
82
// un monome pour permettre un appel successif
83
84
friend
gd
frac(
const
gd
& gd1,
const
gd
&gd2);
85
// residuation de 2 monomes
86
// en entree 2 monomes par reference
87
// la fonction retourne
88
// un monome pour permettre un appel successif
89
90
friend
gd
Dualfrac(
const
gd
& gd1,
const
gd
&gd2);
91
92
93
// Append from 17/04/2015 for Soraia
94
friend
gd
odot(
const
gd
&gd1,
const
gd
&gd2);
95
// produit d'hadamard de 2 monomes, on traite les cas degeneres
96
// en entree 2 monomes par reference
97
// la fonction retourne
98
// un monome pour permettre un appel successif
99
100
friend
gd
fracodotsharp(
const
gd
&gd1,
const
gd
&gd2);
101
// residue d'hadamard de 2 monomes, gd1-gd2
102
// on traite les cas degeneres
103
// en entree 2 monomes par reference
104
// la fonction retourne
105
// un monome pour permettre un appel successif
106
107
friend
gd
fracodotflat(
const
gd
&gd1,
const
gd
&gd2);
108
// residue d'hadamard (flat=bemol) de 2 monomes, gd1-gd2, i.e. odot(gd2,temp) >= gd1
109
// on traite les cas degeneres
110
// en entree 2 monomes par reference
111
// la fonction retourne
112
// un monome pour permettre un appel successif
113
114
115
};
// fin de la definition de class gd
116
117
118
119
}
// fin de namespace mmgd
120
#endif
121
mmgd::taille_incorrecte
Definition:
gd.h:28
mmgd
Definition:
gd.h:13
mmgd::gd
Definition:
gd.h:47
mmgd::mem_limite
Definition:
gd.h:18
etvo
libminmaxgd
include
gd.h
Generated by
1.8.14