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.