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

Method Fanout

library/src/system/scheduler.cpp:734–760  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

732
733
734int Scheduler::Fanout(const Deal& dl) const
735{
736 // The fanout for a given suit and a given player is the number
737 // of bit groups, so KT982 has 3 groups. In a given suit the
738 // maximum number over all four players is 13.
739 // A void counts as the sum of the other players' groups.
740
741 int fanout = 0;
742 int fanoutSuit, numVoids, c;
743
744 for (int h = 0; h < DDS_HANDS; h++)
745 {
746 fanoutSuit = 0;
747 numVoids = 0;
748 for (int s = 0; s < DDS_SUITS; s++)
749 {
750 c = static_cast<int>(dl.remainCards[h][s] >> 2);
751 fanoutSuit += group_data[c].last_group_ + 1;
752 if (c == 0)
753 numVoids++;
754 }
755 fanoutSuit += numVoids * fanoutSuit;
756 fanout += fanoutSuit;
757 }
758
759 return fanout;
760}
761
762
763schedType Scheduler::GetNumber(const int thrId)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected