
This commit moves the logb and ilogb builtins to the CLC library. It simultaneously optimizes them both for vector types and for half types. Vector types were being scalarized in some cases. Half types were previously promoting to float, whereas this commit provides them a native implementation. Everything passes the OpenCL-CTS. I had to intuit some magic numbers used by these implementations in order to generate the half variants. I gave them clearer definitions derived from what I believe are their actual component numbers, but named them 'magic' to convey that they weren't derived from first principles.
146 lines
3.0 KiB
Plaintext
146 lines
3.0 KiB
Plaintext
common/clc_degrees.cl
|
|
common/clc_radians.cl
|
|
common/clc_sign.cl
|
|
common/clc_smoothstep.cl
|
|
geometric/clc_distance.cl
|
|
geometric/clc_dot.cl
|
|
geometric/clc_fast_distance.cl
|
|
geometric/clc_fast_length.cl
|
|
geometric/clc_length.cl
|
|
integer/clc_abs.cl
|
|
integer/clc_abs_diff.cl
|
|
integer/clc_add_sat.cl
|
|
integer/clc_clz.cl
|
|
integer/clc_ctz.cl
|
|
integer/clc_hadd.cl
|
|
integer/clc_mad24.cl
|
|
integer/clc_mad_sat.cl
|
|
integer/clc_mul24.cl
|
|
integer/clc_mul_hi.cl
|
|
integer/clc_popcount.cl
|
|
integer/clc_rhadd.cl
|
|
integer/clc_rotate.cl
|
|
integer/clc_sub_sat.cl
|
|
integer/clc_upsample.cl
|
|
math/clc_acos.cl
|
|
math/clc_acosh.cl
|
|
math/clc_acospi.cl
|
|
math/clc_asin.cl
|
|
math/clc_asinh.cl
|
|
math/clc_asinpi.cl
|
|
math/clc_atan.cl
|
|
math/clc_atan2.cl
|
|
math/clc_atan2pi.cl
|
|
math/clc_atanh.cl
|
|
math/clc_atanpi.cl
|
|
math/clc_cbrt.cl
|
|
math/clc_ceil.cl
|
|
math/clc_copysign.cl
|
|
math/clc_cos.cl
|
|
math/clc_cosh.cl
|
|
math/clc_cospi.cl
|
|
math/clc_ep_log.cl
|
|
math/clc_exp.cl
|
|
math/clc_exp10.cl
|
|
math/clc_exp2.cl
|
|
math/clc_expm1.cl
|
|
math/clc_exp_helper.cl
|
|
math/clc_fabs.cl
|
|
math/clc_fdim.cl
|
|
math/clc_fma.cl
|
|
math/clc_fmax.cl
|
|
math/clc_fmin.cl
|
|
math/clc_floor.cl
|
|
math/clc_fmod.cl
|
|
math/clc_fract.cl
|
|
math/clc_frexp.cl
|
|
math/clc_half_cos.cl
|
|
math/clc_half_divide.cl
|
|
math/clc_half_exp.cl
|
|
math/clc_half_exp10.cl
|
|
math/clc_half_exp2.cl
|
|
math/clc_half_log.cl
|
|
math/clc_half_log10.cl
|
|
math/clc_half_log2.cl
|
|
math/clc_half_powr.cl
|
|
math/clc_half_rsqrt.cl
|
|
math/clc_half_recip.cl
|
|
math/clc_half_sin.cl
|
|
math/clc_half_sqrt.cl
|
|
math/clc_half_tan.cl
|
|
math/clc_hypot.cl
|
|
math/clc_ilogb.cl
|
|
math/clc_ldexp.cl
|
|
math/clc_lgamma.cl
|
|
math/clc_lgamma_r.cl
|
|
math/clc_log.cl
|
|
math/clc_log10.cl
|
|
math/clc_log1p.cl
|
|
math/clc_log2.cl
|
|
math/clc_logb.cl
|
|
math/clc_mad.cl
|
|
math/clc_maxmag.cl
|
|
math/clc_minmag.cl
|
|
math/clc_modf.cl
|
|
math/clc_nan.cl
|
|
math/clc_native_cos.cl
|
|
math/clc_native_divide.cl
|
|
math/clc_native_exp.cl
|
|
math/clc_native_exp10.cl
|
|
math/clc_native_exp2.cl
|
|
math/clc_native_log.cl
|
|
math/clc_native_log10.cl
|
|
math/clc_native_log2.cl
|
|
math/clc_native_powr.cl
|
|
math/clc_native_rsqrt.cl
|
|
math/clc_native_recip.cl
|
|
math/clc_native_sin.cl
|
|
math/clc_native_sqrt.cl
|
|
math/clc_native_tan.cl
|
|
math/clc_nextafter.cl
|
|
math/clc_pow.cl
|
|
math/clc_pown.cl
|
|
math/clc_powr.cl
|
|
math/clc_remainder.cl
|
|
math/clc_remquo.cl
|
|
math/clc_rint.cl
|
|
math/clc_rootn.cl
|
|
math/clc_round.cl
|
|
math/clc_rsqrt.cl
|
|
math/clc_sin.cl
|
|
math/clc_sincos.cl
|
|
math/clc_sincos_helpers.cl
|
|
math/clc_sinh.cl
|
|
math/clc_sinpi.cl
|
|
math/clc_sqrt.cl
|
|
math/clc_sw_fma.cl
|
|
math/clc_tables.cl
|
|
math/clc_tan.cl
|
|
math/clc_tanh.cl
|
|
math/clc_tanpi.cl
|
|
math/clc_tgamma.cl
|
|
math/clc_trunc.cl
|
|
misc/clc_shuffle.cl
|
|
misc/clc_shuffle2.cl
|
|
relational/clc_all.cl
|
|
relational/clc_any.cl
|
|
relational/clc_bitselect.cl
|
|
relational/clc_isequal.cl
|
|
relational/clc_isfinite.cl
|
|
relational/clc_isgreater.cl
|
|
relational/clc_isgreaterequal.cl
|
|
relational/clc_isinf.cl
|
|
relational/clc_isless.cl
|
|
relational/clc_islessequal.cl
|
|
relational/clc_islessgreater.cl
|
|
relational/clc_isnan.cl
|
|
relational/clc_isnormal.cl
|
|
relational/clc_isnotequal.cl
|
|
relational/clc_isordered.cl
|
|
relational/clc_isunordered.cl
|
|
relational/clc_select.cl
|
|
relational/clc_signbit.cl
|
|
shared/clc_clamp.cl
|
|
shared/clc_max.cl
|
|
shared/clc_min.cl
|