/*
if ($bNeg && !$aNeg) {
$a = clone $int;
$b = clone $this;
} elseif($bNeg && $aNeg) {
$a = $this->mulInt(-1);
$b = $int->mulInt(-1);
}
*/
$x =
$a->
xorInt64($b)->
mask64($d,
$d);
return array
( $a->
xorInt64($x)->
mulInt($m),
$b->
xorInt64($x)->
mulInt($m) );
} /**
* @param array<int, int> $a
* @param array<int, int> $b
* @param int $baseLog2
* @return array<int, int>
*/
public function multiplyLong(array
$a, array
$b,
$baseLog2 = 16
) {