@@ -106,7 +106,7 @@ void CheckCondition::assignIf()
106106
107107 if (Token::Match (tok->next (), " %num% [&|]" )) {
108108 bitop = tok->strAt (2 ).at (0 );
109- num = MathLib::toLongNumber (tok->next ()->str ());
109+ num = MathLib::toBigNumber (tok->next ()->str ());
110110 } else {
111111 const Token *endToken = Token::findsimplematch (tok, " ;" );
112112
@@ -116,7 +116,7 @@ void CheckCondition::assignIf()
116116
117117 if (endToken && Token::Match (endToken->tokAt (-2 ), " [&|] %num% ;" )) {
118118 bitop = endToken->strAt (-2 ).at (0 );
119- num = MathLib::toLongNumber (endToken->previous ()->str ());
119+ num = MathLib::toBigNumber (endToken->previous ()->str ());
120120 }
121121 }
122122
@@ -169,15 +169,15 @@ bool CheckCondition::assignIfParseScope(const Token * const assignTok,
169169
170170 for (const Token *tok2 = startTok; tok2; tok2 = tok2->next ()) {
171171 if ((bitop == ' &' ) && Token::Match (tok2->tokAt (2 ), " %varid% %cop% %num% ;" , varid) && tok2->strAt (3 ) == std::string (1U , bitop)) {
172- const MathLib::bigint num2 = MathLib::toLongNumber (tok2->strAt (4 ));
172+ const MathLib::bigint num2 = MathLib::toBigNumber (tok2->strAt (4 ));
173173 if (0 == (num & num2))
174174 mismatchingBitAndError (assignTok, num, tok2, num2);
175175 }
176176 if (Token::Match (tok2, " %varid% =" , varid)) {
177177 return true ;
178178 }
179179 if (bitop == ' &' && Token::Match (tok2, " %varid% &= %num% ;" , varid)) {
180- const MathLib::bigint num2 = MathLib::toLongNumber (tok2->strAt (2 ));
180+ const MathLib::bigint num2 = MathLib::toBigNumber (tok2->strAt (2 ));
181181 if (0 == (num & num2))
182182 mismatchingBitAndError (assignTok, num, tok2, num2);
183183 }
@@ -212,7 +212,7 @@ bool CheckCondition::assignIfParseScope(const Token * const assignTok,
212212 }
213213 if (Token::Match (tok2," &&|%oror%|( %varid% ==|!= %num% &&|%oror%|)" , varid)) {
214214 const Token *vartok = tok2->next ();
215- const MathLib::bigint num2 = MathLib::toLongNumber (vartok->strAt (2 ));
215+ const MathLib::bigint num2 = MathLib::toBigNumber (vartok->strAt (2 ));
216216 if ((num & num2) != ((bitop==' &' ) ? num2 : num)) {
217217 const std::string& op (vartok->strAt (1 ));
218218 const bool alwaysTrue = op == " !=" ;
@@ -266,11 +266,11 @@ void CheckCondition::mismatchingBitAndError(const Token *tok1, const MathLib::bi
266266static void getnumchildren (const Token *tok, std::list<MathLib::bigint> &numchildren)
267267{
268268 if (tok->astOperand1 () && tok->astOperand1 ()->isNumber ())
269- numchildren.push_back (MathLib::toLongNumber (tok->astOperand1 ()->str ()));
269+ numchildren.push_back (MathLib::toBigNumber (tok->astOperand1 ()->str ()));
270270 else if (tok->astOperand1 () && tok->str () == tok->astOperand1 ()->str ())
271271 getnumchildren (tok->astOperand1 (), numchildren);
272272 if (tok->astOperand2 () && tok->astOperand2 ()->isNumber ())
273- numchildren.push_back (MathLib::toLongNumber (tok->astOperand2 ()->str ()));
273+ numchildren.push_back (MathLib::toBigNumber (tok->astOperand2 ()->str ()));
274274 else if (tok->astOperand2 () && tok->str () == tok->astOperand2 ()->str ())
275275 getnumchildren (tok->astOperand2 (), numchildren);
276276}
@@ -371,7 +371,7 @@ void CheckCondition::comparison()
371371 std::swap (expr1,expr2);
372372 if (!expr2->isNumber ())
373373 continue ;
374- const MathLib::bigint num2 = MathLib::toLongNumber (expr2->str ());
374+ const MathLib::bigint num2 = MathLib::toBigNumber (expr2->str ());
375375 if (num2 < 0 )
376376 continue ;
377377 if (!Token::Match (expr1," [&|]" ))
@@ -463,8 +463,8 @@ bool CheckCondition::isOverlappingCond(const Token * const cond1, const Token *
463463 if (!isSameExpression (mTokenizer ->isCPP (), true , expr1, expr2, mSettings ->library , pure, false ))
464464 return false ;
465465
466- const MathLib::bigint value1 = MathLib::toLongNumber (num1->str ());
467- const MathLib::bigint value2 = MathLib::toLongNumber (num2->str ());
466+ const MathLib::bigint value1 = MathLib::toBigNumber (num1->str ());
467+ const MathLib::bigint value2 = MathLib::toBigNumber (num2->str ());
468468 if (cond2->str () == " &" )
469469 return ((value1 & value2) == value2);
470470 return ((value1 & value2) > 0 );
@@ -1267,11 +1267,11 @@ void CheckCondition::checkIncorrectLogicOperator()
12671267
12681268 const double d1 = (isfloat) ? MathLib::toDoubleNumber (value1) : 0 ;
12691269 const double d2 = (isfloat) ? MathLib::toDoubleNumber (value2) : 0 ;
1270- const MathLib::bigint i1 = (isfloat) ? 0 : MathLib::toLongNumber (value1);
1271- const MathLib::bigint i2 = (isfloat) ? 0 : MathLib::toLongNumber (value2);
1270+ const MathLib::bigint i1 = (isfloat) ? 0 : MathLib::toBigNumber (value1);
1271+ const MathLib::bigint i2 = (isfloat) ? 0 : MathLib::toBigNumber (value2);
12721272 const bool useUnsignedInt = (std::numeric_limits<MathLib::bigint>::max ()==i1) || (std::numeric_limits<MathLib::bigint>::max ()==i2);
1273- const MathLib::biguint u1 = (useUnsignedInt) ? MathLib::toLongNumber (value1) : 0 ;
1274- const MathLib::biguint u2 = (useUnsignedInt) ? MathLib::toLongNumber (value2) : 0 ;
1273+ const MathLib::biguint u1 = (useUnsignedInt) ? MathLib::toBigNumber (value1) : 0 ;
1274+ const MathLib::biguint u2 = (useUnsignedInt) ? MathLib::toBigNumber (value2) : 0 ;
12751275 // evaluate if expression is always true/false
12761276 bool alwaysTrue = true , alwaysFalse = true ;
12771277 bool firstTrue = true , secondTrue = true ;
0 commit comments