WriteSingle() публичный статический Метод

public static WriteSingle ( float value, ProtoWriter writer ) : void
value float
writer ProtoWriter
Результат void
        static void WriteDouble(double value, ProtoWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            switch (writer.wireType)
            {
            case WireType.Fixed32:
                float f = (float)value;
                if (Helpers.IsInfinity(f) &&
                    !Helpers.IsInfinity(value))
                {
                    throw new OverflowException();
                }
                ProtoWriter.WriteSingle(f, writer);
                return;

            case WireType.Fixed64:
#if FEAT_SAFE
                ProtoWriter.WriteInt64(BitConverter.ToInt64(BitConverter.GetBytes(value), 0), writer);
#else
                ProtoWriter.WriteInt64(*(long *)&value, writer);
#endif
                return;

            default:
                throw CreateException(writer);
            }
        }
Пример #2
0
        public static void WriteDouble(double value, ProtoWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            WireType wireType = writer.wireType;

            if (wireType == WireType.Fixed64)
            {
                ProtoWriter.WriteInt64(BitConverter.ToInt64(BitConverter.GetBytes(value), 0), writer);
                return;
            }
            if (wireType != WireType.Fixed32)
            {
                throw ProtoWriter.CreateException(writer);
            }
            float value2 = (float)value;

            if (Helpers.IsInfinity(value2) && !Helpers.IsInfinity(value))
            {
                throw new OverflowException();
            }
            ProtoWriter.WriteSingle(value2, writer);
        }