diff options
author | Jan Vesely <jan.vesely@rutgers.edu> | 2015-05-09 22:31:01 +0000 |
---|---|---|
committer | Jan Vesely <jan.vesely@rutgers.edu> | 2015-05-09 22:31:01 +0000 |
commit | b25cbb32d726217f60c9ac24ba6cdeeff2c80b8c (patch) | |
tree | 6264105e016a047acdb465854c0150fcec6494e4 | |
parent | 8354ce148a16101a9f588058fcb76d1b2e4ac9e6 (diff) |
geometric: Limit fast_{distance,length} functions to single precision
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/libclc/trunk@236940 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | generic/include/clc/geometric/fast_distance.h | 2 | ||||
-rw-r--r-- | generic/include/clc/geometric/fast_length.h | 2 | ||||
-rw-r--r-- | generic/lib/geometric/fast_distance.cl | 6 | ||||
-rw-r--r-- | generic/lib/geometric/fast_length.cl | 21 |
4 files changed, 6 insertions, 25 deletions
diff --git a/generic/include/clc/geometric/fast_distance.h b/generic/include/clc/geometric/fast_distance.h index 91b3fe5..a84f70b 100644 --- a/generic/include/clc/geometric/fast_distance.h +++ b/generic/include/clc/geometric/fast_distance.h @@ -21,4 +21,6 @@ */ #define __CLC_BODY <clc/geometric/fast_distance.inc> +#define __FLOAT_ONLY #include <clc/geometric/floatn.inc> +#undef __FLOAT_ONLY diff --git a/generic/include/clc/geometric/fast_length.h b/generic/include/clc/geometric/fast_length.h index 2c7b80a..1d894b6 100644 --- a/generic/include/clc/geometric/fast_length.h +++ b/generic/include/clc/geometric/fast_length.h @@ -21,4 +21,6 @@ */ #define __CLC_BODY <clc/geometric/fast_length.inc> +#define __FLOAT_ONLY #include <clc/geometric/floatn.inc> +#undef __FLOAT_ONLY diff --git a/generic/lib/geometric/fast_distance.cl b/generic/lib/geometric/fast_distance.cl index 47c9d7a..0a4f82c 100644 --- a/generic/lib/geometric/fast_distance.cl +++ b/generic/lib/geometric/fast_distance.cl @@ -22,9 +22,7 @@ #include <clc/clc.h> -#ifdef cl_khr_fp64 -#pragma OPENCL EXTENSION cl_khr_fp64 : enable -#endif - #define __CLC_BODY <fast_distance.inc> +#define __FLOAT_ONLY #include <clc/geometric/floatn.inc> +#undef __FLOAT_ONLY diff --git a/generic/lib/geometric/fast_length.cl b/generic/lib/geometric/fast_length.cl index 425dcf7..8f6ffc6 100644 --- a/generic/lib/geometric/fast_length.cl +++ b/generic/lib/geometric/fast_length.cl @@ -37,24 +37,3 @@ _CLC_OVERLOAD _CLC_DEF float fast_length(float3 p) { _CLC_OVERLOAD _CLC_DEF float fast_length(float4 p) { return half_sqrt(dot(p, p)); } - -#ifdef cl_khr_fp64 -#pragma OPENCL EXTENSION cl_khr_fp64 : enable - -_CLC_OVERLOAD _CLC_DEF double fast_length(double p) { - return fabs(p); -} - -_CLC_OVERLOAD _CLC_DEF double fast_length(double2 p) { - return half_sqrt(dot(p, p)); -} - -_CLC_OVERLOAD _CLC_DEF double fast_length(double3 p) { - return half_sqrt(dot(p, p)); -} - -_CLC_OVERLOAD _CLC_DEF double fast_length(double4 p) { - return half_sqrt(dot(p, p)); -} - -#endif |