/******************************************************************************
* *
* COMPUTE LIOUVILLE FUNCTION *
* 04/02/10 (dkc) *
* *
******************************************************************************/
#include <math.h>
#include "table2.h"
int liouvile(unsigned int a) {
unsigned int i,b,count,p;
if (a==1)
return(1);
count=0;
for (i=0; i<17984; i++) {
p=table[i];
if (p>a)
break;
if (a==(a/p)*p) {
b=a;
while (b==(b/p)*p) {
count=count+1;
b=b/p;
}
}
}
if ((count&1)==0)
return 1;
else
return -1;
}