Ejemplo n.º 1
0
        public static float ReadSingle(this BinaryReader reader, TagFieldCompression compression)
        {
            switch (compression)
            {
            case TagFieldCompression.Int8:
                return((float)reader.ReadSByte() / sbyte.MaxValue);

            case TagFieldCompression.Int16:
                return((float)reader.ReadInt16() / short.MaxValue);

            default:
                return(reader.ReadSingle());
            }
        }
Ejemplo n.º 2
0
        public static void Write(this BinaryWriter writer, float value, TagFieldCompression compression)
        {
            switch (compression)
            {
            case TagFieldCompression.Int8:
                writer.Write((sbyte)(value * sbyte.MaxValue));
                break;

            case TagFieldCompression.Int16:
                writer.Write((short)(value * short.MaxValue));
                break;

            default:
                writer.Write(value);
                break;
            }
        }