99// Naive multiplication
1010std::vector<ull> bigint::_NAIVE_MULT (const std::vector<ull> &a, const std::vector<ull> &b) {
1111 std::size_t len = a.size ();
12- std::vector<ull> r (len << 1 );
12+ std::vector<ull> r (len << 1ULL );
1313
1414 std::vector<ull>::const_iterator aend = a.cend ();
1515 std::vector<ull>::const_iterator bend = b.cend ();
@@ -39,7 +39,7 @@ std::vector<ull> bigint::_NAIVE_MULT(const std::vector<ull> &a, const std::vecto
3939std::vector<ull> bigint::_KARATSUBA_MULT (const std::vector<ull> &a, const std::vector<ull> &b) {
4040 const std::size_t len = a.size ();
4141
42- if (len <= 32 ) {
42+ if (len <= static_cast <std:: size_t >( 32 ) ) {
4343 return bigint::_NAIVE_MULT (a, b);
4444 }
4545
@@ -64,7 +64,7 @@ std::vector<ull> bigint::_KARATSUBA_MULT(const std::vector<ull> &a, const std::v
6464 const std::vector<ull>::const_iterator bli = bl.cbegin ();
6565 const std::vector<ull>::const_iterator bri = br.cbegin ();
6666
67- for (std::size_t i = 0 ; i < mid; ++i) {
67+ for (std::size_t i = static_cast <std:: size_t >( 0 ) ; i < mid; ++i) {
6868 *(alri + i) = *(ali + i) + *(ari + i);
6969 *(blri + i) = *(bli + i) + *(bri + i);
7070 }
@@ -77,7 +77,7 @@ std::vector<ull> bigint::_KARATSUBA_MULT(const std::vector<ull> &a, const std::v
7777 const std::vector<ull>::iterator p3i = p3.begin ();
7878 const std::vector<ull>::iterator ri = r.begin ();
7979
80- for (std::size_t i = 0 ; i < len; ++i) {
80+ for (std::size_t i = static_cast <std:: size_t >( 0 ) ; i < len; ++i) {
8181 const ull p2ii = *(p2i + i);
8282 *(p3i + i) -= p2ii + *(p1i + i);
8383 *(ri + i) = p2ii;
@@ -225,7 +225,7 @@ const bigint operator - (const bigint &a, const bigint &b) {
225225 for (std::vector<ull>::const_reverse_iterator i = r.crbegin (); *i == 0ULL ; ++i, ++c);
226226
227227 if (c != 0ULL ) {
228- r.resize (std::max ( r.size () - static_cast <std::size_t >(c), static_cast <std::size_t >(1 ) ));
228+ r.resize (r. size () > static_cast < std::size_t >(c) ? r.size () - static_cast <std::size_t >(c) : static_cast <std::size_t >(1 ));
229229 }
230230
231231 return r;
@@ -264,7 +264,7 @@ const bigint operator * (const bigint &a, const bigint &b) {
264264 for (std::vector<ull>::const_reverse_iterator i = r.crbegin (); *i == 0ULL ; ++i, ++extra);
265265
266266 if (extra != static_cast <std::size_t >(0 )) {
267- r.resize (std::max ( r.size () - extra, static_cast <std::size_t >(1 ) ));
267+ r.resize (r. size () > extra ? r.size () - extra : static_cast <std::size_t >(1 ));
268268 }
269269
270270 return r;
0 commit comments