Esempio n. 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Loading sample data...");
            _bScan = SAM.Core.DataProcessing.SamBScanLoader.LoadFloat(dataPath, NUMBER_RECORDS, RECORD_LENGTH);
            Console.WriteLine("Done!");

            //var aScan = new float[RECORD_LENGTH];
            //for (int i = 0; i <= RECORD_LENGTH; i++)
            //    aScan[i] = _bScan[0, i];

            Action <Action> measure = (body) =>
            {
                var startTime = DateTime.Now;
                body();
                Console.WriteLine("Time Elapsed: {0} ", (DateTime.Now - startTime).Milliseconds);
            };

            //var random = new Random();
            //var aScan = new double[100000];
            //for (int i = 0; i < 100000; i++)
            //{
            //    double rand = ((double)random.Next(2000)) / 2000;
            //    rand = rand * 2 + -1;
            //    aScan[i] = rand;
            //}

            //measure(() => DIP.FHT(aScan, FourierTransform.Direction.Forward));

            var random = new Random();
            var aScan  = new double[500];

            for (int j = 0; j < 500; j++)
            {
                double rand = ((double)random.Next(2000)) / 2000;
                rand     = rand * 2 + -1;
                aScan[j] = rand;
            }

            measure(() =>
            {
                for (int i = 0; i < 2000; i++)
                {
                    //var aScan = new double[RECORD_LENGTH];
                    //for (int j = 0; j < RECORD_LENGTH; j++)
                    //    aScan[j] = _bScan[0, j];


                    DIP.FHT(aScan, FourierTransform.Direction.Forward);
                }
            });

            //var tasks = new Task[NUMBER_RECORDS];
            //for (int i = 0; i < NUMBER_RECORDS; i++)
            //{
            //    var aScan = new double[RECORD_LENGTH];
            //    for (int j = 0; j < RECORD_LENGTH; j++)
            //        aScan[j] = _bScan[0, j];
            //    tasks[i] = Task.Factory.StartNew(() => DIP.FHT(aScan, FourierTransform.Direction.Forward));
            //}

            //measure(() => Task.WaitAll(tasks));
            Console.ReadKey();
        }