Alien-Judy
view release on metacpan or search on metacpan
src/judy-1.0.5/test/Judy1LHTime.c view on Meta::CPAN
if (Rc != 1)
FAILURE("JudyLDel ret Rcode != 1", Rc);
}
ENDTm(DeltaUSecL);
DeltaUSecL /= Elements;
}
if (JHFlag)
{
MalFlag = JudyMalHS;
STARTTm;
for (Seed1 = Seed, elm = 0; elm < Elements; elm++)
{
Seed1 = GetNextIndex(Seed1);
if (DFlag)
TstIndex = Swizzle(Seed1);
else
TstIndex = Seed1;
JHSD(Rc, *JH, &TstIndex, sizeof(Word_t));
if (Rc != 1)
FAILURE("JudyHSDel ret Rcode != 1", Rc);
}
ENDTm(DeltaUSecHS);
DeltaUSecHS /= Elements;
}
return (0);
}
// Routine to get next size of Indexes
int // return 1 if last number
NextNumb(Word_t *PNumber, // pointer to returned next number
double *PDNumb, // Temp double of above
double DMult, // Multiplier
Word_t MaxNumb) // Max number to return
{
// Save prev number
double PrevPDNumb = *PDNumb;
double DDiff;
// Calc next number >= 1.0 beyond previous
do
{
*PDNumb *= DMult;
DDiff = *PDNumb - PrevPDNumb;
} while (DDiff < 0.5);
// Return it in integer format
if (DDiff < 100.0)
*PNumber += (Word_t)(DDiff + 0.5);
else
*PNumber = *PDNumb + 0.5;
// Verify it did not exceed max number
if (*PNumber >= MaxNumb)
{
// it did, so return max
*PNumber = MaxNumb;
return (1); // flag it
}
return (0); // more available
}
( run in 1.988 second using v1.01-cache-2.11-cpan-140bd7fdf52 )