random() public static méthode

public static random ( ) : long
Résultat long
Exemple #1
0
            private long toLong(byte[] bytes)
            {
                // if bytes less then 6 pad with random
                if (bytes.Length < 6)
                {
                    byte[] temp = new byte[6];
                    Array.Copy(bytes, 0, temp, 0, bytes.Length);
                    for (int i = bytes.Length; i < temp.Length; ++i)
                    {
                        temp[i] = (byte)FanInt.random();
                    }
                    bytes = temp;
                }

                // mask bytes into 6 byte long
                long x = ((bytes[0] & 0xFFL) << 40) |
                         ((bytes[1] & 0xFFL) << 32) |
                         ((bytes[2] & 0xFFL) << 24) |
                         ((bytes[3] & 0xFFL) << 16) |
                         ((bytes[4] & 0xFFL) << 8) |
                         ((bytes[5] & 0xFFL) << 0);

                // if we have more then six bytes mask against primary six bytes
                for (int i = 6; i < bytes.Length; ++i)
                {
                    x ^= (bytes[i] & 0xFFL) << (((i - 6) % 6) * 8);
                }

                return(x);
            }
Exemple #2
0
        public object random()
        {
            if (m_size == 0)
            {
                return(null);
            }
            int i = (int)FanInt.random();

            if (i < 0)
            {
                i = -i;
            }
            return(m_values[i % m_size]);
        }
Exemple #3
0
 public List shuffle()
 {
     modify();
     for (int i = 0; i < m_size; ++i)
     {
         int randi = (int)FanInt.random() % m_size;
         if (randi < 0)
         {
             randi = -randi;
         }
         object temp = m_values[i];
         m_values[i]     = m_values[randi];
         m_values[randi] = temp;
     }
     return(this);
 }
Exemple #4
0
 private long resolveNodeAddr()
 {
     try { return(resolveMacAddr()); } catch (Exception e) { Err.dumpStack(e); }
     try { return(resolveIpAddr()); } catch (Exception e) { Err.dumpStack(e); }
     return(FanInt.random());
 }
Exemple #5
0
 internal Factory()
 {
     nodeAddr = resolveNodeAddr();
     seq      = FanInt.random();
 }
Exemple #6
0
 public long random()
 {
     return(FanInt.random(this));
 }