示例#1
0
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;
}
示例#2
0
文件: rndtest.c 项目: rforge/muste
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);
        }