MPINT: Less fiddling with bits and bytes, more performance.

git-svn-id: svn://kolibrios.org@9090 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2021-07-26 09:44:08 +00:00
parent 1ab60232c8
commit ffdfe97ebd
3 changed files with 560 additions and 220 deletions

File diff suppressed because it is too large Load Diff

View File

@ -127,7 +127,7 @@ start:
mov dword[mpint_B+4], 497
stdcall mpint_cmp, mpint_A, mpint_B
stdcall mpint_mod, mpint_A, mpint_B
DEBUGF 1, "mpint_mod(936, 497)\n"
DEBUGF 1, "mpint_mod(1936, 497)\n"
stdcall mpint_print, mpint_A
mov dword[mpint_A+00], 32
@ -155,8 +155,8 @@ start:
stdcall mpint_mul, mpint_C, mpint_B, mpint_A
stdcall mpint_print, mpint_C
stdcall mpint_hob, mpint_C
DEBUGF 1, "mpint_hob(C): %u\n", eax
stdcall mpint_bits, mpint_C
DEBUGF 1, "mpint_bits(C): %u\n", eax
mov dword[mpint_A+0], 1
mov dword[mpint_A+4], 3

View File

@ -18,7 +18,7 @@
format binary as ""
__DEBUG__ = 1
__DEBUG_LEVEL__ = 1
__DEBUG_LEVEL__ = 2
MAX_BITS = 4096
@ -68,7 +68,7 @@ cmptestctr = cmptestctr + 1
start:
DEBUGF 1, "MPINT Test suite\n"
DEBUGF 3, "MPINT Test suite\n"
; First, do some checks on the compare routine
cmptesteq mpint_0_0, mpint_0_0
@ -216,7 +216,7 @@ endg
include "tests.inc"
DEBUGF 1, "All tests completed\n"
DEBUGF 3, "All tests completed\n"
mcall -1
@ -224,6 +224,8 @@ IncludeIGlobals
i_end:
starttime dq ?
mpint_tmp rb MPINT_MAX_LEN+4
include_debug_strings