コード例 #1
0
        /// <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])));
        }
コード例 #2
0
        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])));
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
ファイル: HalfConverter.cs プロジェクト: ejasan0502/Timeless
        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])));
        }
コード例 #5
0
        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);
        }
コード例 #6
0
ファイル: HalfConverter.cs プロジェクト: ejasan0502/Timeless
        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);
        }
コード例 #7
0
        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))));
        }
コード例 #8
0
        public static float Unpack(ushort h)
        {
            FloatToUint floatToUint = new FloatToUint()
            {
                uintValue = HalfToFloatMantissaTable[HalfToFloatOffsetTable[h >> 10] + (h & 1023)] + HalfToFloatExponentTable[h >> 10]
            };

            return(floatToUint.floatValue);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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))));
        }
コード例 #11
0
ファイル: HalfUtils.cs プロジェクト: demiurghg/FusionEngine
 /// <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]));
 }
コード例 #12
0
ファイル: HalfUtils.cs プロジェクト: demiurghg/FusionEngine
 /// <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;
 }
コード例 #13
0
ファイル: HalfUtil.cs プロジェクト: tirnoney/DAIToolsWV
 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;
 }
コード例 #14
0
ファイル: HalfUtil.cs プロジェクト: tirnoney/DAIToolsWV
 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)));
 }
コード例 #15
0
ファイル: HalfConverter.cs プロジェクト: RainsSoft/MassiveNet
 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]));
 }
コード例 #16
0
ファイル: HalfConverter.cs プロジェクト: RainsSoft/MassiveNet
 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;
 }