Wow,
my emails really don’t seam to pass through. I’ve been trying to send this
reply since yesterday. Let me try one more time…
Here’s what I believe
is happening:
You have a space
between (long) and t. So I believe doing long id = (long) t * 3 * nbPoints; is
the equivalent of doing long id = (long)(t * 3 * nbPoints); I think this
way it converts the result of the entire equation so if t = 1.99, then you get
something like 23.88 and then cast it to a long so it'll only keep the 23. But
if you remove the space it’ll do the equivalent of long id = (long)(t) * 3 *
nbPoints; but if you have 1.99 and cast it to a long, it'll only keep the
value 1 which will screw up the result even more. So you can use round(t) and
that'll convert a 1.5 to a 2 and a 1.49 to
1.
But I still find it
weird that when you log it, it only shows the value 2 even if the real value
would be 1.99. But try those and let me know if it helps.
I think round is in
Math.h so you might need to include that library.