YAPF: Prevent user for configuring signal penalties to negative values

Warn if signal penalty polynomial goes negative, and clamp to non-negative
This commit is contained in:
Jonathan G Rennison
2020-01-17 19:23:03 +00:00
parent 07f5b86dfc
commit bb363695fc
5 changed files with 34 additions and 2 deletions

View File

@@ -70,8 +70,8 @@ protected:
int p1 = Yapf().PfGetSettings().rail_look_ahead_signal_p1;
int p2 = Yapf().PfGetSettings().rail_look_ahead_signal_p2;
int *pen = m_sig_look_ahead_costs.GrowSizeNC(Yapf().PfGetSettings().rail_look_ahead_max_signals);
for (uint i = 0; i < Yapf().PfGetSettings().rail_look_ahead_max_signals; i++) {
pen[i] = p0 + i * (p1 + i * p2);
for (int i = 0; i < (int) Yapf().PfGetSettings().rail_look_ahead_max_signals; i++) {
pen[i] = max<int>(0, p0 + i * (p1 + i * p2));
}
}