Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenieee754.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 typedef __int32 int32_t; 00004 typedef unsigned __int32 u_int32_t; 00005 00006 typedef union 00007 { 00008 double value; 00009 struct 00010 { 00011 u_int32_t lsw; 00012 u_int32_t msw; 00013 } parts; 00014 } ieee_double_shape_type; 00015 00016 #define EXTRACT_WORDS(ix0,ix1,d) \ 00017 do { \ 00018 ieee_double_shape_type ew_u; \ 00019 ew_u.value = (d); \ 00020 (ix0) = ew_u.parts.msw; \ 00021 (ix1) = ew_u.parts.lsw; \ 00022 } while (0) 00023 00024 /* Get the more significant 32 bit int from a double. */ 00025 00026 #define GET_HIGH_WORD(i,d) \ 00027 do { \ 00028 ieee_double_shape_type gh_u; \ 00029 gh_u.value = (d); \ 00030 (i) = gh_u.parts.msw; \ 00031 } while (0) 00032 00033 #define GET_LOW_WORD(i,d) \ 00034 do { \ 00035 ieee_double_shape_type gl_u; \ 00036 gl_u.value = (d); \ 00037 (i) = gl_u.parts.lsw; \ 00038 } while (0) 00039 00040 static __inline double __ieee754_sqrt(double x) {return sqrt(x);} 00041 static __inline double __ieee754_log(double x) {return log(x);} 00042 static __inline double __cos(double x) {return cos(x);} 00043 static __inline void __sincos(double x, double *s, double *c) 00044 { 00045 *s = sin(x); 00046 *c = cos(x); 00047 } 00048 00049 double __ieee754_j0(double); 00050 double __ieee754_j1(double); 00051 double __ieee754_jn(int, double); 00052 double __ieee754_y0(double); 00053 double __ieee754_y1(double); 00054 double __ieee754_yn(int, double); Generated on Tue May 22 2012 04:40:40 for ReactOS by
1.7.6.1
|