/****************************************************************************** * * * COMPUTE MERTENS FUNCTION * * 10/30/15 (dkc) * * * ******************************************************************************/ #include <math.h> double newhicl(unsigned long long x, unsigned int u, char *mob, int *M) { char temp; unsigned int j,m; unsigned long long xom,i; double sumb; sumb=0.0; for (m=1; m<=u; m++) { temp=mob[m-1]; xom=x/m; j=(unsigned int)sqrt((double)xom); j=j+1; for (i=j; i<=xom; i++) { if (temp<0) sumb=sumb-(double)M[xom/i-1]; if (temp>0) sumb=sumb+(double)M[xom/i-1]; } } return(sumb); }