-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathisgfunc.h
More file actions
122 lines (109 loc) · 6.16 KB
/
isgfunc.h
File metadata and controls
122 lines (109 loc) · 6.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/* isgfunc.h - gegenereerd met TLCGen 12.4.0.19 */
#ifndef ISGFUNC_H
#define ISGFUNC_H
#include <stdarg.h>
/* Global variables */
extern mulv TNL_type[FCMAX][FCMAX];
extern mulv FK_type[FCMAX][FCMAX];
extern mulv TISG_PR[FCMAX][FCMAX];
extern mulv TVG_basis[FCMAX];
extern mulv TVG_AR[FCMAX];
extern mulv TISG_AR[FCMAX][FCMAX];
extern mulv TISG_AR_los[FCMAX][FCMAX];
extern mulv TVG_PR[FCMAX];
extern mulv TVG_old[FCMAX];
extern mulv TVG_AR_old[FCMAX];
extern mulv REALISATIETIJD_max[FCMAX];
extern mulv TIGR[FCMAX][FCMAX];
extern mulv PRIOFC[FCMAX];
extern boolv NietGroentijdOphogen[FCMAX];
extern mulv twacht[FCMAX];
extern mulv twacht_AR[FCMAX];
extern mulv twacht_afkap[FCMAX];
extern mulv REALISATIETIJD[FCMAX][FCMAX];
extern boolv Volgrichting[FCMAX];
extern boolv AfslaandDeelconflict[FCMAX];
extern boolv PAR_los[FCMAX];
/* Type naloop */
#define TNL_NG -1 /* Geen */
#define TNL_SG 0 /* Naloop van StartGroen bv TNL_type[fc31][fc32] = TNL_SG*/
#define TNL_ECV 1 /* Naloop vanaf Einde verlenggroen bv TNL_type[fc22][fc21] = TNL_ECV */
#define TNL_EG 2 /* Naloop vanaf EindeGroen nv TNL_type[fc02][fc62] = TNL_EG*/
/* Type fictief conflict*/
#define FK_NG -1 /* Geen */
#define FK_SG 0 /* bijv FK_type[fc32][fc02] = FK_SG Starttijd 02 kan worden bepaald op basis StartGroen van fc32 */
#define FK_EVG 1 /* bv FK_type[fc22][fc02] = FK_EV Starttijd 02 kan worden bepaald op basis van EindeVerlengGroen van fc22 */
#define FK_EG 2 /* bv FK_type[fc02][fc05] = FK_EG Starttijd 05 kan worden bepaald op bais van Einde Groen fc02 */
#define offsetAR 5
/* Externs from other modules */
extern mulv TISG_rgv[FCMAX][FCMAX];
extern mulv TISG_basis[FCMAX][FCMAX];
extern mulv TVG_rgv[FCMAX];
extern mulv init_tvg;
extern mulv TISG_afkap[FCMAX][FCMAX];
extern boolv PAR_los[FCMAX];
/* Function prototypes */
void BepaalIntergroenTijden(void);
void corrigeerTIGRvoorNalopen(count fc1, count fc2, mulv tnleg, mulv tnlegd, mulv tvgnaloop);
void InitRealisatieTijden(void);
void RealisatieTijden_VulHardeConflictenIn(void);
void RealisatieTijden_VulGroenGroenConflictenIn(void);
void CorrigeerRealisatieTijdenObvGarantieTijden(void);
void Realisatietijd_NLEG(count i, count j, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void Realisatietijd_NLEVG(count i, count j, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop);
void Realisatietijd_NLSG(count i, count j, count tnlsg, count tnlsgd);
void Realisatietijd_HardMeeverlengenDeelconflict(mulv fc1, mulv fc2);
void Realisatietijd_Ontruiming_Voorstart(count fcns, count fcvs, count tfo);
void Realisatietijd_Ontruiming_Gelijkstart(count fc1, count fc2, count tfo12, count tfo21);
void Realisatietijd_Ontruiming_LateRelease(count fcvs, count fclr, count tlr, count tfo);
boolv Realisatietijd_Voorstart_Correctie(count fcvs, count fcns, count tvs);
boolv Realisatietijd_Gelijkstart_Correctie(count fc1, count fc2);
boolv Realisatietijd_LateRelease_Correctie(count fclr, count fcvs, count tlr);
void Bepaal_Realisatietijd_per_richting(count i);
boolv ym_max_tig_Realisatietijd(count i, count prmomx);
void TegenhoudenDoorRealisatietijden(void);
void InitInterStartGroenTijden(void);
void InterStartGroenTijden_VulHardeConflictenIn(void);
void InterStartGroenTijden_VulGroenGroenConflictenIn(void);
void InterStartGroenTijd_NLEG(count i, count j, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void InterStartGroenTijd_NLEVG(count i, count j, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop);
void InterStartGroenTijd_NLSG(count i, count j, count tnlsg, count tnlsgd);
void InterStartGroentijd_HardMeeverlengenDeelconflict(mulv fc1, mulv fc2);
boolv InterStartGroenTijd_Voorstart_Correctie(count fcvs, count fcns, count tvs);
boolv InterStartGroenTijd_Gelijkstart_Correctie(count fc1, count fc2);
boolv InterStartGroenTijd_LateRelease_Correctie(count fclr, count fcvs, count tlr);
void NaloopEG_TVG_Correctie(count fc1, count fc2, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void NaloopEVG_TVG_Correctie(count fc1, count fc2, count tnlfg, count tnlfgd, count tnlcv, count tnlcvd, count tvgnaloop);
void NaloopVtg_TVG_Correctie(count fc1, count fc2, count hnlsg, count tnlsg, count tnlsgd);
void NaloopVtg(count fc1, count fc2, count dk, count hdk, boolv hnlsg, count tnlsg, count tnlsgd);
void NaloopEG(count fc1, count fc2, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop, ...);
void NaloopEVG(count fc1, count fc2, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop, ...);
boolv max_par_los(count fc, mulv t_wacht[]);
void max_wachttijd_modulen_primair_ISG(boolv* prml[], count ml, count ml_max, mulv twacht[]);
boolv yml_cv_pr_nl_ISG(boolv* prml[], count ml, count ml_max);
void set_PG_Deelconflict_Voorstart(mulv fc1, mulv fc2);
void set_PG_Deelconflict_LateRelease(mulv fc1, mulv fc2, mulv tlr);
void MeeverlengenUitDoorDeelconflictVoorstart(mulv fc1, mulv fc2);
void MeeverlengenUitDoorDeelconflictLateRelease(mulv fc1, mulv fc2, mulv tlr);
void MeeverlengenUitDoorVoetgangerLos(count fcvtg, count hmadk);
void PercentageVerlengGroenTijdenISG(count fc, mulv percentage);
boolv hf_wsg_nlISG(void);
void afsluiten_aanvraaggebied_prISG(boolv* prml[], count ml);
void BepaalVolgrichtingen(void);
void PrioAanwezig(void);
void InitInterfunc(void);
void IsgDebug(void);
void IsgCorrectieTvgPrTvgMax(void);
void IsgCorrectieTvgTimerTvgMax(void);
void InitInterStartGroenTijden_rgv(void);
void InterStartGroenTijden_VulHardeConflictenIn_rgv(void);
void InterStartGroenTijden_VulGroenGroenConflictenIn_rgv(void);
void InterStartGroenTijd_NLEG_rgv(count i, count j, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void InterStartGroenTijd_NLEVG_rgv(count i, count j, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop);
void InterStartGroenTijd_NLSG_rgv(count i, count j, count tnlsg, count tnlsgd);
void InterStartGroentijd_MeeverlengenDeelconflict_rgv(mulv fc1, mulv fc2);
boolv Correctie_TISG_Voorstart_rgv(count fcvs, count fcns, count tvs);
boolv Correctie_TISG_Gelijkstart_rgv(count fc1, count fc2);
boolv Correctie_TISG_LateRelease_rgv(count fclr, count fcvs, count prmlr);
void ResetNaloopBits();
#endif /* ISGFUNC_H */