Lines Matching refs:a
213 ASTCENC_SIMD_INLINE vfloat change_sign(vfloat a, vfloat b) in change_sign() argument
215 vint ia = float_as_int(a); in change_sign()
275 static ASTCENC_SIMD_INLINE vfloat4 vfloat3(float a, float b, float c) in vfloat3() argument
277 return vfloat4(a, b, c, 0.0f); in vfloat3()
283 static ASTCENC_SIMD_INLINE vfloat4 vfloat2(float a, float b) in vfloat2() argument
285 return vfloat4(a, b, 0.0f, 0.0f); in vfloat2()
291 static ASTCENC_SIMD_INLINE vfloat4 normalize(vfloat4 a) in normalize() argument
293 vfloat4 length = dot(a, a); in normalize()
294 return a / sqrt(length); in normalize()
300 static ASTCENC_SIMD_INLINE vfloat4 normalize_safe(vfloat4 a, vfloat4 safe) in normalize_safe() argument
302 vfloat4 length = dot(a, a); in normalize_safe()
305 return a / sqrt(length); in normalize_safe()
399 static ASTCENC_SIMD_INLINE vint4 clz(vint4 a) in clz() argument
406 a = (~lsr<8>(a)) & a; in clz()
407 a = float_as_int(int_to_float(a)); in clz()
410 a = vint4(127 + 31) - lsr<23>(a); in clz()
413 return clamp(0, 32, a); in clz()
421 static ASTCENC_SIMD_INLINE vint4 two_to_the_n(vint4 a) in two_to_the_n() argument
424 assert(all(a < vint4(31))); in two_to_the_n()
430 vint4 exp = a + 127; in two_to_the_n()
452 vint4 a = (~lsr<8>(p)) & p; in unorm16_to_sf16() local
453 a = float_as_int(int_to_float(a)); in unorm16_to_sf16()
454 a = vint4(127 + 31) - lsr<23>(a); in unorm16_to_sf16()
455 vint4 lz = clamp(0, 32, a) - 16; in unorm16_to_sf16()
504 static ASTCENC_SIMD_INLINE vfloat4 frexp(vfloat4 a, vint4& exp) in frexp() argument
507 vint4 ai = float_as_int(a); in frexp()
520 static ASTCENC_SIMD_INLINE vfloat4 float_to_lns(vfloat4 a) in float_to_lns() argument
523 vfloat4 mant = frexp(a, exp); in float_to_lns()
526 vmask4 mask_underflow_nan = ~(a > vfloat4(1.0f / 67108864.0f)); in float_to_lns()
527 vmask4 mask_infinity = a >= vfloat4(65536.0f); in float_to_lns()
532 vfloat4 a1a = a * 33554432.0f; in float_to_lns()
538 a = select(a1b, a1a, exp_lt_m13); in float_to_lns()
541 vmask4 a_lt_384 = a < vfloat4(384.0f); in float_to_lns()
542 vmask4 a_lt_1408 = a <= vfloat4(1408.0f); in float_to_lns()
544 vfloat4 a2a = a * (4.0f / 3.0f); in float_to_lns()
545 vfloat4 a2b = a + 128.0f; in float_to_lns()
546 vfloat4 a2c = (a + 512.0f) * (4.0f / 5.0f); in float_to_lns()
548 a = a2c; in float_to_lns()
549 a = select(a, a2b, a_lt_1408); in float_to_lns()
550 a = select(a, a2a, a_lt_384); in float_to_lns()
552 a = a + (int_to_float(exp) * 2048.0f) + 1.0f; in float_to_lns()
554 a = select(a, vfloat4(65535.0f), mask_infinity); in float_to_lns()
555 a = select(a, vfloat4::zero(), mask_underflow_nan); in float_to_lns()
557 return a; in float_to_lns()