Alien-Judy
view release on metacpan or search on metacpan
src/judy-1.0.5/test/Judy1LCheck.c view on Meta::CPAN
FAILURE("No tests: -n", nElms);
// Check if more than a trillion (64 bit only)
if ((double)nElms > 1e12)
FAILURE("Too many Indexes=", nElms);
break;
case 'S': // Step Size, 0 == Random
SkipN = strtoul(optarg, NULL, 0);
break;
case 'P': //
PtsPdec = strtoul(optarg, NULL, 0);
break;
case 'b': // May not work past 35 bits if changed
StartSeed = strtoul(optarg, NULL, 0);
break;
case 'B':
BValue = strtoul(optarg, NULL, 0);
if (
(BValue > (sizeof(Word_t) * 8))
||
(MagicList[BValue] == 0)
)
{
ErrorFlag++;
printf("\nIllegal number of random bits of %lu !!!\n", BValue);
}
break;
case 'p': // Print test indexes
pFlag = 1;
break;
case 'd': // Delete indexes
dFlag = 0;
break;
case 'D': // Swizzle indexes
DFlag = 1;
break;
case 'C': // Skip counting test.
CFlag = 1;
break;
default:
ErrorFlag++;
break;
}
}
if (ErrorFlag)
{
printf("\n%s -n# -S# -B# -P# -b # -DRCpd\n\n", argv[0]);
printf("Where:\n");
printf("-n <#> number of indexes used in tests\n");
printf("-C skip JudyCount tests\n");
printf("-p print index set - for debug\n");
printf("-d do not call JudyDel/Unset\n");
printf("-D Swizzle data (mirror)\n");
printf("-S <#> index skip amount, 0 = random\n");
printf("-B <#> # bits-1 in random number generator\n");
printf("-P <#> number measurement points per decade\n");
printf("\n");
exit(1);
}
// Set number of Random bits in LFSR
RandomBit = 1UL << (BValue - 1);
Magic = MagicList[BValue];
if (nElms > ((RandomBit-2) * 2))
{
printf("# Number = -n%lu of Indexes reduced to max expanse of Random numbers\n", nElms);
nElms = ((RandomBit-2) * 2);
}
printf("\n%s -n%lu -S%lu -B%lu", argv[0], nElms, SkipN, BValue);
if (DFlag)
printf(" -D");
if (!dFlag)
printf(" -d");
if (pFlag)
printf(" -p");
if (CFlag)
printf(" -C");
printf("\n\n");
if (sizeof(Word_t) == 8)
printf("%s 64 Bit version\n", argv[0]);
else if (sizeof(Word_t) == 4)
printf("%s 32 Bit version\n", argv[0]);
//////////////////////////////////////////////////////////////
// CALCULATE NUMBER OF MEASUREMENT GROUPS
//////////////////////////////////////////////////////////////
// Calculate Multiplier for number of points per decade
Mult = pow(10.0, 1.0 / (double)PtsPdec);
{
double sum;
Word_t numb, prevnumb;
// Count number of measurements needed (10K max)
sum = numb = 1;
for (Groups = 2; Groups < 10000; Groups++)
if (NextNumb(&numb, &sum, Mult, nElms))
break;
// Get memory for measurements
Pms = (Pms_t) calloc(Groups, sizeof(ms_t));
// Now calculate number of Indexes for each measurement point
numb = sum = 1;
prevnumb = 0;
for (grp = 0; grp < Groups; grp++)
{
( run in 0.383 second using v1.01-cache-2.11-cpan-39bf76dae61 )