Exemplo n.º 1
0
        /// <summary>Writes the half</summary>
        /// <param name="value">Value</param>
        public virtual void WriteHalf(Single value)
        {
            BitConverter bytes = HalfUtils.Pack(value);

            bytes.Exchange16bits();

            SetByte(bytes.Endian0, 8);
            SetByte(bytes.Endian1, 8);
        }
Exemplo n.º 2
0
        /// <summary>Read a half precision floating</summary>
        /// <returns>Single Precision Float</returns>
        public virtual Single ReadHalf()
        {
            BitConverter value = default(BitConverter);

            value.Endian0 = GetByte(8);
            value.Endian1 = GetByte(8);

            value.Exchange16bits();

            return(HalfUtils.Unpack(value.u16));
        }
Exemplo n.º 3
0
        /// <summary>Converts an array of half precision values into full precision values</summary>
        /// <param name = "values">The values to be converted</param>
        /// <returns>An array of converted values</returns>
        public static float[] ConvertToFloat(Half[] values)
        {
            float[] results = new float[values.Length];

            for (int i = 0; i < results.Length; i++)
            {
                results[i] = HalfUtils.Unpack(values[i].Value);
            }

            return(results);
        }
Exemplo n.º 4
0
 /// <summary>Half</summary>
 /// <param name="value">Floating value</param>
 public Half(float value)
 {
     Value = HalfUtils.Pack(value);
 }