Beispiel #1
0
        private void LoadSyntheticData()
        {
            Console.WriteLine("Loading synthetic data (uniform distribution)");

            init_keys_ = new Key[kInitCount];
            long val = 0;

            for (int idx = 0; idx < kInitCount; idx++)
            {
                init_keys_[idx] = new Key {
                    value = val++
                };
            }

            Console.WriteLine("loaded " + kInitCount + " keys.");

            RandomGenerator generator = new RandomGenerator();

            txn_keys_ = new Key[kTxnCount];
            GCHandle handle2 = GCHandle.Alloc(txn_keys_, GCHandleType.Pinned);

            txn_keys_ptr = (Key *)handle2.AddrOfPinnedObject();

            for (int idx = 0; idx < kTxnCount; idx++)
            {
                txn_keys_[idx] = new Key {
                    value = (long)generator.Generate64(kInitCount)
                };
            }

            Console.WriteLine("loaded " + kTxnCount + " txns.");
        }
        private void LoadSyntheticData()
        {
            Console.WriteLine("Loading synthetic data (uniform distribution)");

            init_keys_ = new Key[kInitCount];
            long val = 0;

            for (int idx = 0; idx < kInitCount; idx++)
            {
                init_keys_[idx] = new Key {
                    value = val++
                };
            }

            Console.WriteLine("loaded " + kInitCount + " keys.");

            RandomGenerator generator = new RandomGenerator();

            txn_keys_ = new Key[kTxnCount];

            for (int idx = 0; idx < kTxnCount; idx++)
            {
                txn_keys_[idx] = new Key {
                    value = (long)generator.Generate64(kInitCount)
                };
            }

            Console.WriteLine("loaded " + kTxnCount + " txns.");
        }
Beispiel #3
0
        public int Next()
        {
            double u  = (double)rng.Generate64(int.MaxValue) / int.MaxValue;
            double uz = u * zetaN;

            if (uz < 1)
            {
                return(0);
            }
            if (uz < 1 + cutoff2)
            {
                return(1);
            }
            return((int)(size * Math.Pow(eta * u - eta + 1, alpha)));
        }