[BUG] DSA failure in LargePositiveInteger in #new: <primitive: 71>
JArchibald at aol.com
JArchibald at aol.com
Tue May 30 17:56:50 UTC 2000
=> 5/30/00 12:00:30 PM EDT, arning at charm.net =>
<< As far back as Squeak 2.5, I get (true '1' false ). >>
Bob,
I get the result for the evaluation (Squeak2.7 at cs#2210 -- VM => '(2000.05.24
14:00:36 436,736) Squeak.exe' on Windows base: no question about Integer
built-in module):
--------------------------------------------------
zz _ LargePositiveInteger new: 1.
zz digitAt: 1 put: 1.
a _ zz = 1.
b _ zz printString.
c _ zz = 1.
{a. b. c. zz}
=> (false '1' false 0 )
--------------------------------------------------
where zz is a LargePositiveInteger of size 1. I take this to be a bug in
LargePositiveInteger>>digitAt:put:, but I don't quite know how to grok in
fullness the rest of your comments,
where in the case of evaluating
--------------------------------------------------
zz _ Integer new: 1.
zz digitAt: 1 put: 1.
a _ zz = 1.
b _ zz printString.
c _ zz = 1.
{a. b. c. zz}
--------------------------------------------------
I get an error:
Error: Integer cannot have variable sized instances
which seems to agree with the code for Integer>>digitAt:put:
When re-evaluating the DSA test, I am getting (of course) some very big
numbers. Not as big as the tests I was hinting at in previous E-mails, but
big enough. I am trying to compose a run-down on this test. In any case, the
body of DigitalSignatureAlgorithm>>remainder:mod: is attempting to do an
Integer>>new: with a negative parameter in statement
quotient _ LargePositiveInteger new: remainder digitLength - divisor
digitLength.
There are a number of numeric operations in that routine prior to this
statement, and my suspicion is that one of them is behaving badly. I'll have
an E-mail up in a few minutes.
Sincerely lost,
Jerry.
____________________________
Jerry L. Archibald
systemObjectivesIncorporated
____________________________
More information about the Squeak-dev
mailing list
|