#include <clc/clc.h> | |
#include "../clcmacro.h" | |
/* | |
*log(x) = log2(x) * (1/log2(e)) | |
*/ | |
_CLC_OVERLOAD _CLC_DEF float log(float x) | |
{ | |
return log2(x) * (1.0f / M_LOG2E_F); | |
} | |
_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, float, log, float); | |
#ifdef cl_khr_fp64 | |
#pragma OPENCL EXTENSION cl_khr_fp64 : enable | |
_CLC_OVERLOAD _CLC_DEF double log(double x) | |
{ | |
return log2(x) * (1.0 / M_LOG2E); | |
} | |
_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, log, double); | |
#endif // cl_khr_fp64 |