Miller–Rabin primality test: Difference between revisions

Content added Content deleted
Line 917: Line 917:
-export([is_prime/1, power/2]).
-export([is_prime/1, power/2]).


% Replaced floating point functions with integers and integer arithmetic; created integer power function.
% Replaced floating point functions with integer functions and arithmetic,
% and added an integer power function.
% Increased number of trials from 20 to 100; augmented proving bases.
% Increased number of probabilistic trials from 20 to 100,
% Tested.
% and augmented number of deterministic proving bases.
% Dogwood, January 17, 2014 @ 1:15pm PST.
% Dogwood, January 18, 2014 @ 10:52am PST.


is_prime(1) -> false;
is_prime(1) -> false;
Line 998: Line 999:




power(X, N) ->
power(B, E) -> power(B, E, 1).
power(X, N, 1).

power(X, N, Acc) ->
if
N /= 0 -> power(X, N - 1, X * Acc);
true -> Acc
end.


-----------------------------------------------------------------------------------------------------------------------------



power(_, 0, Acc) -> Acc.
power(B, E, Acc) -> power(B, E - 1, B * Acc).


%%%%%%% HAVE UNINTENTIONALLY MERGED FORTRAN PAGE AND UNABE TO REPAIR %%%%%%%%
</pre>
</pre>