- /* Steps are linear, but we map them with pow like values (in
- internal_to_interface). Thus, they are applied exponentially,
- which means too few steps. So, divide to get roughly the
- desired number of steps (30). This is not mathematically
- precise but seems to be about right for the controls I tried.
- If you're reading this, you've probably found a case where that
- isn't true, and somebody needs to sit down with a piece of paper
- and actually do the math. */
- smallstep = smallstep / logf(30.0f);
- step = step / logf(30.0f);
- largestep = largestep / logf(30.0f);
+ smallstep = step = (powf (delta, 1.f / 300.f) - 1.f) * lower;
+ largestep = (powf (delta, 1.f / 30.f) - 1.f) * lower;