> -----Original Message----- > From: Beignet [mailto:[email protected]] On Behalf Of > rander > Sent: Monday, March 27, 2017 5:40 PM > To: [email protected] > Cc: Wang, Rander <[email protected]> > Subject: [Beignet] [PATCH] backend: add double support to fmax > > Signed-off-by: rander <[email protected]> > --- > backend/src/libocl/tmpl/ocl_math.tmpl.cl | 15 +++++++++++++++ > backend/src/libocl/tmpl/ocl_math.tmpl.h | 2 ++ > backend/src/libocl/tmpl/ocl_math_20.tmpl.cl | 11 +++++++++++ > backend/src/libocl/tmpl/ocl_math_20.tmpl.h | 2 ++ > 4 files changed, 30 insertions(+) > > diff --git a/backend/src/libocl/tmpl/ocl_math.tmpl.cl > b/backend/src/libocl/tmpl/ocl_math.tmpl.cl > index d526d6c..6978c92 100644 > --- a/backend/src/libocl/tmpl/ocl_math.tmpl.cl > +++ b/backend/src/libocl/tmpl/ocl_math.tmpl.cl > @@ -4333,3 +4333,18 @@ OVERLOADABLE double mad(double a, double b, > double c) > return __gen_ocl_mad(a, b, c); > } > > +OVERLOADABLE double fmax(double a, double b) > +{ > + ulong ua = as_ulong(a); > + ulong ub =as_ulong(b); > + > + if((ua & DF_ABS_MASK) > DF_MAX_NORMAL) return b; > + if((ub & DF_ABS_MASK) > DF_MAX_NORMAL) return a; > + if(ua == DF_POSITIVE_INF) return a; > + if(ub == DF_POSITIVE_INF) return b; > + Hardware cmp on double not conform to IEEE754?
> + double c = a - b; > + return (c >= 0) ? a:b; > +} > + _______________________________________________ Beignet mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/beignet
