Browse Source

stdlib: An implementation of SDL_scalbn using ldexp() (thanks, Ozkan!).

Fixes Bugzilla #3767.
Ryan C. Gordon 7 years ago
parent
commit
620f5342b5
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/stdlib/SDL_stdlib.c

+ 4 - 0
src/stdlib/SDL_stdlib.c

@@ -187,6 +187,10 @@ SDL_scalbn(double x, int n)
     return scalbn(x, n);
 #elif defined(HAVE__SCALB)
     return _scalb(x, n);
+#elif defined(HAVE_LIBC) && defined(HAVE_FLOAT_H) && (FLT_RADIX == 2)
+/* from scalbn(3): If FLT_RADIX equals 2 (which is
+ * usual), then scalbn() is equivalent to ldexp(3). */
+    return ldexp(x, n);
 #else
     return SDL_uclibc_scalbn(x, n);
 #endif /* HAVE_SCALBN */