68 int main(
int argc,
char **argv)
70 unsigned char buf[2500];
71 int i,j,
k,s,sign,nsign,err=0;
74 unsigned long runs[2][34];
81 printf (
"init failed, the rand method is not properly installed\n");
87 for (i=0; i<16; i++) n2[i]=0;
88 for (i=0; i<34; i++) runs[0][i]=runs[1][i]=0;
93 for (i=0; i<2500; i++)
107 if (nsign > 34) nsign=34;
110 runs[sign][nsign-1]++;
122 if (nsign > 34) nsign=34;
123 if (nsign != 0) runs[sign][nsign-1]++;
126 if (!((9654 < n1) && (n1 < 10346)))
128 printf(
"test 1 failed, X=%lu\n",n1);
131 printf(
"test 1 done\n");
138 d=d*16.0/5000.0-5000.0;
139 if (!((1.03 < d) && (d < 57.4)))
141 printf(
"test 2 failed, X=%.2f\n",d);
149 if (!((103 < d) && (d < 5740)))
151 printf(
"test 2 failed, X=%ld.%02ld\n",d/100L,d%100L);
154 printf(
"test 2 done\n");
159 if (!((2267 < runs[i][0]) && (runs[i][0] < 2733)))
161 printf(
"test 3 failed, bit=%d run=%d num=%lu\n",
165 if (!((1079 < runs[i][1]) && (runs[i][1] < 1421)))
167 printf(
"test 3 failed, bit=%d run=%d num=%lu\n",
171 if (!(( 502 < runs[i][2]) && (runs[i][2] < 748)))
173 printf(
"test 3 failed, bit=%d run=%d num=%lu\n",
177 if (!(( 223 < runs[i][3]) && (runs[i][3] < 402)))
179 printf(
"test 3 failed, bit=%d run=%d num=%lu\n",
183 if (!(( 90 < runs[i][4]) && (runs[i][4] < 223)))
185 printf(
"test 3 failed, bit=%d run=%d num=%lu\n",
189 if (!(( 90 < runs[i][5]) && (runs[i][5] < 223)))
191 printf(
"test 3 failed, bit=%d run=%d num=%lu\n",
196 printf(
"test 3 done\n");
199 if (runs[0][33] != 0)
201 printf(
"test 4 failed, bit=%d run=%d num=%lu\n",
205 if (runs[1][33] != 0)
207 printf(
"test 4 failed, bit=%d run=%d num=%lu\n",
211 printf(
"test 4 done\n");
214 #ifdef OPENSSL_SYS_NETWARE
215 if (err) printf(
"ERROR: %d\n", err);