25 #include "../../os_types.h" 29 #ifndef _V_IFDEFJAIL_H_ 30 # define _V_IFDEFJAIL_H_ 33 # define STIN static __inline__ 35 # define STIN static __inline 41 # define rint(x) (floor((x)+0.5f)) 45 # define M_PI (3.1415926536f) 48 #if defined(_WIN32) && !defined(__SYMBIAN32__) 50 # define rint(x) (floor((x)+0.5f)) 51 # define NO_FLOAT_MATH_LIB 52 # define FAST_HYPOT(a, b) sqrt((a)*(a) + (b)*(b)) 55 #if defined(__SYMBIAN32__) && defined(__WINS__) 56 void *_alloca(
size_t size);
57 # define alloca _alloca 61 # define FAST_HYPOT hypot 75 # define min(x,y) ((x)>(y)?(y):(x)) 79 # define max(x,y) ((x)<(y)?(y):(x)) 84 #if defined(__i386__) && defined(__GNUC__) && !defined(__BEOS__) 85 # define VORBIS_FPU_CONTROL 98 __asm__ __volatile__(
"fnstcw %0\n\t" 100 "andw $62463,%%dx\n\t" 102 "fldcw %1\n\t":
"=m"(ret):
"m"(temp):
"dx");
107 __asm__ __volatile__(
"fldcw %0"::
"m"(fpu));
111 static inline int vorbis_ftoi(
double f){
115 __asm__(
"fistl %0":
"=m"(i) :
"t"(f));
123 #if defined(_MSC_VER) && !defined(_WIN64) && !defined(_WIN32_WCE) 124 # define VORBIS_FPU_CONTROL 128 static __inline
int vorbis_ftoi(
double f){
148 #if (defined(_MSC_VER) && defined(_WIN64)) || (defined(__GNUC__) && defined (__x86_64__)) 149 # define VORBIS_FPU_CONTROL 153 #include <emmintrin.h> 154 static __inline
int vorbis_ftoi(
double f){
155 return _mm_cvtsd_si32(_mm_load_sd(&f));
169 #ifndef VORBIS_FPU_CONTROL 173 static int vorbis_ftoi(
double f){
177 return (
int)floor(f+.5);
181 # define vorbis_fpu_setround(vorbis_fpu_control) {} 182 # define vorbis_fpu_restore(vorbis_fpu_control) {}
#define vorbis_fpu_setround(vorbis_fpu_control)
Definition: os.h:181
int vorbis_fpu_control
Definition: os.h:171
#define vorbis_fpu_restore(vorbis_fpu_control)
Definition: os.h:182
int16_t ogg_int16_t
Definition: config_types.h:4