Hi Erik,
Depending on the ranges of your increment, and the accuracy you
want to obtain, you might consider doing this with integers only.
Maarten
The fix in this case was this:
for (;;)
{
/* Bunch of other code. */
fractional += increment ;
rem = fmod (fractional, 1.0); /* floating point modulus */
integer += lrint (round (fractional - rem));
fractional = rem;
}