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)); }
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)); }
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); } }
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 ); } }
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. } }