Calling modPow
To call this code the numbers must be stored 30 bits per word,
in consecutive words with more significant words at larger addresses.
The value that an array N represents is ∑N[j]*230*j, summed from 0.
The size of the arrays for the three inputs and one output must be
the same and a multiple of four words.
The modulus must have significant bits within the high four words.
The prototype is:
void modPow(int const * X, int const * E, int * A, int const * M,
int L);
Calling modPow results in placing XE modulo M in array A.
X must be less than M.
All inputs and outputs are non-negative.
L is then number of words in each array.
The routine main is for debugging only.