/// <summary> /// Packs the specified f. /// </summary> /// <param name="f">The f.</param> /// <returns></returns> public static ushort Pack(float f) { FloatToUint conv = new FloatToUint(); conv.floatValue = f; return((ushort)(FloatToHalfBaseTable[(conv.uintValue >> 23) & 0x1ff] + ((conv.uintValue & 0x007fffff) >> FloatToHalfShiftTable[(conv.uintValue >> 23) & 0x1ff]))); }
public static ushort FloatToHalf(float value) { FloatToUint conv = default(FloatToUint); conv.floatValue = value; return((ushort)(FloatToHalfBaseTable[(conv.uintValue >> 23) & 0x1ff] + ((conv.uintValue & 0x007fffff) >> FloatToHalfShiftTable[(conv.uintValue >> 23) & 0x1ff]))); }
/// <summary> /// Unpacks the specified h. /// </summary> /// <param name="h">The h.</param> /// <returns></returns> public static float Unpack(ushort h) { var conv = new FloatToUint(); conv.uintValue = HalfToFloatMantissaTable[HalfToFloatOffsetTable[h >> 10] + (((uint)h) & 0x3ff)] + HalfToFloatExponentTable[h >> 10]; return(conv.floatValue); }
public static ushort FloatToHalf(float value) { var conv = new FloatToUint(); conv.floatValue = value; return((ushort)(ToHalfBase[(conv.uintValue >> 23) & 0x1ff] + ((conv.uintValue & 0x007fffff) >> ToHalfShift[(conv.uintValue >> 23) & 0x1ff]))); }
public static float HalfToFloat(ushort value) { FloatToUint conv = default(FloatToUint); conv.uintValue = HalfToFloatMantissaTable[HalfToFloatOffsetTable[value >> 10] + (((uint)value) & 0x3ff)] + HalfToFloatExponentTable[value >> 10]; return(conv.floatValue); }
public static float HalfToFloat(ushort value) { var conv = new FloatToUint(); conv.uintValue = ToFloatMantissa[ToFloatOffset[value >> 10] + (((uint)value) & 0x3ff)] + ToFloatExponent[value >> 10]; return(conv.floatValue); }
public static ushort Pack(float f) { FloatToUint floatToUint = new FloatToUint() { floatValue = f }; return((ushort)(FloatToHalfBaseTable[floatToUint.uintValue >> 23 & 511] + ((floatToUint.uintValue & 8388607) >> (FloatToHalfShiftTable[floatToUint.uintValue >> 23 & 511] & 31)))); }
public static float Unpack(ushort h) { FloatToUint floatToUint = new FloatToUint() { uintValue = HalfToFloatMantissaTable[HalfToFloatOffsetTable[h >> 10] + (h & 1023)] + HalfToFloatExponentTable[h >> 10] }; return(floatToUint.floatValue); }
public static float Unpack(ushort h) { FloatToUint num = new FloatToUint { uintValue = HalfToFloatMantissaTable[((int)HalfToFloatOffsetTable[h >> 10]) + (h & 0x3ff)] + ((uint)HalfToFloatExponentTable[h >> 10]) }; return(num.floatValue); }
public static ushort Pack(float f) { FloatToUint num = new FloatToUint { floatValue = f }; return((ushort)(FloatToHalfBaseTable[((int)(num.uintValue >> 0x17)) & 0x1ff] + ((num.uintValue & 0x7fffff) >> (FloatToHalfShiftTable[((int)(num.uintValue >> 0x17)) & 0x1ff] & 0x1f)))); }
/// <summary> /// Packs the specified f. /// </summary> /// <param name="f">The f.</param> /// <returns></returns> public static ushort Pack(float f) { FloatToUint conv = new FloatToUint(); conv.floatValue = f; return (ushort)(FloatToHalfBaseTable[(conv.uintValue >> 23) & 0x1ff] + ((conv.uintValue & 0x007fffff) >> FloatToHalfShiftTable[(conv.uintValue >> 23) & 0x1ff])); }
/// <summary> /// Unpacks the specified h. /// </summary> /// <param name="h">The h.</param> /// <returns></returns> public static float Unpack(ushort h) { var conv = new FloatToUint(); conv.uintValue = HalfToFloatMantissaTable[HalfToFloatOffsetTable[h >> 10] + (((uint)h) & 0x3ff)] + HalfToFloatExponentTable[h >> 10]; return conv.floatValue; }
public static float Unpack(ushort h) { FloatToUint num = new FloatToUint { uintValue = HalfToFloatMantissaTable[((int)HalfToFloatOffsetTable[h >> 10]) + (h & 0x3ff)] + ((uint)HalfToFloatExponentTable[h >> 10]) }; return num.floatValue; }
public static ushort Pack(float f) { FloatToUint num = new FloatToUint { floatValue = f }; return (ushort)(FloatToHalfBaseTable[((int)(num.uintValue >> 0x17)) & 0x1ff] + ((num.uintValue & 0x7fffff) >> (FloatToHalfShiftTable[((int)(num.uintValue >> 0x17)) & 0x1ff] & 0x1f))); }
public static ushort FloatToHalf(float value) { var conv = new FloatToUint(); conv.floatValue = value; return (ushort)(ToHalfBase[(conv.uintValue >> 23) & 0x1ff] + ((conv.uintValue & 0x007fffff) >> ToHalfShift[(conv.uintValue >> 23) & 0x1ff])); }
public static float HalfToFloat(ushort value) { var conv = new FloatToUint(); conv.uintValue = ToFloatMantissa[ToFloatOffset[value >> 10] + (((uint)value) & 0x3ff)] + ToFloatExponent[value >> 10]; return conv.floatValue; }