internal static void IsPredicateF16Kernel( Index1D index, ArrayView1D <int, Stride1D.Dense> data, Half value) { data[index + 0] = Half.IsFinite(value) ? 1 : 0; data[index + 1] = Half.IsInfinity(value) ? 1 : 0; data[index + 2] = Half.IsPositiveInfinity(value) ? 1 : 0; data[index + 3] = Half.IsNegativeInfinity(value) ? 1 : 0; data[index + 4] = Half.IsNaN(value) ? 1 : 0; }
public void IsInfinityTest() { { Half half = Half.NegativeInfinity; bool expected = true; bool actual = Half.IsInfinity(half); Assert.Equal(expected, actual); } { Half half = Half.PositiveInfinity; bool expected = true; bool actual = Half.IsInfinity(half); Assert.Equal(expected, actual); } { Half half = (Half)1234.5678f; bool expected = false; bool actual = Half.IsInfinity(half); Assert.Equal(expected, actual); } }
/// <summary> /// Returns a bvec3 from component-wise application of IsInfinity (Half.IsInfinity(v)). /// </summary> public static bool IsInfinity(Half v) => Half.IsInfinity(v);
/// <summary> /// Returns a bvec3 from component-wise application of IsFinite (!Half.IsNaN(v) && !Half.IsInfinity(v)). /// </summary> public static bool IsFinite(Half v) => !Half.IsNaN(v) && !Half.IsInfinity(v);
public static void IsInfinity(Half value, bool expected) { Assert.Equal(expected, Half.IsInfinity(value)); }