[Libclc-dev] [PATCH] Add exp10

Jeroen Ketema j.ketema at imperial.ac.uk
Tue Jun 24 03:02:22 PDT 2014


Gentle nudge.

Jeroen

On 13 Jun 2014, at 12:20, Jeroen Ketema <j.ketema at imperial.ac.uk> wrote:

> ---
> generic/include/clc/clc.h               |  2 ++
> generic/include/clc/math/exp10.h        |  9 +++++++++
> generic/include/clc/math/native_exp10.h |  1 +
> generic/lib/SOURCES                     |  1 +
> generic/lib/math/exp10.cl               |  8 ++++++++
> generic/lib/math/exp10.inc              | 10 ++++++++++
> 6 files changed, 31 insertions(+)
> create mode 100644 generic/include/clc/math/exp10.h
> create mode 100644 generic/include/clc/math/native_exp10.h
> create mode 100644 generic/lib/math/exp10.cl
> create mode 100644 generic/lib/math/exp10.inc
> 
> diff --git a/generic/include/clc/clc.h b/generic/include/clc/clc.h
> index f8c1853..a4859fc 100644
> --- a/generic/include/clc/clc.h
> +++ b/generic/include/clc/clc.h
> @@ -35,6 +35,7 @@
> #include <clc/math/cos.h>
> #include <clc/math/ceil.h>
> #include <clc/math/exp.h>
> +#include <clc/math/exp10.h>
> #include <clc/math/exp2.h>
> #include <clc/math/fabs.h>
> #include <clc/math/floor.h>
> @@ -56,6 +57,7 @@
> #include <clc/math/native_cos.h>
> #include <clc/math/native_divide.h>
> #include <clc/math/native_exp.h>
> +#include <clc/math/native_exp10.h>
> #include <clc/math/native_exp2.h>
> #include <clc/math/native_log.h>
> #include <clc/math/native_log2.h>
> diff --git a/generic/include/clc/math/exp10.h b/generic/include/clc/math/exp10.h
> new file mode 100644
> index 0000000..a1d426a
> --- /dev/null
> +++ b/generic/include/clc/math/exp10.h
> @@ -0,0 +1,9 @@
> +#undef exp10
> +
> +#define __CLC_BODY <clc/math/unary_decl.inc>
> +#define __CLC_FUNCTION exp10
> +
> +#include <clc/math/gentype.inc>
> +
> +#undef __CLC_BODY
> +#undef __CLC_FUNCTION
> diff --git a/generic/include/clc/math/native_exp10.h b/generic/include/clc/math/native_exp10.h
> new file mode 100644
> index 0000000..1156f58
> --- /dev/null
> +++ b/generic/include/clc/math/native_exp10.h
> @@ -0,0 +1 @@
> +#define native_exp10 exp10
> diff --git a/generic/lib/SOURCES b/generic/lib/SOURCES
> index a35542c..7dbcf2e 100644
> --- a/generic/lib/SOURCES
> +++ b/generic/lib/SOURCES
> @@ -28,6 +28,7 @@ integer/sub_sat_if.ll
> integer/sub_sat_impl.ll
> integer/upsample.cl
> math/exp.cl
> +math/exp10.cl
> math/fmax.cl
> math/fmin.cl
> math/hypot.cl
> diff --git a/generic/lib/math/exp10.cl b/generic/lib/math/exp10.cl
> new file mode 100644
> index 0000000..c8039cb
> --- /dev/null
> +++ b/generic/lib/math/exp10.cl
> @@ -0,0 +1,8 @@
> +#include <clc/clc.h>
> +
> +#ifdef cl_khr_fp64
> +#pragma OPENCL EXTENSION cl_khr_fp64 : enable
> +#endif
> +
> +#define __CLC_BODY <exp10.inc>
> +#include <clc/math/gentype.inc>
> diff --git a/generic/lib/math/exp10.inc b/generic/lib/math/exp10.inc
> new file mode 100644
> index 0000000..a592c19
> --- /dev/null
> +++ b/generic/lib/math/exp10.inc
> @@ -0,0 +1,10 @@
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE exp10(__CLC_GENTYPE val) {
> +  // exp10(x) = exp2(x * log2(10))
> +#if __CLC_FPSIZE == 32
> +  return exp2(val * log2(10.0f));
> +#elif __CLC_FPSIZE == 64
> +  return exp2(val * log2(10.0));
> +#else
> +#error unknown _CLC_FPSIZE
> +#endif
> +}
> -- 
> 1.8.5.2 (Apple Git-48)
> 





More information about the Libclc-dev mailing list