Lowent 매뉴얼←↑→

bigint16 — 큰수 모듈러 산술(16 비트 조각)

소스
lib/bigint16.low
층
L0 — 순수 계산(호출자의 뒷받침)
권한
없음

bigint32 와 op 의 이름 · 입력 · 뜻이 모두 같고, 수를 16 비트 조각으로 나눠 담는다. 쓰는 법과 op 표는 그 쪽에 있다 — use bigint32 . 을 use bigint16 . 으로 바꾸면 된다.

조각 곱이 16×16 = 32 비트라 곱셈기가 좁은 기계(8 · 16 비트 CPU)를 위한 것이다. 한 칸의 합은 (216−1) + (216−1)2 + (216−1) = 232 − 1 이다. 잰 기계(x86-64 · x86 -m32)에서는 셋 가운데 가장 느렸다 — RSA-2048 거듭제곱이 bigint32 의 3   4 배 걸렸다. 좁은 기계에서는 아직 재지 않았다.

수 하나는 limbs nb. = ⌈nb / 2⌉ 칸을 쓴다 — 세 폭 가운데 가장 많다. 그래서 «⌈nb / 2⌉ + 2 칸이면 어느 폭에나 맞는다» 는 규칙이 이 모듈에서 나온다.