Beispiel #1
0
        static void WriteSingle(float value, ProtoWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            switch (writer.wireType)
            {
            case WireType.Fixed32:
#if FEAT_SAFE
                ProtoWriter.WriteInt32(BitConverter.ToInt32(BitConverter.GetBytes(value), 0), writer);
#else
                ProtoWriter.WriteInt32(*(int *)&value, writer);
#endif
                return;

            case WireType.Fixed64:
                ProtoWriter.WriteDouble((double)value, writer);
                return;

            default:
                throw CreateException(writer);
            }
        }