Ejemplo n.º 1
0
        protected internal override Complex UnpackFromCore(Unpacker unpacker)
        {
            if (!unpacker.IsArrayHeader)
            {
                SerializationExceptions.ThrowInvalidArrayItemsCount(unpacker, typeof(Complex), 2);
            }

            long length = UnpackHelpers.GetItemsCount(unpacker);

            if (length != 2)
            {
                SerializationExceptions.ThrowInvalidArrayItemsCount(unpacker, typeof(Complex), 2);
            }

            double real, imaginary;

            if (!unpacker.ReadDouble(out real))
            {
                SerializationExceptions.ThrowUnexpectedEndOfStream(unpacker);
            }


            if (!unpacker.ReadDouble(out imaginary))
            {
                SerializationExceptions.ThrowUnexpectedEndOfStream(unpacker);
            }

            return(new Complex(real, imaginary));
        }
Ejemplo n.º 2
0
    public double PopDouble()
    {
        double rst = 0;

        unpacker.ReadDouble(out rst);
        return(rst);
    }
        protected internal override Complex UnpackFromCore(Unpacker unpacker)
        {
            double real, imaginary;

            if (!unpacker.ReadDouble(out real))
            {
                SerializationExceptions.ThrowUnexpectedEndOfStream(unpacker);
            }


            if (!unpacker.ReadDouble(out imaginary))
            {
                SerializationExceptions.ThrowUnexpectedEndOfStream(unpacker);
            }

            return(new Complex(real, imaginary));
        }
Ejemplo n.º 4
0
        public static Double UnpackDoubleValue(Unpacker unpacker, Type objectType, String memberName)
        {
            try
            {
                Double result;
                if (!unpacker.ReadDouble(out result))
                {
                    throw SerializationExceptions.NewFailedToDeserializeMember(objectType, memberName, null);
                }

                return(result);
            }
            catch (MessageTypeException ex)
            {
                throw SerializationExceptions.NewFailedToDeserializeMember(objectType, memberName, ex);
            }
        }
Ejemplo n.º 5
0
		public static Double UnpackDoubleValue( Unpacker unpacker, Type objectType, String memberName )
		{
			try
			{
				Double result;
				if ( !unpacker.ReadDouble( out result ) )
				{
					throw SerializationExceptions.NewFailedToDeserializeMember( objectType, memberName, null );
				}

				return result;
			}
			catch ( MessageTypeException ex )
			{
				throw SerializationExceptions.NewFailedToDeserializeMember( objectType, memberName, ex );
			}
		}
Ejemplo n.º 6
0
		public static Double UnpackDoubleValue( Unpacker unpacker, Type objectType, String memberName )
		{
			if ( unpacker == null )
			{
				SerializationExceptions.ThrowArgumentNullException( "unpacker" );
			}

			if ( objectType == null )
			{
				SerializationExceptions.ThrowArgumentNullException( "objectType" );
			}

			if ( memberName == null )
			{
				SerializationExceptions.ThrowArgumentNullException( "memberName" );
			}

#if ASSERT
			Contract.Assert( unpacker != null );
			Contract.Assert( objectType != null );
			Contract.Assert( memberName != null );
#endif // ASSERT

			// ReSharper disable once RedundantAssignment
			var ctx = default( UnpackerTraceContext );
			InitializeUnpackerTrace( unpacker, ref ctx );

			try
			{
				Double result;
				if ( !unpacker.ReadDouble( out result ) )
				{
					SerializationExceptions.ThrowFailedToDeserializeMember( objectType, memberName, null );
				}

				Trace( ctx, "ReadDirect", unpacker, memberName );

				return result;
			}
			catch ( MessageTypeException ex )
			{
				SerializationExceptions.ThrowFailedToDeserializeMember( objectType, memberName, ex );
				return default( Double ); // never reaches.
			}
		}