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

Method init

library/src/trans_table/trans_table_s.cpp:91–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89
90
91auto TransTableS::init(const int hand_lookup[][15]) -> void
92{
93 unsigned int top_bit_rank = 1;
94 unsigned int top_bit_no = 2;
95
96 for (int s = 0; s < DDS_SUITS; s++)
97 {
98 aggp_[0].aggr_ranks_[s] = 0;
99 aggp_[0].win_mask_[s] = 0;
100 }
101
102 for (unsigned int ind = 1; ind < 8192; ind++)
103 {
104 if (ind >= (top_bit_rank + top_bit_rank))
105 {
106 /* Next top bit */
107 top_bit_rank <<= 1;
108 top_bit_no++;
109 }
110 aggp_[ind] = aggp_[ind ^ top_bit_rank];
111
112 for (int s = 0; s < 4; s++)
113 {
114 aggp_[ind].aggr_ranks_[s] =
115 (aggp_[ind].aggr_ranks_[s] >> 2) |
116 (hand_lookup[s][top_bit_no] << 24);
117
118 aggp_[ind].win_mask_[s] =
119 (aggp_[ind].win_mask_[s] >> 2) | (3 << 24);
120 }
121 }
122
123 reset_text_.resize(ResetReasonCount);
124 reset_text_[static_cast<int>(ResetReason::Unknown)] = "Unknown reason";
125 reset_text_[static_cast<int>(ResetReason::TooManyNodes)] = "Too many nodes";
126 reset_text_[static_cast<int>(ResetReason::NewDeal)] = "New Deal";
127 reset_text_[static_cast<int>(ResetReason::NewTrump)] = "New trump";
128 reset_text_[static_cast<int>(ResetReason::MemoryExhausted)] = "Memory exhausted";
129 reset_text_[static_cast<int>(ResetReason::FreeMemory)] = "Free thread memory";
130
131}
132
133
134auto TransTableS::set_memory_default(

Callers 2

solve_board_internalFunction · 0.45
SetDealTablesFunction · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected