⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tstbot.c

📁 雷达工具箱
💻 C
字号:
#include "randlib.h"#include <stdio.h>#include <stdlib.h>void main(int argc,char argv[])/***********************************************************************     A test program for the bottom level routines**********************************************************************     Set up the random number generator*/{static long genlst[5] = {    1,5,10,20,32};static long ians,iblock,igen,iseed1,iseed2,itmp,ix,ixgen,nbad,answer[10000];    nbad = 0;    puts(" For five virual generators of the 32");    puts(" This test generates 10000 numbers then resets the block");    puts("      and does it again");    puts(" Any disagreements are reported -- there should be none");/*     Set up Generators*/    setall(12345L,54321L);/*     For a selected set of generators*/    for(ixgen=0; ixgen<5; ixgen++) {        igen = *(genlst+ixgen);        gscgn(1L,&igen);        printf(" Testing generator %12ld\n",igen);/*     Use 10 blocks*/        initgn(-1L);        getsd(&iseed1,&iseed2);        for(iblock=0; iblock<10; iblock++) {/*     Generate 1000 numbers*/            for(ians=1; ians<=1000; ians++) {                ix = ians+iblock*1000;                *(answer+ix-1) = ignlgi();            }            initgn(1L);        }        initgn(-1L);/*     Do it again and compare answers*/        getsd(&iseed1,&iseed2);/*     Use 10 blocks*/        for(iblock=1; iblock<=10; iblock++) {/*     Generate 1000 numbers*/            for(ians=1; ians<=1000; ians++) {                ix = ians+(iblock-1)*1000;/*      ANSWER( IX ) = IGNLGI()*/                itmp = ignlgi();                if((itmp != *(answer+ix-1))) {                puts(" Disagreement on regeneration of numbers");                printf(" Block %2ld N within Block %2ld\n",&iblock,&ians);                printf(" Index in answer %5ld\n", &ix);                printf(" Originally Generated %10ld Regenerated %10ld\n",                       (answer+ix-1),&itmp);                nbad += 1;                if(nbad > 10) {                    puts(" More than 10 mismatches - ABORT");                       exit(1);                    }                   }              }            initgn(1L);          }        printf(" Finished testing generator %12ld\n",igen);        puts(" Test completed successfully");    }    exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -