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

Function SidesPar

library/src/par.cpp:1280–1368  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1278
1279
1280int STDCALL SidesPar(
1281 DdTableResults const * tablep,
1282 ParResultsDealer sidesRes[2],
1283 int vulnerable)
1284{
1285 ParResultsMaster parm[2];
1286 int res, i, k;
1287 constexpr size_t buf_size = 13;
1288 char buff[buf_size];
1289
1290 res = SidesParBin(tablep, parm, vulnerable);
1291
1292 if (res != RETURN_NO_FAULT)
1293 return res;
1294
1295 /*Convert the bin results to DealerPar format. */
1296 for (i = 0; i <= 1; i++)
1297 {
1298 sidesRes[i].score = parm[i].score;
1299 sidesRes[i].number = parm[i].number;
1300
1301 for (k = 0; k < sidesRes[i].number; k++)
1302 {
1303 snprintf(sidesRes[i].contracts[k], 10, "%d", parm[i].contracts[k].level);
1304 switch (parm[i].contracts[k].denom)
1305 {
1306 case 0:
1307 strcat(sidesRes[i].contracts[k], "N");
1308 break;
1309 case 1:
1310 strcat(sidesRes[i].contracts[k], "S");
1311 break;
1312 case 2:
1313 strcat(sidesRes[i].contracts[k], "H");
1314 break;
1315 case 3:
1316 strcat(sidesRes[i].contracts[k], "D");
1317 break;
1318 case 4:
1319 strcat(sidesRes[i].contracts[k], "C");
1320 break;
1321 default:
1322 // Cannot happen, but keeps gcc happy.
1323 break;
1324 }
1325 if (parm[i].contracts[k].under_tricks > 0)
1326 /* Sacrifice */
1327 strcat(sidesRes[i].contracts[k], "*");
1328 switch (parm[i].contracts[k].seats)
1329 {
1330 case 0:
1331 strcat(sidesRes[i].contracts[k], "-N");
1332 break;
1333 case 1:
1334 strcat(sidesRes[i].contracts[k], "-E");
1335 break;
1336 case 2:
1337 strcat(sidesRes[i].contracts[k], "-S");

Callers

nothing calls this directly

Calls 1

SidesParBinFunction · 0.85

Tested by

no test coverage detected