Skip to content

Instantly share code, notes, and snippets.

@shibatch
Created February 8, 2021 01:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shibatch/2daf4e94c01e0de7ae0b99c1931214e3 to your computer and use it in GitHub Desktop.
Save shibatch/2daf4e94c01e0de7ae0b99c1931214e3 to your computer and use it in GitHub Desktop.
#ifndef __FAST_MATH__
#define sin Sleef_sin_u10
#define sinf Sleef_sinf_u10
#define cos Sleef_cos_u10
#define cosf Sleef_cosf_u10
#define tan Sleef_tan_u10
#define tanf Sleef_tanf_u10
#define asin Sleef_asin_u10
#define asinf Sleef_asinf_u10
#define acos Sleef_acos_u10
#define acosf Sleef_acosf_u10
#define atan Sleef_atan_u10
#define atanf Sleef_atanf_u10
#define atan2 Sleef_atan2_u10
#define atan2f Sleef_atan2f_u10
#define sinh Sleef_sinh_u10
#define sinhf Sleef_sinhf_u10
#define cosh Sleef_cosh_u10
#define coshf Sleef_coshf_u10
#define tanh Sleef_tanh_u10
#define tanhf Sleef_tanhf_u10
#define asinh Sleef_asinh_u10
#define asinhf Sleef_asinhf_u10
#define acosh Sleef_acosh_u10
#define acoshf Sleef_acoshf_u10
#define atanh Sleef_atanh_u10
#define atanhf Sleef_atanhf_u10
#define log Sleef_log_u10
#define logf Sleef_logf_u10
#define log2 Sleef_log2_u10
#define log2f Sleef_log2f_u10
#define log10 Sleef_log10_u10
#define log10f Sleef_log10f_u10
#define log1p Sleef_log1p_u10
#define log1pf Sleef_log1pf_u10
#define exp Sleef_exp_u10
#define expf Sleef_expf_u10
#define exp2 Sleef_exp2_u10
#define exp2f Sleef_exp2f_u10
#define exp10 Sleef_exp10_u10
#define exp10f Sleef_exp10f_u10
#define expm1 Sleef_expm1_u10
#define expm1f Sleef_expm1f_u10
#define pow Sleef_pow_u10
#define powf Sleef_powf_u10
#define cbrt Sleef_cbrt_u10
#define cbrtf Sleef_cbrtf_u10
#define hypot Sleef_hypot_u05
#define hypotf Sleef_hypotf_u05
#define erf Sleef_erf_u10
#define erff Sleef_erff_u10
#define fmod Sleef_fmod
#define fmodf Sleef_fmodf
#define remainder Sleef_remainder
#define remainderf Sleef_remainderf
#else // #ifndef __FAST_MATH__
#define sin Sleef_sin_u35
#define sinf Sleef_sinf_u35
#define cos Sleef_cos_u35
#define cosf Sleef_cosf_u35
#define tan Sleef_tan_u35
#define tanf Sleef_tanf_u35
#define asin Sleef_asin_u35
#define asinf Sleef_asinf_u35
#define acos Sleef_acos_u35
#define acosf Sleef_acosf_u35
#define atan Sleef_atan_u35
#define atanf Sleef_atanf_u35
#define atan2 Sleef_atan2_u35
#define atan2f Sleef_atan2f_u35
#define sinh Sleef_sinh_u35
#define sinhf Sleef_sinhf_u35
#define cosh Sleef_cosh_u35
#define coshf Sleef_coshf_u35
#define tanh Sleef_tanh_u35
#define tanhf Sleef_tanhf_u35
#define asinh Sleef_asinh_u10
#define asinhf Sleef_asinhf_u10
#define acosh Sleef_acosh_u10
#define acoshf Sleef_acoshf_u10
#define atanh Sleef_atanh_u10
#define atanhf Sleef_atanhf_u10
#define log Sleef_log_u35
#define logf Sleef_logf_u35
#define log2 Sleef_log2_u10
#define log2f Sleef_log2f_u10
#define log10 Sleef_log10_u10
#define log10f Sleef_log10f_u10
#define log1p Sleef_log1p_u10
#define log1pf Sleef_log1pf_u10
#define exp Sleef_exp_u10
#define expf Sleef_expf_u10
#define exp2 Sleef_exp2_u10
#define exp2f Sleef_exp2f_u10
#define exp10 Sleef_exp10_u10
#define exp10f Sleef_exp10f_u10
#define expm1 Sleef_expm1_u10
#define expm1f Sleef_expm1f_u10
#define pow Sleef_pow_u10
#define powf Sleef_powf_u10
#define cbrt Sleef_cbrt_u35
#define cbrtf Sleef_cbrtf_u35
#define hypot Sleef_hypot_u35
#define hypotf Sleef_hypotf_u35
#define erf Sleef_erf_u10
#define erff Sleef_erff_u10
#define fmod Sleef_fmod
#define fmodf Sleef_fmodf
#define remainder Sleef_remainder
#define remainderf Sleef_remainderf
#endif // #ifndef __FAST_MATH__
@shibatch
Copy link
Author

shibatch commented Feb 8, 2021

This header file provides a primitive way of substituting math.h functions with sleef functions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment