(Event+Time).Variant Operators  2.3
Operators for Timed Discrete Event Systems in Dioids
randGen.h
1 #ifndef __TEST_RANDGEN__
2 #define __TEST_RANDGEN__
3 
4 #include<algorithm>
5 #include<vector>
6 #include<time.h>
7 
8 #include "../../etvo/etop/gNg.h"
9 #include "../../etvo/etop/E_op.h"
10 #include "../../etvo/etop/T_op.h"
11 
12 #include "../../etvo/seriesEd/Ed.h"
13 #include "../../etvo/seriesEd/polyEd.h"
14 #include "../../etvo/seriesEd/seriesEd.h"
15 
16 #include "../../etvo/seriesTg/Tg.h"
17 #include "../../etvo/seriesTg/polyTg.h"
18 #include "../../etvo/seriesTg/seriesTg.h"
19 
20 #include "../../etvo/wrapperMMGD/seriesWrapper.h"
21 
22 #include "../../etvo/Fper/Fminp.h"
23 #include "../../etvo/Fper/Fmaxp.h"
24 #include "../../etvo/etop/dDd.h"
25 
26 namespace etvo
27 {
28 
29  class randGen
30  {
31  public:
32 
33  static int uni_int(int mini, int maxi);
34  static int norm_int(int mini, int maxi);
35 
36  static etvo::poly Rand_poly(unsigned nbTerms, const etvo::gd & offset, int maxGap=5);
37  static etvo::poly Rand_poly(unsigned nbTerms);
38  static etvo::series Rand_series(unsigned nTerms, const etvo::gd & slopeR=gd(5,6), const etvo::gd & offset=etvo::gd(0,0), int maxGap = 5);
39 
40  static etvo::gNg Rand_gNg();
41  static etvo::dDd Rand_dDd();
42 
43  static etvo::Fper Rand_Fper_fixedPer(int rangeY0,int dP, int codP);
44  static etvo::Fper Rand_Fper_fixedPer_and_Y0(int Y0, int dP, int codP);
45 
46  static etvo::Fminp Rand_Fminp_fixedPer(int rangeY0, int dP, int codP);
47  static etvo::Fminp Rand_Fminp_fixedPer_and_Y0(int Y0, int dP, int codP);
48 
49  static etvo::Fmaxp Rand_Fmaxp_fixedPer(int rangeY0, int dP, int codP);
50  static etvo::Fmaxp Rand_Fmaxp_fixedPer_and_Y0(int Y0, int dP, int codP);
51 
52  static etvo::E_op Rand_Eop_fixedG(unsigned Me, unsigned Be);
53  static etvo::E_op Rand_Eop_fixedG(unsigned Me, unsigned Be, int g0);
54  static etvo::E_op Rand_Eop(unsigned Me, unsigned Be);
55 
56  static etvo::T_op Rand_Top_fixedG(unsigned Me,unsigned Be);
57  static etvo::T_op Rand_Top_fixedG(unsigned Me,unsigned Be, int t0);
58  static etvo::T_op Rand_Top(unsigned Me,unsigned Be);
59 
60  static etvo::Ed Rand_Ed(unsigned Me, unsigned Be);
61  static etvo::Ed Rand_Ed(unsigned Me, unsigned Be,int g,int d);
62  static etvo::Ed Rand_Ed_fixedG(unsigned Me, unsigned Be);
63  static etvo::Ed Rand_Ed_fixedG(unsigned Me, unsigned Be, int g, int d);
64 
65  static etvo::Tg Rand_Tg(unsigned Me,unsigned Be);
66  static etvo::Tg Rand_Tg(unsigned Me,unsigned Be, int g, int d);
67  static etvo::Tg Rand_Tg_fixedG(unsigned Me,unsigned Be);
68  static etvo::Tg Rand_Tg_fixedG(unsigned Me,unsigned Be,int g,int d);
69 
70  static etvo::polyEd Rand_polyEd_fixedG(unsigned Me, unsigned Be, unsigned nbTerms,int maxGap=5);
71  static etvo::polyEd Rand_polyEd_fixedG(const etvo::gd & offset, unsigned Me, unsigned Be, unsigned nbTerms, int maxGap = 5);
72  static etvo::polyEd Rand_polyEd(unsigned M, unsigned B, unsigned nbTerms, int maxGap = 5);
73 
74  static etvo::seriesEd Rand_seriesEd_fixedG(unsigned Me, unsigned Be, unsigned nbTerms, const etvo::gd & off=etvo::gd(0,0));
75  static etvo::seriesEd Rand_seriesEd_fixedG_fixedSlope(unsigned Me, unsigned Be, const etvo::gd & rSlope, unsigned nbTerms, const etvo::gd & off= etvo::gd(0, 0));
76  static etvo::seriesEd Rand_seriesEd(unsigned Me, unsigned Be, unsigned nbTerms, const etvo::gd & off = etvo::gd(0, 0));
77 
78  static etvo::polyTg Rand_polyTg_fixedG(unsigned Me,unsigned Be, unsigned nbTerms, int maxGap = 5);
79  static etvo::polyTg Rand_polyTg(unsigned Me,unsigned Be, unsigned nbTerms, int maxGap = 5);
80  static etvo::polyTg Rand_polyTg_fixedG(const etvo::gd & offset, unsigned Me,unsigned Be, unsigned nbTerms, int maxGap = 5);
81 
82  static etvo::seriesTg Rand_seriesTg_fixedG(unsigned Me, unsigned Be, unsigned nbTerms, const etvo::gd & off = etvo::gd(0, 0));
83 
84  static etvo::seriesTg Rand_seriesTg_fixedG_fixedSlope(unsigned M,unsigned B, const etvo::gd & rSlope, unsigned nbTerms, const etvo::gd & off = etvo::gd(0, 0));
85  static etvo::seriesTg Rand_seriesTg(unsigned Me, unsigned Be, unsigned nbTerms, const etvo::gd & off = etvo::gd(0, 0));
86 
87  };
88 }
89 
90 
91 
92 #endif
Class for polynomials in the semiring E[[d]].
Definition: polyEd.h:31
Class for ultimately-periodic series in the semiring T[[g]].
Definition: seriesTg.h:25
Class for monomials in the semiring T[[g]].
Definition: Tg.h:22
Definition: etvoException.cpp:5
Class for pseudo - periodic functions with oplus=max and otimes=composition.
Definition: Fmaxp.h:22
Wrapper class to mmgd::serie from MinMaxGD library.
Definition: seriesWrapper.h:37
Class to describe T-operators which are coefficients of terms in T[[g]].
Definition: T_op.h:17
Class to describe terms in E[[d]] written g^n.Nabla_(m|b).g^n&#39; = g^nl.M_m.B_b.g^nr.
Definition: gNg.h:34
Base class for pseudo - periodic functions Z->Z where f(x + dP) = codP + f(x)
Definition: Fper.h:25
terms like d^tl.V_m.d^tc.W_b.d^tr
Definition: dDd.h:35
Class for pseudo - periodic functions with oplus=min and otimes=composition.
Definition: Fminp.h:24
Class for ultimately-periodic series in the semiring E[[d]]. In a general way, the series are describ...
Definition: seriesEd.h:40
Class for monomials in the semiring E[[d]].
Definition: Ed.h:24
Wrapper class to mmgd::gd from MinMaxGD library.
Definition: gdWrapper.h:36
Definition: randGen.h:29
Wrapper class to mmgd::poly from from MinMaxGD library.
Definition: polyWrapper.h:34
Class to describe E-operators which are coefficients of terms in E[[d]]. One E_op element is defined ...
Definition: E_op.h:20
Class for polynomials in the semiring T[[g]].
Definition: polyTg.h:23