ram_reply_t runtest(const ramtest_params_t *params_arg) { ram_reply_t e = RAM_REPLY_INSANE; extra_t x = {0}; RAM_FAIL_NOTNULL(params_arg); e = runtest2(params_arg, &x); return e; }
static int rnd_printout() { int i,k; double a,a1,a2,a3,sumx,sumx2,sumy,sumy2,df; double mean,stddev,amax; char s1[LLENGTH],s2[LLENGTH],s3[LLENGTH]; if (n<3L) { sprintf(sbuf,"\nOnly %d active observations!",n); sur_print(sbuf); WAIT; return(-1); } output_open(eout); mean=sum1/(double)n; stddev=sqrt((sum2-sum1*sum1/(double)n)/(double)(n-1)); sprintf(sbuf,"Testing randomness of %s in data %s",word[2],word[1]); print_line(sbuf); fnconv2(mean,accuracy+2,s1); fnconv2(stddev,accuracy+2,s2); fnconv2(stddev/sqrt((double)n),accuracy+2,s3); sprintf(sbuf,"N=%d mean=%s stddev=%s SE[mean]=%s",n,s1,s2,s3); print_line(sbuf); if (stddev<1e-15) { sprintf(sbuf,"\nVariable %s is constant=%g", word[2],mean); sur_print(sbuf); WAIT; return(-1); } if (n_sub) sub_results(); if (fr_n) fr_results(); for (imax=MAXRUN-1; imax>=0; --imax) { if (runs_up[imax]+runs_down[imax]>0) break; } runs_hald(); runtest2(); if (maxlag) { amax=0.0; a=sum1*sum1/(double)n; a1=sum2-a; print_line(" "); print_line(" Lag Autocorrelation"); sumx=sumy=sum1; sumx2=sumy2=sum2; for (i=0; i<maxlag; ++i) { a=first_x[i]; sumx-=a; sumx2-=a*a; a=lagv[lagpos]; sumy-=a; sumy2-=a*a; if (lagpos>0) --lagpos; else lagpos=maxlag-1; df=n-(int)(i+1); a=lagvv[i]-sumx*sumy/df; a1=sumx2-sumx*sumx/df; a2=sumy2-sumy*sumy/df; a2=a/sqrt(a1*a2); if (fabs(a2)>amax) amax=fabs(a2); a3=2*muste_cdf_std(-fabs(a2)*sqrt((double)n)); fnconv(a2,accuracy,s1); /* Rprintf("\nlag=%d sumx=%g sumx2=%g sumy=%g sumy2=%g S=%g", i+1,sumx,sumx2,sumy,sumy2,lagvv[i]); getch(); */ k=sprintf(sbuf,"%6d %s",i+1,s1); if (a3<0.1) { k+=sprintf(sbuf+k," P=%g",a3); } if (i==maxlag-1) { fnconv2(amax,accuracy,s1); k+=sprintf(sbuf+k," max.autocorr.=%s",s1); } print_line(sbuf); } } if (maxgap) gap_results(); if (permlen) perm_results(); if (poklen) poker_results(); if (couplen) coup_results(); output_close(eout); return(1); }