Skip to content

FIXMATH_FAST_SIN gives rounding error #24

@GoogleCodeExporter

Description

@GoogleCodeExporter
I've found a bug with your fast implementation of sin() (FIXMATH_FAST_SIN), 
this bug doesn't happen with the more accurate version.
I made an animation of a rotating cube but noticed it would shudder, i tracked 
it down to the sin function providing very poor accuracy as the return value 
from it reached and passed 0.

I'm running it in Visual Studio 2009 and tracking the values in the debugger so 
the values i see are the 32bit number representation of the fix16_t variable 
but they go like this...
1842, 899, -74, -1055, -2037, -2990, -3979, all good so far, then suddenly it 
jumps back to positive with 4782, 3790, 2803, ... it then continues down 
through to -65536 (-1.0) as it should do.

Original issue reported on code.google.com by [email protected] on 21 Apr 2013 at 12:58

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions