RAD Studio
ContentsIndex
PreviousUpNext
Using fastmath math routines

Header File 

fastmath.h  

Category 

Math Routines 

Description 

The FastMath routines are high performance math routines that don't check for most error conditions and never call matherr. They are coded for maximum speed. These functions are never exported from the RTLDLL, which means that they always get linked directly into the PE file that is being created. 

When you include fastmath.h, the following math functions are remapped to these fastmath functions.

Math Routine 
Fastmath Routine 
Math Routine 
Fastmath Routine 
acos 
_fm_acos 
asin 
_fm_asin 
atan 
_fm_atan 
atan2 
_fm_atan2 
cos 
_fm_cos 
cosh 
_fm_cosh 
exp 
_fm_exp 
fabs 
_fm_fabs 
asin 
_fm_asin 
atan 
_fm_atan 
atan2 
_fm_atan2 
cos 
_fm_cos 
cosh 
_fm_cosh 
exp 
_fm_exp 
fabs 
_fm_fabs 
frexp 
_fm_frexp 
hypot 
_fm_hypot 
ldexp 
_fm_ldexp 
log 
_fm_log 
log10 
_fm_log10 
sin 
_fm_sin 
sinh 
_fm_sinh 
sqrt 
_fm_sqr 
tan 
_fm_tan 
tanh 
_fm_tanh 
sincos 
_fm_sincos 
acosl 
_fm_acosl 
asinl 
_fm_asinl 
atan2l 
_fm_atan2l 
atanl 
_fm_atanl 
coshl 
_fm_coshl 
cosl 
_fm_cosl 
expl 
_fm_expl 
fabsl 
_fm_fabsl 
frexpl 
_fm_frexpl 
hypotl 
_fm_hypotl 
ldexpl 
_fm_ldexpl 
log10l 
_fm_log10l 
logl 
_fm_logl 
sinhl 
_fm_sinhl 
sinl 
_fm_sinl 
sqrtl 
_fm_sqrtl 
tanhl 
_fm_tanhl 
tanl 
_fm_tanl 
sincosl 
_fm_sincosl 
atanhl 
_fm_atanhl 
acoshl 
_fm_acoshl 
asinhl 
_fm_asinhl 

If you don't want the standard C function names remapped to the FastMath versions, then define _FM_NO_REMAP. The FastMath routines can still be called with their _fm_xxx names. 

The following additional functions are available in FastMath; they are not directly supported in the regular RTL: 

void _FMAPI _fm_sincos(double __a, double *__x, double *__y); 

void _FMAPI _fm_sincosl(long double __a, long double *__x, long double *__y); 

long double _FMAPI _fm_atanhl (long double __x); 

long double _FMAPI _fm_acoshl (long double __x); 

long double _FMAPI _fm_asinhl (long double __x); 

__inline void _fm_fwait(void) 

unsigned int _FMAPI _fm_init(void); 

_fm_fwait is a special inline function that performs an intrinsic FWAIT instruction. 

_Fm_init is a function that can be called to mask all fpu exceptions prior to using the FastMath routines.

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!