From 6ee10626c997cef0959593f6e309c63fd09ac0a3 Mon Sep 17 00:00:00 2001 From: Kamal Mostafa Date: Wed, 15 Aug 2012 16:57:39 -0700 Subject: [PATCH] simple-tone: use integer mod not fmod --- src/simple-tone-generator.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/simple-tone-generator.c b/src/simple-tone-generator.c index 1fa033a..4ca88a5 100644 --- a/src/simple-tone-generator.c +++ b/src/simple-tone-generator.c @@ -68,9 +68,8 @@ simpleaudio_tone_init( unsigned int new_sin_table_len ) static inline short sin_lu_short( float turns ) { - turns = fmodf(turns, 1.0); - int t = (float)sin_table_len * turns; - // assert ( t >= 0 && t < sin_table_len ); + int t = (float)sin_table_len * turns + 0.5f; + t %= sin_table_len; return sin_table_short[t]; } @@ -80,9 +79,8 @@ sin_lu_short( float turns ) static inline float sin_lu_float( float turns ) { - turns = fmodf(turns, 1.0); - int t = (float)sin_table_len * turns; - // assert ( t >= 0 && t < sin_table_len ); + int t = (float)sin_table_len * turns + 0.5f; + t %= sin_table_len; return sin_table_float[t]; }