CrtSSE2Math.h 1.5 KB

1234567891011121314151617181920212223242526272829
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. #pragma once
  6. #if _M_IX86
  7. // This CRT routines skip some special condition checks for FPU state
  8. // These routines are not expected to be called outside of the CRT, so using these should
  9. // be re-evaluated when upgrading toolsets.
  10. // Mark them explicitly as dllimport to workaround VC bug (Dev11:909888)
  11. #ifdef USE_STATIC_RUNTIMELIB
  12. #define _DLLIMPORT
  13. #else
  14. #define _DLLIMPORT __declspec(dllimport)
  15. #endif
  16. extern "C" double _DLLIMPORT __cdecl __libm_sse2_acos(double);
  17. extern "C" double _DLLIMPORT __cdecl __libm_sse2_asin(double);
  18. extern "C" double _DLLIMPORT __cdecl __libm_sse2_atan(double);
  19. extern "C" double _DLLIMPORT __cdecl __libm_sse2_atan2(double,double);
  20. extern "C" double _DLLIMPORT __cdecl __libm_sse2_cos(double);
  21. extern "C" double _DLLIMPORT __cdecl __libm_sse2_exp(double);
  22. extern "C" double _DLLIMPORT __cdecl __libm_sse2_pow(double,double);
  23. extern "C" double _DLLIMPORT __cdecl __libm_sse2_log(double);
  24. extern "C" double _DLLIMPORT __cdecl __libm_sse2_log10(double);
  25. extern "C" double _DLLIMPORT __cdecl __libm_sse2_sin(double);
  26. extern "C" double _DLLIMPORT __cdecl __libm_sse2_tan(double);
  27. #undef _DLLIMPORT
  28. #endif