#include <stdio.h> #include "miracl.h" main() { big a; big b; big c; mirsys(-65536,0); a = mirvar(0); b = mirvar(0); c = mirvar(0); cinnum(a,stdin); cinnum(b,stdin); multiply(a,b,c); cotnum(c,stdout); }
Here are some old timings. I downloaded MIRACL version 4.22. I copied mrmuldv.any to mrmuldv.s, removed everything from mrmuldv.s except the section labelled DJGPP GNU C, and eliminated the underscores from mrmuldv.s. Then I compiled the library:
as -o mrmuldv.o mrmuldv.s ln -s ../include/* . ln -s mirdef.h32 mirdef.h make -f ../lib/miracl.makResults on a Pentium II:
1: 4215 415 335 341 316 313 2: 820 356 333 313 347 313 4: 486 332 316 331 379 345 8: 463 331 348 345 316 331 16: 475 331 360 313 316 331 32: 483 320 362 340 336 340 64: 598 488 489 436 460 419 128: 1031 863 880 811 847 811 256: 2561 2476 2507 2471 2509 2471 512: 8330 8267 8305 8267 8305 8267 1024: 30781 30811 30848 30812 30848 30812 2048: 119642 119762 119800 119762 128178 119762 4096: 472119 472438 472477 472439 472477 472439 8192: 1896462 1890836 1916694 1916890 1896697 1890836 16384: 7578453 7567765 7556846 7751752 7569880 7552307 32768: 30146002 30363948 30155703 30259578 30231958 30167444 65536: 120904516 121034638 121100894 121012190 122170890 121097840