/******************************************************************************
* *
* COMPUTE MANGOLDT FUNCTION *
* 04/02/10 (dkc) *
* *
******************************************************************************/
#include <math.h>
double mangoldt(unsigned int a, unsigned int *table) {
unsigned int i,count,p,savep;
if (a==1)
return(0.0);
count=0;
savep=0;
for (i=0; i<17984; i++) {
p=table[i];
if (p>a)
break;
if (a==(a/p)*p) {
if (count!=0)
return(0.0);
savep=p;
count=count+1;
}
}
return(log((double)savep));
}