Some modifications to the OxyPlot library to back-port to .NET 2.0. Added the LINQBridge library for the LINQ based code in OxyPlot (the original .NET LINQ is not available in .NET 2.0).
2 using System.Collections.Generic;
4 using System.Runtime.InteropServices;
5 using System.Diagnostics.CodeAnalysis;
10 /// High resolution timer, used to test performance
12 public static class TimeCounter
14 private static Int64 _start;
17 /// Start time counting
19 public static void Start()
22 QueryPerformanceCounter(ref _start);
25 public static Int64 GetStartValue()
28 QueryPerformanceCounter(ref t);
33 /// Finish time counting
35 /// <returns>time in seconds elapsed from Start till Finish </returns>
36 public static double Finish()
38 return Finish(_start);
41 public static double Finish(Int64 start)
44 QueryPerformanceCounter(ref finish);
47 QueryPerformanceFrequency(ref freq);
48 return (finish - start) / (double)freq;
51 [DllImport("Kernel32.dll")]
52 [return: MarshalAs(UnmanagedType.Bool)]
53 static extern bool QueryPerformanceCounter(ref Int64 performanceCount);
55 [DllImport("Kernel32.dll")]
56 [return: MarshalAs(UnmanagedType.Bool)]
57 static extern bool QueryPerformanceFrequency(ref Int64 frequency);