Skip to content

Commit a65784d

Browse files
d-kadtturocy
authored andcommitted
Change GamePlayerRep::m_infosets from Array to std::vector.
Closes #489.
1 parent f038c28 commit a65784d

3 files changed

Lines changed: 15 additions & 15 deletions

File tree

src/games/game.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ void GamePlayerRep::MakeStrategy()
123123
Array<int> c(NumInfosets());
124124

125125
for (int i = 1; i <= NumInfosets(); i++) {
126-
if (m_infosets[i]->flag == 1) {
127-
c[i] = m_infosets[i]->whichbranch;
126+
if (m_infosets[i - 1]->flag == 1) {
127+
c[i] = m_infosets[i - 1]->whichbranch;
128128
}
129129
else {
130130
c[i] = 0;
@@ -219,7 +219,7 @@ void GamePlayerRep::MakeReducedStrats(GameTreeNodeRep *n, GameTreeNodeRep *nn)
219219
}
220220
}
221221

222-
GameInfoset GamePlayerRep::GetInfoset(int p_index) const { return m_infosets[p_index]; }
222+
GameInfoset GamePlayerRep::GetInfoset(int p_index) const { return m_infosets[p_index - 1]; }
223223

224224
Array<GameInfoset> GamePlayerRep::GetInfosets() const
225225
{

src/games/game.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ class GamePlayerRep : public GameObject {
289289
GameRep *m_game;
290290
int m_number;
291291
std::string m_label;
292-
Array<class GameTreeInfosetRep *> m_infosets;
292+
std::vector<class GameTreeInfosetRep *> m_infosets;
293293
Array<GameStrategyRep *> m_strategies;
294294

295295
GamePlayerRep(GameRep *p_game, int p_id) : m_game(p_game), m_number(p_id) {}

src/games/gametree.cc

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -743,9 +743,9 @@ bool GameTreeRep::IsPerfectRecall(GameInfoset &s1, GameInfoset &s2) const
743743
{
744744
for (auto player : m_players) {
745745
for (int i = 1; i <= player->NumInfosets(); i++) {
746-
GameTreeInfosetRep *iset1 = player->m_infosets[i];
746+
GameTreeInfosetRep *iset1 = player->m_infosets[i - 1];
747747
for (int j = 1; j <= player->NumInfosets(); j++) {
748-
GameTreeInfosetRep *iset2 = player->m_infosets[j];
748+
GameTreeInfosetRep *iset2 = player->m_infosets[j - 1];
749749

750750
bool precedes = false;
751751
int action = 0;
@@ -815,7 +815,7 @@ void GameTreeRep::Canonicalize()
815815
// Coded using a bubble sort for simplicity; large games might
816816
// find a quicksort worthwhile.
817817
for (int iset = 1; iset <= player->m_infosets.size(); iset++) {
818-
GameTreeInfosetRep *infoset = player->m_infosets[iset];
818+
GameTreeInfosetRep *infoset = player->m_infosets[iset - 1];
819819
for (int i = 1; i < infoset->m_members.size(); i++) {
820820
for (int j = 1; j < infoset->m_members.size() - i; j++) {
821821
if (infoset->m_members[j + 1]->m_number < infoset->m_members[j]->m_number) {
@@ -832,24 +832,24 @@ void GameTreeRep::Canonicalize()
832832
// find a quicksort worthwhile.
833833
for (int i = 1; i < player->m_infosets.size(); i++) {
834834
for (int j = 1; j < player->m_infosets.size() - i; j++) {
835-
int a = ((player->m_infosets[j + 1]->m_members.size())
836-
? player->m_infosets[j + 1]->m_members[1]->m_number
837-
: 0);
838-
int b = ((player->m_infosets[j]->m_members.size())
835+
int a = ((player->m_infosets[j]->m_members.size())
839836
? player->m_infosets[j]->m_members[1]->m_number
840837
: 0);
838+
int b = ((player->m_infosets[j - 1]->m_members.size())
839+
? player->m_infosets[j - 1]->m_members[1]->m_number
840+
: 0);
841841

842842
if (a < b || b == 0) {
843-
GameTreeInfosetRep *tmp = player->m_infosets[j];
844-
player->m_infosets[j] = player->m_infosets[j + 1];
845-
player->m_infosets[j + 1] = tmp;
843+
GameTreeInfosetRep *tmp = player->m_infosets[j - 1];
844+
player->m_infosets[j - 1] = player->m_infosets[j];
845+
player->m_infosets[j] = tmp;
846846
}
847847
}
848848
}
849849

850850
// Reassign information set IDs
851851
for (int iset = 1; iset <= player->m_infosets.size(); iset++) {
852-
player->m_infosets[iset]->m_number = iset;
852+
player->m_infosets[iset - 1]->m_number = iset;
853853
}
854854
}
855855
}

0 commit comments

Comments
 (0)