ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ci.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.