port from perforce
This commit is contained in:
91
evoke-64k/ev09/intrin.h
Normal file
91
evoke-64k/ev09/intrin.h
Normal file
@@ -0,0 +1,91 @@
|
||||
#pragma once
|
||||
|
||||
unsigned int myrand();
|
||||
|
||||
extern const float c_2PI;
|
||||
extern const float c_PI;
|
||||
|
||||
#ifdef SUPERSMALL
|
||||
extern "C"
|
||||
{
|
||||
__declspec(naked) void _ftol2()
|
||||
{
|
||||
__asm
|
||||
{
|
||||
fistp DWORD PTR [esp-12]
|
||||
mov eax, DWORD PTR [esp-12]
|
||||
mov ecx, DWORD PTR [esp-8]
|
||||
|
||||
ret
|
||||
}
|
||||
}
|
||||
__declspec(naked) void _ftol2_sse()
|
||||
{
|
||||
__asm
|
||||
{
|
||||
fistp DWORD PTR [esp-12]
|
||||
mov eax, DWORD PTR [esp-12]
|
||||
mov ecx, DWORD PTR [esp-8]
|
||||
|
||||
ret
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
__forceinline float mypow( float a, float b);
|
||||
#endif
|
||||
|
||||
|
||||
extern "C"
|
||||
{
|
||||
double __cdecl sin(double);
|
||||
double __cdecl cos(double);
|
||||
double __cdecl sqrt(double);
|
||||
double __cdecl fabs(double);
|
||||
double __cdecl atan2(double, double);
|
||||
|
||||
void* __cdecl memcpy( void* dest, const void* src, size_t count );
|
||||
}
|
||||
|
||||
#pragma intrinsic ( sin, cos, sqrt, fabs, atan2 ) // true intrinsic
|
||||
#pragma intrinsic ( memcpy ) // true intrinsic
|
||||
|
||||
/*
|
||||
__forceinline double sin(double v)
|
||||
{
|
||||
__asm fld v;
|
||||
__asm fsin;
|
||||
__asm fstp v;
|
||||
return v;
|
||||
}
|
||||
|
||||
|
||||
float cos(float v)
|
||||
{
|
||||
__asm fld v;
|
||||
__asm fcos;
|
||||
__asm fstp v;
|
||||
return v;
|
||||
}
|
||||
*/
|
||||
/*float sqrt(float v)
|
||||
{
|
||||
__asm finit;
|
||||
__asm fld v;
|
||||
__asm fsqrt;
|
||||
__asm fstp v;
|
||||
return v;
|
||||
}*/
|
||||
|
||||
/*float abs(float X)
|
||||
{
|
||||
if(X < 0.0f)
|
||||
return -X;
|
||||
|
||||
return X;
|
||||
}*/
|
||||
|
||||
float maximum(float X, float Y);
|
||||
|
||||
float minimum(float X, float Y);
|
||||
Reference in New Issue
Block a user