mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-05 02:34:18 +00:00
d2edcad66e
Thanks to Phil Zimmermann for the code and for the license exception we needed to include it. There remains some build system integration work to be done before this code will build properly in the FreeSWITCH tree.
29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
Test driver for low-level BigNum library correctness.
|
|
|
|
In addition to the generic "bntest" program, which picks a size
|
|
at compile time, there are specific test drivers, bntest16,
|
|
bntest32 and bntest64 that you can compile specifically, e.g.
|
|
to test multiple word sizes.
|
|
|
|
bntest is different from other programs in that it invokes the
|
|
low-level BigNum functions directly. It need only be linked with
|
|
lbnmem.o, lbn32.o and legal.o. This is not normally desirable, but
|
|
it lets this test driver isolate errors better in the bottom-level
|
|
primitives.
|
|
|
|
It's served very well in tracking down errors. If you write some new
|
|
assembly primitives and it doesn't find a problem with them, you
|
|
can have a good deal of confidence that they're correct.
|
|
|
|
This program also does timing tests on basic modular exponentiation.
|
|
It is invoked as bntest [modsize [expsize [expsize2]]].
|
|
If modsize is not specified, it only runs consistency checks.
|
|
If expsize is not specified, it defaults to modsize.
|
|
If expsize2 is not specified, it defaults to expsize.
|
|
Invalid arguments produce a usage message.
|
|
|
|
Example invocation lines:
|
|
bntest
|
|
bntest 512
|
|
bntest 1024 160
|