Beispiel #1
0
 public void ReadWrite(BitcoinStream stream)
 {
     if (stream.Serializing)
     {
         var b = Value.ToBytes();
         stream.ReadWrite(ref b);
     }
     else
     {
         byte[] b = new byte[WIDTH_BYTE];
         stream.ReadWrite(ref b);
         _Value = new uint512(b);
     }
 }
Beispiel #2
0
 public uint512(uint512 b)
 {
     pn0  = b.pn0;
     pn1  = b.pn1;
     pn2  = b.pn2;
     pn3  = b.pn3;
     pn4  = b.pn4;
     pn5  = b.pn5;
     pn6  = b.pn6;
     pn7  = b.pn7;
     pn8  = b.pn8;
     pn9  = b.pn9;
     pn10 = b.pn10;
     pn11 = b.pn11;
     pn12 = b.pn12;
     pn13 = b.pn13;
     pn14 = b.pn14;
     pn15 = b.pn15;
 }
Beispiel #3
0
 public static bool TryParse(string hex, out uint512 result)
 {
     if (hex == null)
     {
         throw new ArgumentNullException(nameof(hex));
     }
     if (hex.StartsWith("0x", StringComparison.OrdinalIgnoreCase))
     {
         hex = hex.Substring(2);
     }
     result = null;
     if (hex.Length != WIDTH_BYTE * 2)
     {
         return(false);
     }
     if (!((HexEncoder)Encoders.Hex).IsValid(hex))
     {
         return(false);
     }
     result = new uint512(hex);
     return(true);
 }
Beispiel #4
0
 private static int Comparison(uint512 a, uint512 b)
 {
     if (a.pn15 < b.pn15)
     {
         return(-1);
     }
     if (a.pn15 > b.pn15)
     {
         return(1);
     }
     if (a.pn14 < b.pn14)
     {
         return(-1);
     }
     if (a.pn14 > b.pn14)
     {
         return(1);
     }
     if (a.pn13 < b.pn13)
     {
         return(-1);
     }
     if (a.pn13 > b.pn13)
     {
         return(1);
     }
     if (a.pn12 < b.pn12)
     {
         return(-1);
     }
     if (a.pn12 > b.pn12)
     {
         return(1);
     }
     if (a.pn11 < b.pn11)
     {
         return(-1);
     }
     if (a.pn11 > b.pn11)
     {
         return(1);
     }
     if (a.pn10 < b.pn10)
     {
         return(-1);
     }
     if (a.pn10 > b.pn10)
     {
         return(1);
     }
     if (a.pn9 < b.pn9)
     {
         return(-1);
     }
     if (a.pn9 > b.pn9)
     {
         return(1);
     }
     if (a.pn8 < b.pn8)
     {
         return(-1);
     }
     if (a.pn8 > b.pn8)
     {
         return(1);
     }
     if (a.pn7 < b.pn7)
     {
         return(-1);
     }
     if (a.pn7 > b.pn7)
     {
         return(1);
     }
     if (a.pn6 < b.pn6)
     {
         return(-1);
     }
     if (a.pn6 > b.pn6)
     {
         return(1);
     }
     if (a.pn5 < b.pn5)
     {
         return(-1);
     }
     if (a.pn5 > b.pn5)
     {
         return(1);
     }
     if (a.pn4 < b.pn4)
     {
         return(-1);
     }
     if (a.pn4 > b.pn4)
     {
         return(1);
     }
     if (a.pn3 < b.pn3)
     {
         return(-1);
     }
     if (a.pn3 > b.pn3)
     {
         return(1);
     }
     if (a.pn2 < b.pn2)
     {
         return(-1);
     }
     if (a.pn2 > b.pn2)
     {
         return(1);
     }
     if (a.pn1 < b.pn1)
     {
         return(-1);
     }
     if (a.pn1 > b.pn1)
     {
         return(1);
     }
     if (a.pn0 < b.pn0)
     {
         return(-1);
     }
     if (a.pn0 > b.pn0)
     {
         return(1);
     }
     return(0);
 }
Beispiel #5
0
 public MutableUint512(uint512 value)
 {
     _Value = value;
 }
Beispiel #6
0
 public MutableUint512()
 {
     _Value = uint512.Zero;
 }