https://github.com/libsdl-org/SDL/commit/03a3c19c276d35126b752360ed050c606925652e
From 03a3c19c276d35126b752360ed050c606925652e Mon Sep 17 00:00:00 2001
From: mausimus <[EMAIL REDACTED]>
Date: Mon, 13 Jan 2025 19:38:10 +0900
Subject: [PATCH] examples: use doubles to generate sine waves and avoid
distortion
---
examples/audio/01-simple-playback/simple-playback.c | 4 ++--
.../02-simple-playback-callback/simple-playback-callback.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/examples/audio/01-simple-playback/simple-playback.c b/examples/audio/01-simple-playback/simple-playback.c
index ae6eabd041bca..a2b95bf0765ef 100644
--- a/examples/audio/01-simple-playback/simple-playback.c
+++ b/examples/audio/01-simple-playback/simple-playback.c
@@ -76,9 +76,9 @@ SDL_AppResult SDL_AppIterate(void *appstate)
for (i = 0; i < SDL_arraysize(samples); i++) {
/* You don't have to care about this math; we're just generating a simple sine wave as we go.
https://en.wikipedia.org/wiki/Sine_wave */
- const float time = total_samples_generated / 8000.0f;
+ const double time = total_samples_generated / 8000.0;
const int sine_freq = 500; /* run the wave at 500Hz */
- samples[i] = SDL_sinf(6.283185f * sine_freq * time);
+ samples[i] = (float)SDL_sin(6.283185 * sine_freq * time);
total_samples_generated++;
}
diff --git a/examples/audio/02-simple-playback-callback/simple-playback-callback.c b/examples/audio/02-simple-playback-callback/simple-playback-callback.c
index 47d5098d4af6c..f91aaa6ee2204 100644
--- a/examples/audio/02-simple-playback-callback/simple-playback-callback.c
+++ b/examples/audio/02-simple-playback-callback/simple-playback-callback.c
@@ -36,9 +36,9 @@ static void SDLCALL FeedTheAudioStreamMore(void *userdata, SDL_AudioStream *astr
for (i = 0; i < total; i++) {
/* You don't have to care about this math; we're just generating a simple sine wave as we go.
https://en.wikipedia.org/wiki/Sine_wave */
- const float time = total_samples_generated / 8000.0f;
+ const double time = total_samples_generated / 8000.0;
const int sine_freq = 500; /* run the wave at 500Hz */
- samples[i] = SDL_sinf(6.283185f * sine_freq * time);
+ samples[i] = (float)SDL_sin(6.283185 * sine_freq * time);
total_samples_generated++;
}