From 337e750ed1f90a420cd7515ddd71b66dd6c5deae Mon Sep 17 00:00:00 2001 From: docentYT <63965954+docentYT@users.noreply.github.com> Date: Thu, 30 Apr 2026 23:47:32 +0200 Subject: [PATCH] Replace Max0R and Min0R with std::max and std::min --- McZapkie/Mover.cpp | 50 ++++++++--------- McZapkie/friction.cpp | 4 +- McZapkie/hamulce.cpp | 116 ++++++++++++++++++++-------------------- utilities/utilities.cpp | 16 ------ utilities/utilities.h | 3 -- vehicle/DynObj.cpp | 16 +++--- vehicle/Train.cpp | 16 +++--- 7 files changed, 101 insertions(+), 120 deletions(-) diff --git a/McZapkie/Mover.cpp b/McZapkie/Mover.cpp index c7b9699b..ab5cf9a5 100644 --- a/McZapkie/Mover.cpp +++ b/McZapkie/Mover.cpp @@ -356,7 +356,7 @@ double TMoverParameters::Current(double n, double U) if (DynamicBrakeFlag && (!FuseFlag) && (DynamicBrakeType == dbrake_automatic) && Power110vIsAvailable && Mains) // hamowanie EP09 //TUHEX { // TODO: zrobic bardziej uniwersalne nie tylko dla EP09 - MotorCurrent = -Max0R(MotorParam[0].fi * (Vadd / (Vadd + MotorParam[0].Isat) - MotorParam[0].fi0), 0) * n * 2.0 / DynamicBrakeRes; + MotorCurrent = -std::max(MotorParam[0].fi * (Vadd / (Vadd + MotorParam[0].Isat) - MotorParam[0].fi0), 0.) * n * 2.0 / DynamicBrakeRes; } else if ((RList[MainCtrlActualPos].Bn == 0) || (false == StLinFlag)) { @@ -1079,7 +1079,7 @@ double TMoverParameters::LocalBrakeRatio(void) LBR = 0; } // if (TestFlag(BrakeStatus, b_antislip)) - // LBR = Max0R(LBR, PipeRatio) + 0.4; + // LBR = std::max(LBR, PipeRatio) + 0.4; return LBR; } @@ -1137,17 +1137,17 @@ double TMoverParameters::PipeRatio(void) if (false) // SPKS!! no to jak nie wchodzimy to po co branch? { if ((3.0 * PipePress) > (HighPipePress + LowPipePress + LowPipePress)) - pr = (HighPipePress - Min0R(HighPipePress, PipePress)) / (DeltaPipePress * 4.0 / 3.0); + pr = (HighPipePress - std::min(HighPipePress, PipePress)) / (DeltaPipePress * 4.0 / 3.0); else - pr = (HighPipePress - 1.0 / 3.0 * DeltaPipePress - Max0R(LowPipePress, PipePress)) / (DeltaPipePress * 2.0 / 3.0); + pr = (HighPipePress - 1.0 / 3.0 * DeltaPipePress - std::max(LowPipePress, PipePress)) / (DeltaPipePress * 2.0 / 3.0); // if (not TestFlag(BrakeStatus, b_Ractive)) // and(BrakeMethod and 1 = 0) and TestFlag(BrakeDelays, bdelay_R) and (Power < 1) and - // (BrakeCtrlPos < 1) then pr : = Min0R(0.5, pr); + // (BrakeCtrlPos < 1) then pr : = std::min(0.5, pr); // if (Compressor > 0.5) // then pr : = pr * 1.333; // dziwny rapid wywalamy } else - pr = (HighPipePress - Max0R(LowPipePress, Min0R(HighPipePress, PipePress))) / DeltaPipePress; + pr = (HighPipePress - std::max(LowPipePress, std::min(HighPipePress, PipePress))) / DeltaPipePress; else pr = 0; return pr; @@ -2979,7 +2979,7 @@ bool TMoverParameters::AddPulseForce(int Multipler) DirActive = CabActive; DirAbsolute = DirActive * CabActive; if (Vel > 0) - PulseForce = Min0R(1000.0 * Power / (abs(V) + 0.1), Ftmax); + PulseForce = std::min(1000.0 * Power / (abs(V) + 0.1), Ftmax); else PulseForce = Ftmax; if (PulseForceCount > 1000.0) @@ -5199,7 +5199,7 @@ double TMoverParameters::Adhesive(double staticfriction) const if (SlippingWheels == false) { if (SandDose) - adhesion = (Max0R(staticfriction * (100.0 + Vel) / ((50.0 + Vel) * 11.0), 0.048)) * + adhesion = (std::max(staticfriction * (100.0 + Vel) / ((50.0 + Vel) * 11.0), 0.048)) * (11.0 - 2.0 * Random(0.0, 1.0)); else adhesion = (staticfriction * (100.0 + Vel) / ((50.0 + Vel) * 10.0)) * @@ -5748,7 +5748,7 @@ double TMoverParameters::TractionForce(double dt) else if ((DynamicBrakeFlag) && ((Vadd + abs(Im)) < TUHEX_Sum - TUHEX_Diff)) { Vadd += 70.0 * dt; - Vadd = Min0R(Max0R(Vadd, TUHEX_MinIw), TUHEX_MaxIw); + Vadd = std::min(std::max(Vadd, TUHEX_MinIw), TUHEX_MaxIw); } if (Vadd > 0) Mm = MomentumF(Im, Vadd, 0); @@ -6248,7 +6248,7 @@ double TMoverParameters::TractionForce(double dt) // ustalanie współczynnika blendingu do luzowania hamulca PN if (eimv[eimv_Fmax] * Sign(V) * DirAbsolute < -1) { - PosRatio = -Sign(V) * DirAbsolute * eimv[eimv_Fr] / (eimc[eimc_p_Fh] * Max0R(edBCP, Max0R(0.01, Hamulec->GetEDBCP())) / MaxBrakePress[0]); + PosRatio = -Sign(V) * DirAbsolute * eimv[eimv_Fr] / (eimc[eimc_p_Fh] * std::max(edBCP, std::max(0.01, Hamulec->GetEDBCP())) / MaxBrakePress[0]); PosRatio = clamp(PosRatio, 0.0, 1.0); } else @@ -6258,7 +6258,7 @@ double TMoverParameters::TractionForce(double dt) PosRatio = Round(20.0 * PosRatio) / 20.0; // stopniowanie PN/ED if (PosRatio < 19.5 / 20.0) PosRatio *= 0.9; - Hamulec->SetED(Max0R(0.0, std::min(PosRatio, 1.0))); // ustalenie stopnia zmniejszenia ciśnienia + Hamulec->SetED(std::max(0.0, std::min(PosRatio, 1.0))); // ustalenie stopnia zmniejszenia ciśnienia // ustalanie siły hamowania ED if ((Hamulec->GetEDBCP() > 0.25) && (eimc[eimc_p_abed] < 0.001) || (ActiveInverters < InvertersNo)) // jeśli PN wyłącza ED { @@ -6274,16 +6274,16 @@ double TMoverParameters::TractionForce(double dt) } else { - PosRatio = Max0R(eimic_real, 0); + PosRatio = std::max(eimic_real, 0.); eimv[eimv_Fzad] = PosRatio; if ((Flat) && (eimc[eimc_p_F0] * eimv[eimv_Fful] > 0)) - PosRatio = Min0R(PosRatio * eimc[eimc_p_F0] / eimv[eimv_Fful], 1); + PosRatio = std::min(PosRatio * eimc[eimc_p_F0] / eimv[eimv_Fful], 1.); /* if (ScndCtrlActualPos > 0) //speed control if (Vmax < 250) - PosRatio = Min0R(PosRatio, Max0R(-1, 0.5 * (ScndCtrlActualPos - Vel))); + PosRatio = std::min(PosRatio, std::max(-1, 0.5 * (ScndCtrlActualPos - Vel))); else PosRatio = - Min0R(PosRatio, Max0R(-1, 0.5 * (ScndCtrlActualPos * 2 - Vel))); */ + std::min(PosRatio, std::max(-1, 0.5 * (ScndCtrlActualPos * 2 - Vel))); */ // PosRatio = 1.0 * (PosRatio * 0 + 1) * PosRatio; // 1 * 1 * PosRatio = PosRatio Hamulec->SetED(0); // (Hamulec as TLSt).SetLBP(LocBrakePress); @@ -6312,7 +6312,7 @@ double TMoverParameters::TractionForce(double dt) eimv_pr = 0; } - eimv_pr += Max0R(Min0R(PosRatio - eimv_pr, 0.02), -0.02) * 12 * (tmp /*2{+4*byte(PosRatio Min0R(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) || (abs(dizel_n_old - enrot) > 0.1)) // slizga sie z powodu roznic predkosci albo przekroczenia momentu + if (abs(Moment) > std::min(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) || (abs(dizel_n_old - enrot) > 0.1)) // slizga sie z powodu roznic predkosci albo przekroczenia momentu { dizel_engagedeltaomega = enrot - dizel_n_old; @@ -8068,8 +8068,8 @@ double TMoverParameters::dizel_Momentum(double dizel_fill, double n, double dt) dizel_engagedeltaomega = 0; gearMoment = Moment; enMoment = 0; - double enrot_min = enrot - (Min0R(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) - Moment) / dizel_AIM * dt; - double enrot_max = enrot + (Min0R(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) + Moment) / dizel_AIM * dt; + double enrot_min = enrot - (std::min(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) - Moment) / dizel_AIM * dt; + double enrot_max = enrot + (std::min(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) + Moment) / dizel_AIM * dt; enrot = clamp(n, enrot_min, enrot_max); } if ((hydro_R) && (hydro_R_Placement == 1)) diff --git a/McZapkie/friction.cpp b/McZapkie/friction.cpp index 8899a5a5..f3eca234 100644 --- a/McZapkie/friction.cpp +++ b/McZapkie/friction.cpp @@ -29,7 +29,7 @@ double TP10Bg::GetFC(double N, double Vel) // if Vel<20 then Vel:=20; // Vel:= Vel-20; // GetFC:=0.52*((1*Vel+100)/(5.0*Vel+100))*(13.08-0.083*N)/(12.94+0.285*N); - // GetFC:=Min0R(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(13.08-0.083*N)/(12.94+0.285*N),0.4); + // GetFC:=std::min(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(13.08-0.083*N)/(12.94+0.285*N),0.4); return exp(-0.022 * N) * (0.19 - 0.095 * exp(-Vel * 1.0 / 25.7)) + 0.384 * exp(-Vel * 1.0 / 25.7) - 0.028; } @@ -44,7 +44,7 @@ double TP10Bgu::GetFC(double N, double Vel) // Vel:= Vel-20; // GetFC:=0.52*((0.0*Vel+120)/(5*Vel+100))*(11.33-0.013*N)/(11.33+0.280*N); // GetFC:=0.49*100/(3*Vel+100)*(11.33-0.013*N)/(11.33+0.280*N); - // GetFC:=Min0R(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(11.33-0.013*N)/(11.33+0.280*N),0.4); + // GetFC:=std::min(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(11.33-0.013*N)/(11.33+0.280*N),0.4); return exp(-0.017 * N) * (0.18 - 0.09 * exp(-Vel * 1.0 / 25.7)) + 0.381 * exp(-Vel * 1.0 / 25.7) - 0.022; // 0.05*exp(-0.2*N); } diff --git a/McZapkie/hamulce.cpp b/McZapkie/hamulce.cpp index 6eb33eb7..049e9a5b 100644 --- a/McZapkie/hamulce.cpp +++ b/McZapkie/hamulce.cpp @@ -45,7 +45,7 @@ double const TFVE408::pos_table[11] = {0, 10, 0, 0, 10, 7, 8, 9, 0, 1, 5}; /// Dimensionless flow driver (positive when P2 > P1). double PR(double P1, double P2) { - double PH = Max0R(P1, P2) + 0.1; + double PH = std::max(P1, P2) + 0.1; double PL = P1 + P2 - PH + 0.2; return (P2 - P1) / (1.13 * PH - PL); } @@ -59,7 +59,7 @@ double PR(double P1, double P2) /// Volumetric flow rate (signed). double PF_old(double P1, double P2, double S) { - double PH = Max0R(P1, P2) + 1; + double PH = std::max(P1, P2) + 1; double PL = P1 + P2 - PH + 2; if (PH - PL < 0.0001) return 0; @@ -1229,19 +1229,19 @@ double TEStEP2::GetPF(double const PP, double const dt, double const Vel) result = dv - dV1; - temp = Max0R(BCP, LBP); + temp = std::max(BCP, LBP); if ((ImplsRes->P() > LBP + 0.01)) LBP = 0; // luzowanie CH - if ((BrakeCyl->P() > temp + 0.005) || (Max0R(ImplsRes->P(), 8 * LBP) < 0.05)) + if ((BrakeCyl->P() > temp + 0.005) || (std::max(ImplsRes->P(), 8 * LBP) < 0.05)) dv = PF(0, BrakeCyl->P(), 0.25 * SizeBC * (0.01 + (BrakeCyl->P() - temp))) * dt; else dv = 0; BrakeCyl->Flow(-dv); // przeplyw ZP <-> CH - if ((BrakeCyl->P() < temp - 0.005) && (Max0R(ImplsRes->P(), 8 * LBP) > 0.10) && (Max0R(BCP, LBP) < MaxBP * LoadC)) + if ((BrakeCyl->P() < temp - 0.005) && (std::max(ImplsRes->P(), 8 * LBP) > 0.10) && (std::max(BCP, LBP) < MaxBP * LoadC)) dv = PF(BVP, BrakeCyl->P(), 0.35 * SizeBC * (0.01 - (BrakeCyl->P() - temp))) * dt; else dv = 0; @@ -1313,7 +1313,7 @@ void TEStEP2::EPCalc(double dt) void TEStEP1::EPCalc(double dt) { double temp = EPS - std::floor(EPS); // część ułamkowa jest hamulcem EP - double LBPLim = Min0R(MaxBP * LoadC * temp, BrakeRes->P()); // do czego dążymy + double LBPLim = std::min(MaxBP * LoadC * temp, BrakeRes->P()); // do czego dążymy double S = 10 * clamp(LBPLim - LBP, -0.1, 0.1); // przymykanie zaworku double dv = PF((S > 0 ? BrakeRes->P() : 0), LBP, abs(S) * (0.00053 + 0.00060 * int(S < 0))) * dt; // przepływ LBP = LBP - dv; @@ -1782,7 +1782,7 @@ double TLSt::GetPF(double const PP, double const dt, double const Vel) if (((UniversalFlag & TUniversalBrake::ub_AntiSlipBrake) > 0) || ((BrakeStatus & b_asb_unbrake) == b_asb_unbrake)) tempasb = ASBP; // powtarzacz — podwojny zawor zwrotny - temp = Max0R(((CVP - BCP) * BVM + tempasb) / temp, LBP); + temp = std::max(((CVP - BCP) * BVM + tempasb) / temp, LBP); // luzowanie CH if ((BrakeCyl->P() > temp + 0.005) || (temp < 0.28)) // dV:=PF(0,BrakeCyl->P(),0.0015*3*sizeBC)*dt @@ -1881,7 +1881,7 @@ double TLSt::GetHPFlow(double const HP, double const dt) { double dv; - dv = Min0R(PF(HP, BrakeRes->P(), 0.01 * dt), 0); + dv = std::min(PF(HP, BrakeRes->P(), 0.01 * dt), 0.0); BrakeRes->Flow(-dv); return dv; } @@ -1994,12 +1994,12 @@ double TEStED::GetPF(double const PP, double const dt, double const Vel) Miedzypoj->Flow(dv * dt * 0.15); RapidTemp = RapidTemp + (RM * int((Vel > RV) && (BrakeDelayFlag == bdelay_R)) - RapidTemp) * dt / 2; - temp = Max0R(1 - RapidTemp, 0.001); + temp = std::max(1 - RapidTemp, 0.001); // if EDFlag then temp:=1000; // temp:=temp/(1-); // powtarzacz — podwojny zawor zwrotny - temp = Max0R(LoadC * BCP / temp * Min0R(Max0R(1 - EDFlag, 0), 1), LBP); + temp = std::max(LoadC * BCP / temp * std::min(std::max(1 - EDFlag, 0.), 1.), LBP); if ((UniversalFlag & TUniversalBrake::ub_AntiSlipBrake) > 0) temp = std::max(temp, ASBP); @@ -2156,7 +2156,7 @@ void TCV1::CheckState(double const BCP, double &dV1) double CVP; BVP = BrakeRes->P(); - VVP = Min0R(ValveRes->P(), BVP + 0.05); + VVP = std::min(ValveRes->P(), BVP + 0.05); CVP = CntrlRes->P(); // odluzniacz @@ -2243,7 +2243,7 @@ double TCV1::GetPF(double const PP, double const dt, double const Vel) double CVP; BVP = BrakeRes->P(); - VVP = Min0R(ValveRes->P(), BVP + 0.05); + VVP = std::min(ValveRes->P(), BVP + 0.05); BCP = BrakeCyl->P(); CVP = CntrlRes->P(); @@ -2360,7 +2360,7 @@ double TCV1L_TR::GetHPFlow(double const HP, double const dt) double dv; dv = PF(HP, BrakeRes->P(), 0.01) * dt; - dv = Min0R(0, dv); + dv = std::min(0., dv); BrakeRes->Flow(-dv); return dv; } @@ -2402,7 +2402,7 @@ double TCV1L_TR::GetPF(double const PP, double const dt, double const Vel) double CVP; BVP = BrakeRes->P(); - VVP = Min0R(ValveRes->P(), BVP + 0.05); + VVP = std::min(ValveRes->P(), BVP + 0.05); BCP = ImplsRes->P(); CVP = CntrlRes->P(); @@ -2447,17 +2447,17 @@ double TCV1L_TR::GetPF(double const PP, double const dt, double const Vel) dv = PF(PP, VVP, 0.01) * dt; result = dv - dV1; - temp = Max0R(BCP, LBP); + temp = std::max(BCP, LBP); // luzowanie CH - if ((BrakeCyl->P() > temp + 0.005) || (Max0R(ImplsRes->P(), 8 * LBP) < 0.25)) + if ((BrakeCyl->P() > temp + 0.005) || (std::max(ImplsRes->P(), 8 * LBP) < 0.25)) dv = PF(0, BrakeCyl->P(), 0.015 * SizeBC) * dt; else dv = 0; BrakeCyl->Flow(-dv); // przeplyw ZP <-> CH - if ((BrakeCyl->P() < temp - 0.005) && (Max0R(ImplsRes->P(), 8 * LBP) > 0.3) && (Max0R(BCP, LBP) < MaxBP)) + if ((BrakeCyl->P() < temp - 0.005) && (std::max(ImplsRes->P(), 8 * LBP) > 0.3) && (std::max(BCP, LBP) < MaxBP)) dv = PF(BVP, BrakeCyl->P(), 0.020 * SizeBC) * dt; else dv = 0; @@ -2710,17 +2710,17 @@ double TKE::GetPF(double const PP, double const dt, double const Vel) temp = 1; temp = temp / LoadC; // luzowanie CH - // temp:=Max0R(BCP,LBP); - IMP = Max0R(IMP / temp, Max0R(LBP, ASBP * int((BrakeStatus & b_asb) == b_asb))); + // temp:=std::max(BCP,LBP); + IMP = std::max(IMP / temp, std::max(LBP, ASBP * int((BrakeStatus & b_asb) == b_asb))); if ((ASBP < 0.1) && ((BrakeStatus & b_asb) == b_asb)) IMP = 0; // luzowanie CH - if ((BCP > IMP + 0.005) || (Max0R(ImplsRes->P(), 8 * LBP) < 0.25)) + if ((BCP > IMP + 0.005) || (std::max(ImplsRes->P(), 8 * LBP) < 0.25)) dv = PFVd(BCP, 0, 0.05, IMP) * dt; else dv = 0; BrakeCyl->Flow(-dv); - if ((BCP < IMP - 0.005) && (Max0R(ImplsRes->P(), 8 * LBP) > 0.3)) + if ((BCP < IMP - 0.005) && (std::max(ImplsRes->P(), 8 * LBP) > 0.3)) dv = PFVa(BVP, BCP, 0.05, IMP) * dt; else dv = 0; @@ -2797,7 +2797,7 @@ double TKE::GetHPFlow(double const HP, double const dt) double dv; dv = PF(HP, BrakeRes->P(), 0.01) * dt; - dv = Min0R(0, dv); + dv = std::min(0., dv); BrakeRes->Flow(-dv); return dv; } @@ -2975,7 +2975,7 @@ double TFV4a::GetPF(double i_bcp, double PP, double HP, double dt, double ep) // if(cp+0.03<5.4)then if ((RP + 0.03 < 5.4) || (CP + 0.03 < 5.4)) // fala dpMainValve = PF(std::min(HP, 17.1), PP, ActFlowSpeed / LBDelay) * dt; - // dpMainValve:=20*Min0R(abs(ep-7.1),0.05)*PF(HP,pp,ActFlowSpeed/LBDelay)*dt; + // dpMainValve:=20*std::min(abs(ep-7.1),0.05)*PF(HP,pp,ActFlowSpeed/LBDelay)*dt; else { RP = 5.45; @@ -3286,7 +3286,7 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep DP = 0; - i_bcp = Max0R(Min0R(i_bcp, 9.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres + i_bcp = std::max(std::min(i_bcp, 9.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres if ((TP > 0) && (CP > 4.9)) { @@ -3300,7 +3300,7 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep TP = 0; } - LimPP = Min0R(LPP_RP(i_bcp) + TP * 0.08 + RedAdj, HP); // pozycja + czasowy lub zasilanie + LimPP = std::min(LPP_RP(i_bcp) + TP * 0.08 + RedAdj, HP); // pozycja + czasowy lub zasilanie ActFlowSpeed = 4; double uop = UnbrakeOverPressure; // unbrake over pressure in actual state @@ -3309,20 +3309,20 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep uop = 0; if ((EQ(i_bcp, -1)) && (uop > 0)) - pom = Min0R(HP, 5.4 + RedAdj + uop); + pom = std::min(HP, 5.4 + RedAdj + uop); else - pom = Min0R(CP, HP); + pom = std::min(CP, HP); if ((LimPP > CP)) // podwyzszanie szybkie - CP = CP + 60 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy; + CP = CP + 60 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy; else - CP = CP + 13 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy + CP = CP + 13 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy LimPP = pom; // cp // if (EQ(i_bcp, -1)) // dpPipe = HP; // else - dpPipe = Min0R(HP, LimPP); + dpPipe = std::min(HP, LimPP); if (dpPipe > PP) dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, dpPipe, 0.4); @@ -3355,9 +3355,9 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep } if ((i_bcp < 1.5)) - RP = Max0R(0, 0.125 * i_bcp); + RP = std::max(0., 0.125 * i_bcp); else - RP = Min0R(1, 0.125 * i_bcp - 0.125); + RP = std::min(1., 0.125 * i_bcp - 0.125); return dpMainValve * dt; } @@ -3413,7 +3413,7 @@ double TMHZ_EN57::GetRP() double TMHZ_EN57::GetEP(double pos) { if (pos < 9.5) - return Min0R(Max0R(0, 0.125 * pos), 1); + return std::max(std::max(0., 0.125 * pos), 1.); else return 0; } @@ -3493,7 +3493,7 @@ double TMHZ_K5P::GetPF(double i_bcp, double PP, double HP, double dt, double ep) DP = 0; - i_bcp = Max0R(Min0R(i_bcp, 2.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres + i_bcp = std::max(std::min(i_bcp, 2.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres if ((TP > 0) && (CP > 4.9)) { @@ -3513,20 +3513,20 @@ double TMHZ_K5P::GetPF(double i_bcp, double PP, double HP, double dt, double ep) else // luzowanie LimCP = 5.0; pom = CP; - LimCP = Min0R(LimCP, HP); // pozycja + czasowy lub zasilanie + LimCP = std::min(LimCP, HP); // pozycja + czasowy lub zasilanie ActFlowSpeed = 4; if ((LimCP > CP)) // podwyzszanie szybkie - CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy; + CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy; else - CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy + CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy double uop = UnbrakeOverPressure; // unbrake over pressure in actual state ManualOvrldActive = (UniversalFlag & TUniversalBrake::ub_HighPressure); // button is pressed if (ManualOvrld && !ManualOvrldActive) // no overpressure for not pressed button if it does not exists uop = 0; - dpPipe = Min0R(HP, CP + TP + RedAdj); + dpPipe = std::min(HP, CP + TP + RedAdj); if (EQ(i_bcp, -1)) { @@ -3676,7 +3676,7 @@ double TMHZ_6P::GetPF(double i_bcp, double PP, double HP, double dt, double ep) DP = 0; - i_bcp = Max0R(Min0R(i_bcp, 3.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres + i_bcp = std::max(std::min(i_bcp, 3.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres if ((TP > 0) && (CP > 4.9)) { @@ -3696,15 +3696,15 @@ double TMHZ_6P::GetPF(double i_bcp, double PP, double HP, double dt, double ep) else // luzowanie LimCP = 5.0; pom = CP; - LimCP = Min0R(LimCP, HP); // pozycja + czasowy lub zasilanie + LimCP = std::min(LimCP, HP); // pozycja + czasowy lub zasilanie ActFlowSpeed = 4; if ((LimCP > CP)) // podwyzszanie szybkie - CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy; + CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy; else - CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy + CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy - dpPipe = Min0R(HP, CP + TP + RedAdj); + dpPipe = std::min(HP, CP + TP + RedAdj); double uop = UnbrakeOverPressure; // unbrake over pressure in actual state ManualOvrldActive = (UniversalFlag & TUniversalBrake::ub_HighPressure); // button is pressed @@ -3856,7 +3856,7 @@ double TM394::GetPF(double i_bcp, double PP, double HP, double dt, double ep) if (BCP < -1) BCP = 1; - LimPP = Min0R(BPT_394[BCP + 1][1], HP); + LimPP = std::min(BPT_394[BCP + 1][1], HP); ActFlowSpeed = BPT_394[BCP + 1][0]; if ((BCP == 1) || (BCP == i_bcpno)) LimPP = PP; @@ -3864,16 +3864,16 @@ double TM394::GetPF(double i_bcp, double PP, double HP, double dt, double ep) LimPP = LimPP + RedAdj; if ((BCP != 2)) if (CP < LimPP) - CP = CP + 4 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy - // cp:=cp+6*(2+int(bcp<0))*Min0R(abs(Limpp-cp),0.05)*PR(cp,Limpp)*dt //zbiornik + CP = CP + 4 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy + // cp:=cp+6*(2+int(bcp<0))*std::min(abs(Limpp-cp),0.05)*PR(cp,Limpp)*dt //zbiornik // sterujacy; else if (BCP == 0) CP = CP - 0.2 * dt / 100; else - CP = CP + 4 * (1 + int(BCP != 3) + int(BCP > 4)) * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy + CP = CP + 4 * (1 + int(BCP != 3) + int(BCP > 4)) * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy LimPP = CP; - dpPipe = Min0R(HP, LimPP); + dpPipe = std::min(HP, LimPP); // if(dpPipe>pp)then //napelnianie // dpMainValve:=PF(dpPipe,pp,ActFlowSpeed/LBDelay)*dt @@ -4060,7 +4060,7 @@ double TSt113::GetPF(double i_bcp, double PP, double HP, double dt, double ep) LimPP = CP; ActFlowSpeed = BPT_K[BCP + 1][0]; - CP = CP + 6 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy + CP = CP + 6 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy dpMainValve = 0; @@ -4140,10 +4140,10 @@ double Ttest::GetPF(double i_bcp, double PP, double HP, double dt, double ep) if ((i_bcp == -1)) LimPP = 7; - CP = CP + 20 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt / 1; + CP = CP + 20 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt / 1; LimPP = CP; - dpPipe = Min0R(HP, LimPP); + dpPipe = std::min(HP, LimPP); dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt; @@ -4181,7 +4181,7 @@ double TFD1::GetPF(double i_bcp, double PP, double HP, double dt, double ep) double temp; // MaxBP:=4; - // temp:=Min0R(i_bcp*MaxBP,Min0R(5.0,HP)); + // temp:=std::min(i_bcp*MaxBP,std::min(5.0,HP)); temp = std::min(i_bcp * MaxBP, HP); // 0011 DP = 10.0 * std::min(std::abs(temp - BP), 0.1) * PF(temp, BP, 0.0006 * (temp > BP ? 3.0 : 2.0)) * dt * Speed; BP = BP - DP; @@ -4229,18 +4229,18 @@ double TH1405::GetPF(double i_bcp, double PP, double HP, double dt, double ep) double temp; double A; - PP = Min0R(PP, MaxBP); + PP = std::min(PP, MaxBP); if (i_bcp > 0.5) { - temp = Min0R(MaxBP, HP); + temp = std::min(MaxBP, HP); A = 2 * (i_bcp - 0.5) * 0.0011; - BP = Max0R(BP, PP); + BP = std::max(BP, PP); } else { temp = 0; A = 0.2 * (0.5 - i_bcp) * 0.0033; - BP = Min0R(BP, PP); + BP = std::min(BP, PP); } DP = PF(temp, BP, A) * dt; BP = BP - DP; @@ -4285,7 +4285,7 @@ double TFVel6::GetPF(double i_bcp, double PP, double HP, double dt, double ep) CP = PP; - LimPP = Min0R(5 * int(i_bcp < 3.5), HP); + LimPP = std::min(5. * int(i_bcp < 3.5), HP); if ((i_bcp >= 3.5) && ((i_bcp < 4.3) || (i_bcp > 5.5))) ActFlowSpeed = 0; else if ((i_bcp > 4.3) && (i_bcp < 4.8)) @@ -4382,7 +4382,7 @@ double TFVE408::GetPF(double i_bcp, double PP, double HP, double dt, double ep) CP = PP; - LimPP = Min0R(5 * int(i_bcp < 6.5), HP); + LimPP = std::min(5. * int(i_bcp < 6.5), HP); if ((i_bcp >= 6.5) && ((i_bcp < 7.5) || (i_bcp > 9.5))) ActFlowSpeed = 0; else if ((i_bcp > 7.5) && (i_bcp < 8.5)) diff --git a/utilities/utilities.cpp b/utilities/utilities.cpp index 7d4cfd6d..2b4c872a 100644 --- a/utilities/utilities.cpp +++ b/utilities/utilities.cpp @@ -35,22 +35,6 @@ bool EditorModeFlag = false; bool DebugCameraFlag = false; bool DebugTractionFlag = false; -double Max0R(double x1, double x2) -{ - if (x1 > x2) - return x1; - else - return x2; -} - -double Min0R(double x1, double x2) -{ - if (x1 < x2) - return x1; - else - return x2; -} - // shitty replacement for Borland timestamp function // TODO: replace with something sensible std::string Now() diff --git a/utilities/utilities.h b/utilities/utilities.h index 4738b62f..589e0c53 100644 --- a/utilities/utilities.h +++ b/utilities/utilities.h @@ -53,9 +53,6 @@ extern bool DebugCameraFlag; extern bool DebugTractionFlag; /*funkcje matematyczne*/ -double Max0R(double x1, double x2); -double Min0R(double x1, double x2); - inline double Sign(double x) { return x >= 0 ? 1.0 : -1.0; diff --git a/vehicle/DynObj.cpp b/vehicle/DynObj.cpp index 7952712c..707acf6b 100644 --- a/vehicle/DynObj.cpp +++ b/vehicle/DynObj.cpp @@ -3165,7 +3165,7 @@ bool TDynamicObject::Update(double dt, double dt1) // ts.R=ComputeRadius(Axle1.pPosition,Axle2.pPosition,Axle3.pPosition,Axle0.pPosition); // Ra: składową pochylenia wzdłużnego mamy policzoną w jednostkowym wektorze // vFront - ts.Len = 1.0; // Max0R(MoverParameters->BDist,MoverParameters->ADist); + ts.Len = 1.0; // std::max(MoverParameters->BDist,MoverParameters->ADist); ts.dHtrack = -vFront.y; // Axle1.pPosition.y-Axle0.pPosition.y; //wektor // między skrajnymi osiami // (!!!odwrotny) @@ -3278,12 +3278,12 @@ bool TDynamicObject::Update(double dt, double dt1) MoverParameters->CheckEIMIC(dt1); MoverParameters->CheckSpeedCtrl(dt1); - auto eimic = Min0R(MoverParameters->eimic, MoverParameters->eimicSpeedCtrl); + auto eimic = std::min(MoverParameters->eimic, MoverParameters->eimicSpeedCtrl); MoverParameters->eimic_real = eimic; if (MoverParameters->EIMCtrlType == 2 && MoverParameters->MainCtrlPos == 0) eimic = -1.0; - MoverParameters->SendCtrlToNext("EIMIC", Max0R(0, eimic), MoverParameters->CabActive); - auto LBR = Max0R(-eimic, 0); + MoverParameters->SendCtrlToNext("EIMIC", std::max(0., eimic), MoverParameters->CabActive); + auto LBR = std::max(-eimic, 0.); auto eim_lb = (Mechanik->AIControllFlag || !MoverParameters->LocHandleTimeTraxx ? 0 : MoverParameters->eim_localbrake); // 1. ustal wymagana sile hamowania calego pociagu @@ -3484,17 +3484,17 @@ bool TDynamicObject::Update(double dt, double dt1) if ((FzEP[i] > 0.01) && (FzEP[i] > p->MoverParameters->TotalMass * p->MoverParameters->eimc[eimc_p_eped] + - Min0R(p->MoverParameters->eimv[eimv_Fmax], 0) * 1000) && + std::min(p->MoverParameters->eimv[eimv_Fmax], 0.) * 1000) && (!PrzekrF[i])) { - float przek1 = -Min0R(p->MoverParameters->eimv[eimv_Fmax], 0) * 1000 + + float przek1 = -std::min(p->MoverParameters->eimv[eimv_Fmax], 0.) * 1000 + FzEP[i] - p->MoverParameters->TotalMass * p->MoverParameters->eimc[eimc_p_eped] * 0.999; PrzekrF[i] = true; test = true; nPrzekrF++; - przek1 = Min0R(przek1, FzEP[i]); + przek1 = std::min(przek1, FzEP[i]); FzEP[i] -= przek1; if (FzEP[i] < 0) FzEP[i] = 0; @@ -4354,7 +4354,7 @@ bool TDynamicObject::FastUpdate(double dt) modelRot.z }; // McZapkie: parametry powinny byc pobierane z toru // ts.R=MyTrack->fRadius; - // ts.Len= Max0R(MoverParameters->BDist,MoverParameters->ADist); + // ts.Len= std::max(MoverParameters->BDist,MoverParameters->ADist); // ts.dHtrack=Axle1.pPosition.y-Axle0.pPosition.y; // ts.dHrail=((Axle1.GetRoll())+(Axle0.GetRoll()))*0.5f; // tp.Width=MyTrack->fTrackWidth; diff --git a/vehicle/Train.cpp b/vehicle/Train.cpp index 7846f52c..c97bff53 100644 --- a/vehicle/Train.cpp +++ b/vehicle/Train.cpp @@ -7408,11 +7408,11 @@ bool TTrain::Update( double const Deltatime ) if ((in < 8) && (p->MoverParameters->eimc[eimc_p_Pmax] > 1)) { fEIMParams[1 + in][0] = p->MoverParameters->eimv[eimv_Fmax]; - fEIMParams[1 + in][1] = Max0R(fEIMParams[1 + in][0], 0); - fEIMParams[1 + in][2] = -Min0R(fEIMParams[1 + in][0], 0); - fEIMParams[1 + in][3] = p->MoverParameters->eimv[eimv_Fmax] / Max0R(p->MoverParameters->eimv[eimv_Fful], 1); - fEIMParams[1 + in][4] = Max0R(fEIMParams[1 + in][3], 0); - fEIMParams[1 + in][5] = -Min0R(fEIMParams[1 + in][3], 0); + fEIMParams[1 + in][1] = std::max(fEIMParams[1 + in][0], 0.f); + fEIMParams[1 + in][2] = -std::min(fEIMParams[1 + in][0], 0.f); + fEIMParams[1 + in][3] = p->MoverParameters->eimv[eimv_Fmax] / std::max(p->MoverParameters->eimv[eimv_Fful], 1.); + fEIMParams[1 + in][4] = std::max(fEIMParams[1 + in][3], 0.f); + fEIMParams[1 + in][5] = -std::min(fEIMParams[1 + in][3], 0.f); fEIMParams[1 + in][6] = p->MoverParameters->eimv[eimv_If]; fEIMParams[1 + in][7] = p->MoverParameters->eimv[eimv_U]; fEIMParams[1 + in][8] = p->MoverParameters->Itot;//p->MoverParameters->eimv[eimv_Ipoj]; @@ -7488,8 +7488,8 @@ bool TTrain::Update( double const Deltatime ) // fEIMParams[0][3] = // mvControlled->eimv[eimv_Fzad] - mvOccupied->LocalBrakeRatio(); // procent zadany fEIMParams[0][3] = mvOccupied->eimic_real; - fEIMParams[0][4] = Max0R(fEIMParams[0][3], 0); - fEIMParams[0][5] = -Min0R(fEIMParams[0][3], 0); + fEIMParams[0][4] = std::max(fEIMParams[0][3], 0.f); + fEIMParams[0][5] = -std::min(fEIMParams[0][3], 0.f); fEIMParams[0][1] = fEIMParams[0][4] * mvControlled->eimv[eimv_Fful]; fEIMParams[0][2] = fEIMParams[0][5] * mvControlled->eimv[eimv_Fful]; fEIMParams[0][0] = fEIMParams[0][1] - fEIMParams[0][2]; @@ -8674,7 +8674,7 @@ TTrain::update_sounds( double const Deltatime ) { } // napelnianie PG if( rsHissU ) { - fNPress = ( 4.0f * fNPress + Min0R( 0.0, mvOccupied->dpMainValve ) ) / ( 4.0f + 1.0f ); + fNPress = ( 4.0f * fNPress + std::min( 0.0, mvOccupied->dpMainValve ) ) / ( 4.0f + 1.0f ); volume = ( fNPress < 0.0f ? -1.0 * rsHissU->m_amplitudefactor * fNPress + rsHissU->m_amplitudeoffset :