MCPcopy Create free account
hub / github.com/dds-bridge/dds / PredictedTime

Method PredictedTime

library/src/system/scheduler.cpp:1010–1047  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1008
1009
1010int Scheduler::PredictedTime(
1011 Deal& dl,
1012 int number) const
1013{
1014 int trump = dl.trump;
1015 int NT = (trump == 4 ? 100 : 0);
1016
1017 int dev1 = Scheduler::Strength(dl);
1018
1019 int pred;
1020 if (NT)
1021 {
1022 if (dev1 >= 25)
1023 pred = 125000 - 2500 * dev1;
1024 else
1025 // This branch is not very accurate.
1026 pred = 200000 - 5500 * dev1;
1027
1028 if (number >= 1)
1029 pred = static_cast<int>(1.25 * pred);
1030
1031 if (number >= 2)
1032 pred = static_cast<int> (pred *
1033 (1.185 - 0.185 * exp( -(number - 1) / 6.0)));
1034 }
1035 else
1036 {
1037 pred = 125000 - 2500 * dev1;
1038 if (number >= 1)
1039 pred = static_cast<int>(1.2 * pred);
1040
1041 if (number >= 2)
1042 pred = static_cast<int>(pred *
1043 (1.185 - 0.185 * exp( -(number - 1) / 5.5)));
1044 }
1045
1046 return pred;
1047}
1048

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected