@@ -113,9 +113,10 @@ uint32* cuMM::resizeLits(const size_t& min_lits)
113113bool cuMM::allocHist (cuHist& cuhist, const bool & proofEnabled)
114114{
115115 assert (inf.maxDualVars == V2L (inf.maxVar + 1ULL ));
116+ const size_t varsize = inf.maxVar + 1 ;
116117 const size_t segBytes = inf.maxDualVars * HC_SREFSIZE ;
117118 const size_t histBytes = inf.maxDualVars * HC_VARSIZE ;
118- const size_t varsBytes = (inf. maxVar + 1 ) * HC_VARSIZE ;
119+ const size_t varsBytes = varsize * HC_VARSIZE ;
119120 size_t min_cap = segBytes + histBytes + varsBytes;
120121 if (proofEnabled)
121122 min_cap += inf.maxDualVars ;
@@ -148,8 +149,8 @@ bool cuMM::allocVars(VARS*& vars, const size_t& resolvedCap)
148149 assert (vars == NULL );
149150 assert (resolvedCap && resolvedCap < UINT32_MAX );
150151 vars = new VARS ();
151- const size_t uintVec_sz = inf.maxVar * HC_VARSIZE ;
152152 const size_t varsize = inf.maxVar + 1 ;
153+ const size_t uintVec_sz = varsize * HC_VARSIZE ;
153154 const size_t scores_sz = varsize * HC_VARSIZE ;
154155 const size_t resolved_sz = resolvedCap * HC_VARSIZE ;
155156 size_t min_cap = HC_VECSIZE * 3 ; // headers: (elected + units + resolved)
@@ -165,11 +166,11 @@ bool cuMM::allocVars(VARS*& vars, const size_t& resolvedCap)
165166 uint32* uintPtr = (uint32*)ea;
166167 vars->electedData = uintPtr;
167168 vars->electedSize = (uint32*)((addr_t )vars->elected + sizeof (uint32*));
168- vars->elected ->alloc (uintPtr, inf. maxVar ), uintPtr += inf. maxVar ;
169+ vars->elected ->alloc (uintPtr, varsize ), uintPtr += varsize ;
169170 vars->unitsData = uintPtr;
170171 vars->unitsSize = (uint32*)((addr_t )vars->units + sizeof (uint32*));
171- vars->units ->alloc (uintPtr, inf. maxVar ), uintPtr += inf. maxVar ;
172- vars->eligible = uintPtr, uintPtr += inf. maxVar ;
172+ vars->units ->alloc (uintPtr, varsize ), uintPtr += varsize ;
173+ vars->eligible = uintPtr, uintPtr += varsize ;
173174 vars->scores = uintPtr, uintPtr += varsize;
174175 vars->resolved ->alloc (uintPtr, uint32 (resolvedCap)), uintPtr += resolvedCap;
175176 Byte* bytePtr = (Byte*)uintPtr;
@@ -190,8 +191,9 @@ bool cuMM::allocPinned(VARS* vars, cuHist& cuhist)
190191{
191192 assert (vars);
192193 assert (inf.maxDualVars == V2L (inf.maxVar + 1ULL ));
193- const size_t elimBytes = inf.maxVar + 1 ;
194- const size_t unitBytes = inf.maxVar * HC_VARSIZE ;
194+ const size_t varsize = inf.maxVar + 1 ;
195+ const size_t elimBytes = varsize * sizeof (Byte);
196+ const size_t unitBytes = varsize * HC_VARSIZE ;
195197 const size_t histBytes = inf.maxDualVars * HC_VARSIZE ;
196198 size_t min_cap = HC_CNFSIZE + elimBytes + unitBytes + histBytes;
197199 assert (min_cap);
0 commit comments