test_mont was exercising 100-bit multiplication modulus X*I-bit, where
authorAndy Polyakov <appro@openssl.org>
Tue, 15 Feb 2000 13:50:02 +0000 (13:50 +0000)
committerAndy Polyakov <appro@openssl.org>
Tue, 15 Feb 2000 13:50:02 +0000 (13:50 +0000)
X is 5120 on 32-bit and 151552 on 64-bit architectures and I varies
from 0 to 4. As result the test was *unreasonably* slow and virtually
impossible to complete on 64-bit architectures (e.g. IRIX bc couldn't
even swallow such long lines).

crypto/bn/bntest.c

index 9276a079d0e096ee09d40e1967510c8aa2b38da3..d64d512e9a3cbd6acb78b73cf317362cc0f4ba02 100644 (file)
@@ -615,7 +615,7 @@ int test_mont(BIO *bp, BN_CTX *ctx)
        BN_rand(&b,100,0,0); /**/
        for (i=0; i<num2; i++)
                {
-               int bits = (100%BN_BITS2+1)*BN_BITS2*i*BN_BITS2;
+               int bits = (200*(i+1))/num2;
 
                if (bits == 0)
                        continue;