private static float ExecutePerformanceTest(PerformanceTestCallback callback) { var values = new[] { -100300.43245325f, -1, -float.Epsilon, 0, float.Epsilon, 1, 90952.343542f }; var mod = values.Length; var permutations = (int)Math.Pow(mod, 8); var cc = new CodeClock(); cc.Start(); for (int n = 0; n < permutations; n++) { callback.Invoke( new PointF(values[(n) % mod], values[(n / mod / mod / mod / mod / mod / mod / mod) % mod]), new PointF(values[(n / mod / mod) % mod], values[(n / mod / mod / mod / mod / mod) % mod]), new PointF(values[(n / mod / mod / mod / mod) % mod], values[(n / mod / mod / mod) % mod]), new PointF(values[(n / mod / mod / mod / mod / mod / mod) % mod], values[(n / mod) % mod]) ); } cc.Stop(); return(cc.Seconds * 1000000 / permutations); }
private static float ExecutePerformanceTest(PerformanceTestCallback callback) { var values = new[] {-100300.43245325f, -1, -float.Epsilon, 0, float.Epsilon, 1, 90952.343542f}; var mod = values.Length; var permutations = (int) Math.Pow(mod, 8); var cc = new CodeClock(); cc.Start(); for (int n = 0; n < permutations; n++) { callback.Invoke( new PointF(values[(n)%mod], values[(n/mod/mod/mod/mod/mod/mod/mod)%mod]), new PointF(values[(n/mod/mod)%mod], values[(n/mod/mod/mod/mod/mod)%mod]), new PointF(values[(n/mod/mod/mod/mod)%mod], values[(n/mod/mod/mod)%mod]), new PointF(values[(n/mod/mod/mod/mod/mod/mod)%mod], values[(n/mod)%mod]) ); } cc.Stop(); return cc.Seconds*1000000/permutations; }