Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenci.c
Go to the documentation of this file.
00001 #include <precomp.h> 00002 #include <math.h> 00003 00004 #if defined(__GNUC__) 00005 #define FPU_DOUBLE(var) double var; \ 00006 __asm__ __volatile__( "fstpl %0;fwait" : "=m" (var) : ) 00007 #define FPU_DOUBLES(var1,var2) double var1,var2; \ 00008 __asm__ __volatile__( "fstpl %0;fwait" : "=m" (var2) : ); \ 00009 __asm__ __volatile__( "fstpl %0;fwait" : "=m" (var1) : ) 00010 #elif defined(_MSC_VER) 00011 #define FPU_DOUBLE(var) double var; \ 00012 __asm { fstp [var] }; __asm { fwait }; 00013 #define FPU_DOUBLES(var1,var2) double var1,var2; \ 00014 __asm { fstp [var1] }; __asm { fwait }; \ 00015 __asm { fstp [var2] }; __asm { fwait }; 00016 #endif 00017 00018 /* 00019 * @implemented 00020 */ 00021 double CDECL _CIsin(void) 00022 { 00023 FPU_DOUBLE(x); 00024 return sin(x); 00025 } 00026 /* 00027 * @implemented 00028 */ 00029 double CDECL _CIcos(void) 00030 { 00031 FPU_DOUBLE(x); 00032 return cos(x); 00033 } 00034 /* 00035 * @implemented 00036 */ 00037 double CDECL _CItan(void) 00038 { 00039 FPU_DOUBLE(x); 00040 return tan(x); 00041 } 00042 /* 00043 * @implemented 00044 */ 00045 double CDECL _CIsinh(void) 00046 { 00047 FPU_DOUBLE(x); 00048 return sinh(x); 00049 } 00050 /* 00051 * @implemented 00052 */ 00053 double CDECL _CIcosh(void) 00054 { 00055 FPU_DOUBLE(x); 00056 return cosh(x); 00057 } 00058 /* 00059 * @implemented 00060 */ 00061 double CDECL _CItanh(void) 00062 { 00063 FPU_DOUBLE(x); 00064 return tanh(x); 00065 } 00066 /* 00067 * @implemented 00068 */ 00069 double CDECL _CIasin(void) 00070 { 00071 FPU_DOUBLE(x); 00072 return asin(x); 00073 } 00074 /* 00075 * @implemented 00076 */ 00077 double CDECL _CIacos(void) 00078 { 00079 FPU_DOUBLE(x); 00080 return acos(x); 00081 } 00082 /* 00083 * @implemented 00084 */ 00085 double CDECL _CIatan(void) 00086 { 00087 FPU_DOUBLE(x); 00088 return atan(x); 00089 } 00090 /* 00091 * @implemented 00092 */ 00093 double CDECL _CIatan2(void) 00094 { 00095 FPU_DOUBLES(x, y); 00096 return atan2(x, y); 00097 } 00098 /* 00099 * @implemented 00100 */ 00101 double CDECL _CIexp(void) 00102 { 00103 FPU_DOUBLE(x); 00104 return exp(x); 00105 } 00106 /* 00107 * @implemented 00108 */ 00109 double CDECL _CIlog(void) 00110 { 00111 FPU_DOUBLE(x); 00112 return log(x); 00113 } 00114 /* 00115 * @implemented 00116 */ 00117 double CDECL _CIlog10(void) 00118 { 00119 FPU_DOUBLE(x); 00120 return log10(x); 00121 } 00122 /* 00123 * @implemented 00124 */ 00125 double CDECL _CIpow(void) 00126 { 00127 FPU_DOUBLES(x, y); 00128 return pow(x, y); 00129 } 00130 /* 00131 * @implemented 00132 */ 00133 double CDECL _CIsqrt(void) 00134 { 00135 FPU_DOUBLE(x); 00136 return sqrt(x); 00137 } 00138 /* 00139 * @implemented 00140 */ 00141 double CDECL _CIfmod(void) 00142 { 00143 FPU_DOUBLES(x, y); 00144 return fmod(x, y); 00145 } Generated on Sat May 26 2012 04:35:26 for ReactOS by
1.7.6.1
|