Beispiel #1
0
        public void For(int minimum, int maximum, int skip, Action <int> action, IndexedJobEstimator estimator)
        {
            if (maximum < minimum)
            {
                int t = maximum; maximum = minimum; minimum = t;
            }

            if (skip < 0)
            {
                skip = -skip;
            }
            else if (skip == 0)
            {
                throw new ArgumentNullException("skip");
            }

            for (int i = minimum; i < maximum; i += skip)
            {
                Int32 temp = i;
                jobs.Add(new EstimatableDelegateJob(
                             delegate() { action(temp); },
                             delegate(InstructionPerformance perf, FPUPerformance fpu)
                {
                    return(estimator(temp, perf, fpu));
                }));
            }
        }
Beispiel #2
0
        public void For(int minimum, int maximum, Action <int> action, IndexedJobEstimator estimator)
        {
            if (maximum < minimum)
            {
                int t = maximum; maximum = minimum; minimum = t;
            }

            for (int i = minimum; i < maximum; i++)
            {
                Int32 temp = i;
                // Console.Out.WriteLine("Enqueue: {0}", i);
                jobs.Add(new EstimatableDelegateJob(
                             delegate() { action(temp); },
                             delegate(InstructionPerformance perf, FPUPerformance fpu)
                {
                    return(estimator(temp, perf, fpu));
                }));
            }
        }