[Piglit] [PATCH 4/5] cl: Add isnotequal(float, float) relational tests

Tom Stellard tom at stellard.net
Tue Jun 17 07:14:17 PDT 2014


On Tue, Jun 17, 2014 at 08:45:03AM -0500, Aaron Watry wrote:
> On Fri, Jun 13, 2014 at 3:52 AM, Bruno Jimenez <brunojimen at gmail.com> wrote:
> > On Thu, 2014-06-12 at 19:32 -0400, Tom Stellard wrote:
> >> On Wed, Jun 11, 2014 at 02:14:14PM -0500, Aaron Watry wrote:
> >> > Signed-off-by: Aaron Watry <awatry at gmail.com>
> >> > ---
> >> >  generated_tests/generate-cl-relational-builtins.py | 12 +++++++++++-
> >> >  1 file changed, 11 insertions(+), 1 deletion(-)
> >> >
> >> > diff --git a/generated_tests/generate-cl-relational-builtins.py b/generated_tests/generate-cl-relational-builtins.py
> >> > index 97e6be6..f22f5d1 100644
> >> > --- a/generated_tests/generate-cl-relational-builtins.py
> >> > +++ b/generated_tests/generate-cl-relational-builtins.py
> >> > @@ -32,7 +32,8 @@ from genclbuiltins import gen, TRUE
> >> >  CLC_VERSION_MIN = {
> >> >      'isnan' : 10,
> >> >      'isgreater' : 10,
> >> > -    'isgreaterequal' : 10
> >> > +    'isgreaterequal' : 10,
> >> > +    'isnotequal' : 10,
> >> >  }
> >> >
> >> >  DATA_TYPES = ['float']
> >> > @@ -71,6 +72,15 @@ tests = {
> >> >              [0.0,  float("nan"), 1.0,  1,            float("nan"), float("inf"), 1.0,  0.5 ], # Arg0
> >> >              [0.0,  float("nan"), 1.0,  float("nan"), 1,            float("inf"), 0.5,  1.0 ]  # Arg1
> >> >          ]
> >> > +    },
> >> > +    'isnotequal' : {
> >> > +        'arg_types': [I, F, F],
> >> > +        'function_type': 'ttt',
> >> > +        'values': [
> >> > +            [0,    TRUE,         0,    TRUE,         TRUE,         0,            TRUE, TRUE],    # Result
> >>
> >> I think comparisons involving nan are always false, so the three nan
> >> cases should be changed to 0.  You might want to double check this,
> >> though.
> >
> > Hi,
> >
> > That's not entirely true, there's an exception here (too many exceptions
> > i'm finding in this language) According to the spec for OpenCL 1.2
> > section 6.12.6 "Relational Functions"
> >
> > "The relational functions isequal, isgreater, isgreaterequal, isless,
> > islessequal, and islessgreater always return 0 if either argument is not
> > a number (NAN) [ok here]. isnotequal returns 1 if one or both arguments
> > are not a number (NAN) and the argument type is a scalar and returns -1
> > if one or both arguments are not a number (NAN) and the argument type is
> > a vector. [exceptions...]"
> >
> > Bruno
> 
> Yeah, Bruno beat me to it.  isnotequal is different from the other
> relational functions with respect to NAN reporting.
> 
> We good with this one?
> 

Yes, feel free to commit.

-Tom

> --Aaron
> 
> >>
> >> -Tom
> >>
> >> > +            [0.0,  float("nan"), 1.0,  1,            float("nan"), float("inf"), 1.0,  0.5 ], # Arg0
> >> > +            [0.0,  float("nan"), 1.0,  float("nan"), 1,            float("inf"), 0.5,  1.0 ]  # Arg1
> >> > +        ]
> >> >      }
> >> >  }
> >> >
> >> > --
> >> > 1.9.1
> >> >
> >> _______________________________________________
> >> Piglit mailing list
> >> Piglit at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/piglit
> >
> >


More information about the Piglit mailing list