Lines Matching refs:ArithmeticOp
95 enum class ArithmeticOp enum
109 static const char *const operation_names(ArithmeticOp operation) in operation_names()
113 case ArithmeticOp::add_: return "add"; in operation_names()
114 case ArithmeticOp::max_: return "max"; in operation_names()
115 case ArithmeticOp::min_: return "min"; in operation_names()
116 case ArithmeticOp::mul_: return "mul"; in operation_names()
117 case ArithmeticOp::and_: return "and"; in operation_names()
118 case ArithmeticOp::or_: return "or"; in operation_names()
119 case ArithmeticOp::xor_: return "xor"; in operation_names()
120 case ArithmeticOp::logical_and: return "logical_and"; in operation_names()
121 case ArithmeticOp::logical_or: return "logical_or"; in operation_names()
122 case ArithmeticOp::logical_xor: return "logical_xor"; in operation_names()
350 static const Ty identify_limits(ArithmeticOp operation) in identify_limits()
354 case ArithmeticOp::add_: return (Ty)0; in identify_limits()
355 case ArithmeticOp::max_: return (std::numeric_limits<Ty>::min)(); in identify_limits()
356 case ArithmeticOp::min_: return (std::numeric_limits<Ty>::max)(); in identify_limits()
357 case ArithmeticOp::mul_: return (Ty)1; in identify_limits()
358 case ArithmeticOp::and_: return (Ty)~0; in identify_limits()
359 case ArithmeticOp::or_: return (Ty)0; in identify_limits()
360 case ArithmeticOp::xor_: return (Ty)0; in identify_limits()
373 static cl_int identify_limits(ArithmeticOp operation)
377 case ArithmeticOp::add_: return (cl_int)0;
378 case ArithmeticOp::max_:
380 case ArithmeticOp::min_:
382 case ArithmeticOp::mul_: return (cl_int)1;
383 case ArithmeticOp::and_: return (cl_int)~0;
384 case ArithmeticOp::or_: return (cl_int)0;
385 case ArithmeticOp::xor_: return (cl_int)0;
386 case ArithmeticOp::logical_and: return (cl_int)1;
387 case ArithmeticOp::logical_or: return (cl_int)0;
388 case ArithmeticOp::logical_xor: return (cl_int)0;
793 static cl_float identify_limits(ArithmeticOp operation)
797 case ArithmeticOp::add_: return 0.0f;
798 case ArithmeticOp::max_:
800 case ArithmeticOp::min_:
802 case ArithmeticOp::mul_: return (cl_float)1;
852 static cl_double identify_limits(ArithmeticOp operation)
856 case ArithmeticOp::add_: return 0.0;
857 case ArithmeticOp::max_:
859 case ArithmeticOp::min_:
861 case ArithmeticOp::mul_: return (cl_double)1;
941 static subgroups::cl_half identify_limits(ArithmeticOp operation)
945 case ArithmeticOp::add_: return { 0x0000 };
946 case ArithmeticOp::max_: return { 0xfc00 };
947 case ArithmeticOp::min_: return { 0x7c00 };
948 case ArithmeticOp::mul_: return { 0x3c00 };