Esempio n. 1
0
        public static string Analyse(INoise2 noiseFct, int iteration)
        {
            FastRandom rnd = new FastRandom();

            //Generate randomIteration number in array
            int[,] inputNumber = new int[iteration, 2];
            for (int i = 0; i < iteration; i++)
            {
                inputNumber[i, 0] = rnd.Next();
                inputNumber[i, 1] = rnd.Next();
            }

            long   from = Stopwatch.GetTimestamp();
            double min  = double.MaxValue;
            double max  = double.MinValue;

            for (int i = 0; i < iteration; i++)
            {
                double val = noiseFct.Get(inputNumber[i, 0], inputNumber[i, 1]);
                if (val < min)
                {
                    min = val;
                }
                if (val > max)
                {
                    max = val;
                }
            }

            long to = Stopwatch.GetTimestamp();

            return("INoise2 analysed for " + iteration + " iteration. Time needed : " + ((to - from) / (double)Stopwatch.Frequency * 1000.0) + " ms; Min : " + min + " max : " + max);
        }
Esempio n. 2
0
        public double Get(double x)
        {
            switch (_noiseDimUsage)
            {
            case enuDimUsage.Noise2D:
                return(_noise2D.Get(x, 0));

            case enuDimUsage.Noise3D:
                return(_noise3D.Get(x, 0, 0));

            case enuDimUsage.Noise4D:
                return(_noise4D.Get(x, 0, 0, 0));

            default:
                return(_noise2D.Get(x, 0));
            }
        }