changed: some return values has been cleaned in ttmathuint.h
(eclipse builtin parser reported errors but actually the code was correct) git-svn-id: svn://ttmath.org/publicrep/ttmath/trunk@1050 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
b36821024b
commit
f06592376f
|
@ -955,17 +955,20 @@ public:
|
||||||
switch( algorithm )
|
switch( algorithm )
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
return Mul1Big(ss2, result);
|
Mul1Big(ss2, result);
|
||||||
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
return Mul2Big(ss2, result);
|
Mul2Big(ss2, result);
|
||||||
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
return Mul3Big(ss2, result);
|
Mul3Big(ss2, result);
|
||||||
|
break;
|
||||||
|
|
||||||
case 100:
|
case 100:
|
||||||
default:
|
default:
|
||||||
return MulFastestBig(ss2, result);
|
MulFastestBig(ss2, result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1501,7 +1504,10 @@ public:
|
||||||
void MulFastestBig(const UInt<value_size> & ss2, UInt<value_size*2> & result)
|
void MulFastestBig(const UInt<value_size> & ss2, UInt<value_size*2> & result)
|
||||||
{
|
{
|
||||||
if( value_size < TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE )
|
if( value_size < TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE )
|
||||||
return Mul2Big(ss2, result);
|
{
|
||||||
|
Mul2Big(ss2, result);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
uint x1size = value_size, x2size = value_size;
|
uint x1size = value_size, x2size = value_size;
|
||||||
uint x1start = 0, x2start = 0;
|
uint x1start = 0, x2start = 0;
|
||||||
|
@ -1523,9 +1529,12 @@ public:
|
||||||
uint distancex2 = x2size - x2start;
|
uint distancex2 = x2size - x2start;
|
||||||
|
|
||||||
if( distancex1 < 3 || distancex2 < 3 )
|
if( distancex1 < 3 || distancex2 < 3 )
|
||||||
|
{
|
||||||
// either 'this' or 'ss2' have only 2 (or 1) items different from zero (side by side)
|
// either 'this' or 'ss2' have only 2 (or 1) items different from zero (side by side)
|
||||||
// (this condition in the future can be improved)
|
// (this condition in the future can be improved)
|
||||||
return Mul2Big3<value_size>(table, ss2.table, result, x1start, x1size, x2start, x2size);
|
Mul2Big3<value_size>(table, ss2.table, result, x1start, x1size, x2start, x2size);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Karatsuba multiplication
|
// Karatsuba multiplication
|
||||||
|
|
Loading…
Reference in New Issue