[Libclc-dev] [PATCH] Move definition of INFINITY

Matt Arsenault Matthew.Arsenault at amd.com
Wed Jun 11 16:04:29 PDT 2014


On 06/11/2014 03:59 PM, Matt Arsenault wrote:
> On 06/11/2014 03:54 PM, Jeroen Ketema wrote:
>> You probably want to put parentheses around that (just in case).
>>
>> #define INFINITY (1.0f / 0.0f)
>>
>> Otherwise, looks good to me. The same should probably be done for 
>> NAN, which I think also occurs somewhere already.
>>
>> Jeroen
> This should be ___builtin_inf/  __builtin_inff
>
> I believe these will have different warning behaviour

Yes, this changes at least -Wfloat-equal


kernel void foo(global int* out, float x)
{
     *out = (1.0f / 0.0f) == x; // warning: comparing floating point 
with == or != is unsafe [-Wfloat-equal]
}

kernel void bar(global int* out, float x)
{
     *out = __builtin_inff() == x; // No warning
}


>> On 11 Jun 2014, at 20:29, Aaron Watry <awatry at gmail.com> wrote:
>>
>>> We were missing a declaration of INFINITY in the clc headers and 
>>> already
>>> had one in gen_convert.py
>>>
>>> NOTE: This may not necessarily be the correct value of INFINITY 
>>> based on
>>> the cl_platform.h headers
>>>
>>> Signed-off-by: Aaron Watry <awatry at gmail.com>
>>> ---
>>> generic/include/clc/float/definitions.h | 2 ++
>>> generic/lib/gen_convert.py              | 2 --
>>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/generic/include/clc/float/definitions.h 
>>> b/generic/include/clc/float/definitions.h
>>> index af54fdf..1446ad9 100644
>>> --- a/generic/include/clc/float/definitions.h
>>> +++ b/generic/include/clc/float/definitions.h
>>> @@ -1,3 +1,5 @@
>>> +#define INFINITY 1.0f / 0.0f
>>> +
>>> #define FLT_DIG         6
>>> #define FLT_MANT_DIG    24
>>> #define FLT_MAX_10_EXP  +38
>>> diff --git a/generic/lib/gen_convert.py b/generic/lib/gen_convert.py
>>> index 8e54f0c..f91a89a 100644
>>> --- a/generic/lib/gen_convert.py
>>> +++ b/generic/lib/gen_convert.py
>>> @@ -144,8 +144,6 @@ print("""/* !!!! AUTOGENERATED FILE generated by 
>>> convert_type.py !!!!!
>>> #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>>> #endif
>>>
>>> -#define INFINITY 1.0f / 0.0f
>>> -
>>> """)
>>>
>>> #
>>> -- 
>>> 1.9.1
>>>
>>>
>>> _______________________________________________
>>> Libclc-dev mailing list
>>> Libclc-dev at pcc.me.uk
>>> http://www.pcc.me.uk/cgi-bin/mailman/listinfo/libclc-dev
>>
>> _______________________________________________
>> Libclc-dev mailing list
>> Libclc-dev at pcc.me.uk
>> http://www.pcc.me.uk/cgi-bin/mailman/listinfo/libclc-dev
>
>
> _______________________________________________
> Libclc-dev mailing list
> Libclc-dev at pcc.me.uk
> http://www.pcc.me.uk/cgi-bin/mailman/listinfo/libclc-dev





More information about the Libclc-dev mailing list