Ejemplo n.º 1
0
        private static void MkSequence(ICollection <T> seq, T m, T n, IncDelegate inc)
        {
            if (m.CompareTo(n) > 0)
            {
                // m>n
                return;
            }

            var m1 = inc(m);

            seq.Add(m);
            MkSequence(seq, m1, n, inc);
        }
Ejemplo n.º 2
0
        public static void Producer(BlockingCollection <T> output, T from, T to, IncDelegate inc /* int seed */)
        {
            Console.WriteLine("Producer running ... ");
            var items = new List <T>();

            MkSequence(items, from, to, inc);
            try
            {
                foreach (T item in items)
                {
                    output.Add(item);
                }
            }
            finally
            {
                output.CompleteAdding();
            }
        }
Ejemplo n.º 3
0
 public IDGenerator(IncDelegate inc)
 {
     Inc = inc;
 }