/* | |
* Note: tan(x) = sin(x)/cos(x) also, but the final assembly ends up being | |
* twice as long for R600 (maybe for others as well). | |
*/ | |
#if __CLC_FPSIZE == 32 | |
#define __CLC_CONST(x) x ## f | |
#else | |
#define __CLC_CONST(x) x | |
#endif | |
_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE tan(__CLC_GENTYPE x) { | |
__CLC_GENTYPE sinx = sin(x); | |
return sinx / sqrt( (__CLC_GENTYPE) __CLC_CONST(1.0) - (sinx*sinx) ); | |
} | |
#undef __CLC_CONST |