mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
[CRT][NTDLL]
- Separate some _CI* functions into their own files and export them from ntdll. Patch by Vincenzo Cotugno. See issue #7085 for more details. svn path=/trunk/; revision=56961
This commit is contained in:
@@ -1292,11 +1292,11 @@
|
||||
@ stdcall ZwWriteRequestData(ptr ptr long ptr long ptr)
|
||||
@ stdcall ZwWriteVirtualMemory(long ptr ptr long ptr)
|
||||
@ stdcall ZwYieldExecution()
|
||||
;@ cdecl _CIcos
|
||||
;@ cdecl _CIlog
|
||||
;@ cdecl -private -arch=i386 _CIpow()
|
||||
;@ cdecl _CIsin
|
||||
;@ cdecl _CIsqrt
|
||||
@ cdecl -arch=i386 _CIcos()
|
||||
@ cdecl -arch=i386 _CIlog()
|
||||
@ cdecl -arch=i386 _CIpow()
|
||||
@ cdecl -arch=i386 _CIsin()
|
||||
@ cdecl -arch=i386 _CIsqrt()
|
||||
@ cdecl -arch=x86_64 __C_specific_handler(ptr long ptr ptr)
|
||||
@ cdecl __isascii(long)
|
||||
@ cdecl __iscsym(long)
|
||||
|
||||
@@ -131,11 +131,11 @@ list(APPEND CRT_SOURCE
|
||||
misc/stubs.c
|
||||
misc/tls.c
|
||||
printf/_cprintf.c
|
||||
printf/_cwprintf.c
|
||||
printf/_cwprintf.c
|
||||
printf/_snprintf.c
|
||||
printf/_snwprintf.c
|
||||
printf/_vcprintf.c
|
||||
printf/_vcwprintf.c
|
||||
printf/_vcwprintf.c
|
||||
printf/_vscprintf.c
|
||||
printf/_vscwprintf.c
|
||||
printf/_vsnprintf.c
|
||||
@@ -377,6 +377,11 @@ if(ARCH MATCHES i386)
|
||||
math/i386/tan_asm.s
|
||||
math/i386/atan2_asm.s
|
||||
math/i386/ci.c
|
||||
math/i386/cicos.c
|
||||
math/i386/cilog.c
|
||||
math/i386/cipow.c
|
||||
math/i386/cisin.c
|
||||
math/i386/cisqrt.c
|
||||
math/i386/exp_asm.s
|
||||
math/i386/fmod_asm.s
|
||||
math/i386/fmodf_asm.s
|
||||
|
||||
@@ -9,4 +9,18 @@ int _isinf (double); /* not exported */
|
||||
int _isnanl (long double); /* not exported */
|
||||
int _isinfl (long double); /* not exported */
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define FPU_DOUBLE(var) double var; \
|
||||
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var) : )
|
||||
#define FPU_DOUBLES(var1,var2) double var1,var2; \
|
||||
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var2) : ); \
|
||||
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var1) : )
|
||||
#elif defined(_MSC_VER)
|
||||
#define FPU_DOUBLE(var) double var; \
|
||||
__asm { fstp [var] }; __asm { fwait };
|
||||
#define FPU_DOUBLES(var1,var2) double var1,var2; \
|
||||
__asm { fstp [var1] }; __asm { fwait }; \
|
||||
__asm { fstp [var2] }; __asm { fwait };
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -94,6 +94,11 @@ if(ARCH MATCHES i386)
|
||||
math/i386/sqrt_asm.s
|
||||
math/i386/tan_asm.s
|
||||
math/i386/ci.c
|
||||
math/i386/cicos.c
|
||||
math/i386/cilog.c
|
||||
math/i386/cipow.c
|
||||
math/i386/cisin.c
|
||||
math/i386/cisqrt.c
|
||||
misc/i386/readcr4.S)
|
||||
if(NOT MSVC)
|
||||
list(APPEND LIBCNTPR_SOURCE except/i386/chkstk_ms.s)
|
||||
|
||||
@@ -1,36 +1,5 @@
|
||||
#include <precomp.h>
|
||||
#include <math.h>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define FPU_DOUBLE(var) double var; \
|
||||
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var) : )
|
||||
#define FPU_DOUBLES(var1,var2) double var1,var2; \
|
||||
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var2) : ); \
|
||||
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var1) : )
|
||||
#elif defined(_MSC_VER)
|
||||
#define FPU_DOUBLE(var) double var; \
|
||||
__asm { fstp [var] }; __asm { fwait };
|
||||
#define FPU_DOUBLES(var1,var2) double var1,var2; \
|
||||
__asm { fstp [var1] }; __asm { fwait }; \
|
||||
__asm { fstp [var2] }; __asm { fwait };
|
||||
#endif
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIsin(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return sin(x);
|
||||
}
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIcos(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return cos(x);
|
||||
}
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
@@ -103,14 +72,6 @@ double CDECL _CIexp(void)
|
||||
FPU_DOUBLE(x);
|
||||
return exp(x);
|
||||
}
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIlog(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return log(x);
|
||||
}
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
@@ -119,22 +80,6 @@ double CDECL _CIlog10(void)
|
||||
FPU_DOUBLE(x);
|
||||
return log10(x);
|
||||
}
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIpow(void)
|
||||
{
|
||||
FPU_DOUBLES(x, y);
|
||||
return pow(x, y);
|
||||
}
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIsqrt(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return sqrt(x);
|
||||
}
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#include <precomp.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIcos(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return cos(x);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#include <precomp.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIlog(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return log(x);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#include <precomp.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIpow(void)
|
||||
{
|
||||
FPU_DOUBLES(x, y);
|
||||
return pow(x, y);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#include <precomp.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIsin(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return sin(x);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#include <precomp.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
double CDECL _CIsqrt(void)
|
||||
{
|
||||
FPU_DOUBLE(x);
|
||||
return sqrt(x);
|
||||
}
|
||||
@@ -50,6 +50,11 @@ if(ARCH MATCHES i386)
|
||||
except/i386/chkstk_asm.s
|
||||
except/i386/chkstk_ms.s
|
||||
math/i386/ci.c
|
||||
math/i386/cicos.c
|
||||
math/i386/cilog.c
|
||||
math/i386/cipow.c
|
||||
math/i386/cisin.c
|
||||
math/i386/cisqrt.c
|
||||
math/i386/ftol2_asm.s
|
||||
math/i386/alldiv_asm.s)
|
||||
elseif(ARCH MATCHES amd64)
|
||||
|
||||
Reference in New Issue
Block a user