Frankly, you did all the work. With your analysis, it became very easy to figure out what needed to be done. Low hanging fruit ;-)
So, thank you! Cheers, Richard Vid Sat, 26 Mar 2016 kl. 02.38.47, skrev craigbe...@mac.com: > Wow, that was fast. The patch looks good here: now all tests pass on > systems with and without the Math::BigInt changes. Thanks! > > > On Mar 25, 2016, at 6:05 PM, Richard Levitte via RT <r...@openssl.org> > > wrote: > > > > I've attached a tentative patch for test/recipes/bc.pl. Would you be > > willing to > > try it out? > > > > > -- > > Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4485 > > Please log in as guest with password guest if prompted > > > > diff --git a/test/recipes/bc.pl b/test/recipes/bc.pl > > index 29a4a8a..f7d4dc6 100644 > > --- a/test/recipes/bc.pl > > +++ b/test/recipes/bc.pl > > @@ -46,7 +46,16 @@ sub __multiplier { > > if ($operator eq "*") { > > $operand1->bmul($operand2); > > } elsif ($operator eq "/") { > > + # Math::BigInt->bdiv() is documented to do floored > > division, > > + # i.e. 1 / -4 = -1, while bc and OpenSSL BN_div do > > truncated > > + # division, i.e. 1 / -4 = 0. We need to make the operation > > + # work like OpenSSL's BN_div to be able to verify. > > + my $neg = ($operand1->is_neg() > > + ? !$operand2->is_neg() : $operand2->is_neg()); > > + $operand1->babs(); > > + $operand2->babs(); > > $operand1->bdiv($operand2); > > + if ($neg) { $operand1->bneg(); } > > } elsif ($operator eq "%") { > > # Here's a bit of a quirk... > > # With OpenSSL's BN, as well as bc, the result of -10 % 3 > > is -1 > > ________________________________________ > Craig A. Berry > mailto:craigbe...@mac.com > > "... getting out of a sonnet is much more > difficult than getting in." > Brad Leithauser -- Richard Levitte levi...@openssl.org -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4485 Please log in as guest with password guest if prompted -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev