#!perl use warnings; use strict; use Inline "C", <<__ENDC; /* mulmod(a, b, m) gives (a*b)%c */ long mulmod (long a, long b, long m) { long long t = (long long)a * b; return (long)(t % m); } __ENDC { # Miller--Rabin test my @smallprimes = ( 2, 3, 5, 7, 11, 13, 17, 19, );