Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Diagnostics;
- namespace bench1
- {
- class Program
- {
- static void Main(string[] args)
- {
- double[] d = new double[1000000];
- double i;
- int j;
- for (i = 0, j = 0; j < d.Length; i += 0.00351, j++)
- d[j] = i;
- Stopwatch t = new Stopwatch();
- //--------------------------------------------------------------------
- Console.Write("test 1 - fft: ");
- t.Start();
- test1(false, false, true, d);
- t.Stop();
- Console.Write(t.ElapsedMilliseconds.ToString() + " ms\n");
- Console.Write("test 2 - fft: ");
- t.Reset();
- t.Start();
- test2(false, false, true, d);
- t.Stop();
- Console.Write(t.ElapsedMilliseconds.ToString() + " ms\n");
- //--------------------------------------------------------------------
- Console.Write("test 1 - tft: ");
- t.Reset();
- t.Start();
- test2(true, false, true, d);
- t.Stop();
- Console.Write(t.ElapsedMilliseconds.ToString() + " ms\n");
- Console.Write("test 2 - tft: ");
- t.Reset();
- t.Start();
- test2(true, false, true, d);
- t.Stop();
- Console.Write(t.ElapsedMilliseconds.ToString() + " ms\n");
- //--------------------------------------------------------------------
- Console.Write("test 1 - ttt: ");
- t.Reset();
- t.Start();
- test2(true, true, true, d);
- t.Stop();
- Console.Write(t.ElapsedMilliseconds.ToString() + " ms\n");
- Console.Write("test 2 - ttt: ");
- t.Reset();
- t.Start();
- test2(true, true, true, d);
- t.Stop();
- Console.Write(t.ElapsedMilliseconds.ToString() + " ms\n");
- Console.ReadKey(true);
- }
- static void test1(bool c1, bool c2, bool c3, double[] dati)
- {
- for (int i = 0; i < dati.Length; i++) {
- if (c1) testFun1(dati[i]);
- if (c2) testFun2(dati[i]);
- if (c3) testFun3(dati[i]);
- }
- }
- static void test2(bool c1, bool c2, bool c3, double[] dati)
- {
- if (c1) for (int i = 0; i < dati.Length; i++) testFun1(dati[i]);
- if (c2) for (int i = 0; i < dati.Length; i++) testFun2(dati[i]);
- if (c3) for (int i = 0; i < dati.Length; i++) testFun3(dati[i]);
- }
- static void testFun1(double d)
- {
- Random r = new Random(TimeZone.CurrentTimeZone.ToUniversalTime(DateTime.Today).Second);
- int[] a = new int[20];
- for (int i = 0; i < a.Length; i++)
- a[i] = r.Next() + Convert.ToInt32(d);
- double a1, a2, b1, b2;
- a1 = Convert.ToDouble(a[r.Next(a.Length)]);
- a2 = Convert.ToDouble(a[r.Next(a.Length)]);
- if (a1 > 15 && a1 < 1800 || a2 - a1 > 0 && a2 != 18)
- b1 = b2 = Convert.ToDouble(a[0].ToString());
- else
- b1 = b2 = 0;
- double x = a1 * (a2 - a1) * Math.Cos(Math.Sin(b1 * 5)) / Math.Tanh(Math.Cos(a2) + Math.Sin(a1));
- x *= 2.0142145 / Math.Exp(d);
- }
- static void testFun2(double d)
- {
- Random r = new Random(TimeZone.CurrentTimeZone.ToUniversalTime(DateTime.Today).Second);
- int[] a = new int[20];
- for (int i = 0; i < a.Length; i++)
- a[i] = r.Next() + Convert.ToInt32(d);
- double a1, a2, b1, b2;
- a1 = Convert.ToDouble(a[r.Next(a.Length)]);
- a2 = Convert.ToDouble(a[r.Next(a.Length)]);
- if (a1 > 15 && a1 < 1800 || a2 - a1 > 0 && a2 != 18)
- b1 = b2 = Convert.ToDouble(a[0].ToString());
- else
- b1 = b2 = 0;
- double x = a1 * (a2 - a1) * Math.Cos(Math.Sin(b1 * 5)) / Math.Tanh(Math.Cos(a2) + Math.Sin(a1));
- x *= 2.0142145 / Math.Exp(d);
- }
- static void testFun3(double d)
- {
- Random r = new Random(TimeZone.CurrentTimeZone.ToUniversalTime(DateTime.Today).Second);
- int[] a = new int[20];
- for (int i = 0; i < a.Length; i++)
- a[i] = r.Next() + Convert.ToInt32(d);
- double a1, a2, b1, b2;
- a1 = Convert.ToDouble(a[r.Next(a.Length)]);
- a2 = Convert.ToDouble(a[r.Next(a.Length)]);
- if (a1 > 15 && a1 < 1800 || a2 - a1 > 0 && a2 != 18)
- b1 = b2 = Convert.ToDouble(a[0].ToString());
- else
- b1 = b2 = 0;
- double x = a1 * (a2 - a1) * Math.Cos(Math.Sin(b1 * 5)) / Math.Tanh(Math.Cos(a2) + Math.Sin(a1));
- x *= 2.0142145 / Math.Exp(d);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement