(Event+Time).Variant Operators
2.3
Operators for Timed Discrete Event Systems in Dioids
smatrix.h
1
#ifndef __SMATRIX_H__
2
#define __SMATRIX_H__
3
4
5
#include "serie.h"
6
/*************************************************************************************/
7
/*************************************************************************************/
8
9
namespace
mmgd
10
{
11
class
smatrix
{
12
private
:
13
int
row, col;
14
serie
** data;
15
16
void
affecte(
const
serie
**,
int
ligne,
int
colonne);
//affectation d'un ��ent avec un tableau de series
17
18
19
public
:
20
smatrix
(
void
);
21
smatrix
(
int
,
int
);
// constructeur 0 : matrice = epsilon + epsilon.(epsilon)*
22
smatrix
(
const
smatrix
&);
// constructuer 1 : matrice initialisee avec un objet matrice
23
smatrix
(
const
serie
&);
// constructuer 2 : matrice initialisee avec un objet serie
24
smatrix
(
poly
&);
// constructuer 3 : matrice initialisee avec un objet poly
25
smatrix
(
gd
&);
// constructuer 4 : matrice initialisee avec un objet monome
26
27
28
~
smatrix
(
void
);
// destructeur
29
30
int
getrow(
void
) {
return
row; }
31
int
getcol(
void
) {
return
col; }
32
33
34
smatrix
& operator =(
const
smatrix
& a);
//surdefinition du =, permet d'initialiser avec une autre matrice
35
smatrix
& operator =(
serie
& a);
//surdefinition du =, permet d'initialiser avec une serie cast serei matrice
36
smatrix
& operator =(
gd
& gd1);
// initialise avec un monome cast monome->matrice
37
smatrix
& operator =(
poly
& p1);
// initialise avec un polynome cast polynome->matrice
38
serie
& operator ()(
int
i,
int
j) {
39
if
(i >= row || j >= col)
40
{
41
taille_incorrecte
number(1);
42
throw
(number);
43
}
44
45
return
(data[i][j]);
46
}
47
48
49
int
operator==(
const
smatrix
& M);
// surdefiniton de l'�alit�de matrice
50
51
friend
std::ostream & operator<<(std::ostream &flot,
smatrix
&);
//surdef. de <<
52
friend
std::fstream & operator<<(std::fstream &flot,
smatrix
&);
// surdef de >> pour fichier
53
54
friend
smatrix
oplus(
smatrix
&,
smatrix
&);
//somme de 2 matrices de series p�iodiques
55
56
friend
smatrix
inf(
smatrix
& a,
smatrix
& b);
// inf de 2 matrices de s�ies p�iodiques
57
58
friend
smatrix
otimes(
smatrix
&,
smatrix
&);
//produit de 2 matrices de series p�iodiques
59
60
friend
smatrix
lfrac(
smatrix
&,
smatrix
&);
//residuation a gauche de 2 matrices de series p�iodiques b\a
61
62
friend
smatrix
rfrac(
smatrix
& a,
smatrix
& b);
// residuation �droite de 2 matrices de series p�iodiques a/b
63
64
friend
smatrix
star(
smatrix
ak_1);
65
friend
smatrix
transpose(
smatrix
&PT);
66
friend
smatrix
prcaus(
smatrix
&);
67
friend
smatrix
odot(
smatrix
&,
smatrix
&);
68
friend
smatrix
Duallfrac(
smatrix
& a,
smatrix
& b);
69
friend
smatrix
permutation
(
smatrix
&a);
70
};
71
72
}
//fin namespace mmgd
73
#endif
mmgd::taille_incorrecte
Definition:
gd.h:28
mmgd::poly
Definition:
poly.h:16
mmgd
Definition:
gd.h:13
mmgd::smatrix
Definition:
smatrix.h:11
mmgd::gd
Definition:
gd.h:47
mmgd::serie
Definition:
serie.h:14
mmgd::smatrix::permutation
friend smatrix permutation(smatrix &a)
Essai 2013 june, is it possible to reduce complexity by permuting row of A, result is not so obvious...
Definition:
smatrix.cpp:419
etvo
libminmaxgd
include
smatrix.h
Generated by
1.8.14