#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);