public void RunFSharpTestsWithFSharpTypes(FSharpBench.Numerics.Matrix4x4 m1, FSharpBench.Numerics.Matrix4x4 m2) { for (int i = 0; i < RUN_AMOUNT; i++) { TestFSharp(m1, m2); } }
public void RunFSharpTestsFSharpTypesByRef(ref FSharpBench.Numerics.Matrix4x4 m1, ref FSharpBench.Numerics.Matrix4x4 m2) { for (int i = 0; i < RUN_AMOUNT; i++) { TestFSharpFSharpTypesByRef(ref m1, ref m2); } }
override protected void TestFSharp() { FSharpBench.Numerics.Matrix4x4 m1 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); FSharpBench.Numerics.Matrix4x4 m2 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); }
override protected void TestFSharpByRef(ref Matrix4x4 m1, ref Matrix4x4 m2) { FSharpBench.Numerics.Matrix4x4 fm1 = new FSharpBench.Numerics.Matrix4x4(m1.M11, m1.M12, m1.M13, m1.M14, m1.M21, m1.M22, m1.M23, m1.M24, m1.M31, m1.M32, m1.M33, m1.M34, m1.M41, m1.M42, m1.M43, m1.M44); FSharpBench.Numerics.Matrix4x4 fm2 = new FSharpBench.Numerics.Matrix4x4(m2.M11, m2.M12, m2.M13, m2.M14, m2.M21, m2.M22, m2.M23, m2.M24, m2.M31, m2.M32, m2.M33, m2.M34, m2.M41, m2.M42, m2.M43, m2.M44); var cshrp_res = FSharpBench.Numerics.matrixMultiply(fm1, fm2); }
override protected void TestFSharp() { FSharpBench.Numerics.Matrix4x4 m1 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); FSharpBench.Numerics.Matrix4x4 m2 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); var fshrp_res = FSharpBench.Numerics.matrixMultiply(m1, m2); }
public static float performExperimentActionMatrixFSharpTypesbyRef(MatrixMultiplyTest test, FrameTimer timer) { Console.WriteLine("Performing Experiment with Inputs FSharpBench.Numerics.Matrix4x4 By Ref"); var results = new List <float>(); var m1 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); var m2 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); for (int i = 0; i < EXPERIMENT_COUNT; i++) { timer.Start(); test.RunFSharpTestsFSharpTypesByRef(ref m1, ref m2); timer.Stop(); results.Add(timer.prevFrameTicksInMilliseconds); } return(averageResults(results)); }
public static float performExperimentActionMatrix(Action <FSharpBench.Numerics.Matrix4x4, FSharpBench.Numerics.Matrix4x4> test, FrameTimer timer) { Console.WriteLine("Performing Experiment with Inputs FSharpBench.Numerics.Matrix4x4"); var results = new List <float>(); var m1 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); var m2 = new FSharpBench.Numerics.Matrix4x4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); for (int i = 0; i < EXPERIMENT_COUNT; i++) { timer.Start(); test.Invoke(m1, m2); timer.Stop(); results.Add(timer.prevFrameTicksInMilliseconds); } return(averageResults(results)); }
override protected void TestFSharpFSharpTypesByRef(ref FSharpBench.Numerics.Matrix4x4 m1, ref FSharpBench.Numerics.Matrix4x4 m2) { var fshrp_res = FSharpBench.Numerics.matrixMultiply(m1, m2); }
override protected void TestFSharp(FSharpBench.Numerics.Matrix4x4 m1, FSharpBench.Numerics.Matrix4x4 m2) { var fshrp_res = FSharpBench.Numerics.matrixMultiply(m1, m2); }
protected virtual void TestFSharp(FSharpBench.Numerics.Matrix4x4 m1, FSharpBench.Numerics.Matrix4x4 m2) { }
protected virtual void TestFSharpFSharpTypesByRef(ref FSharpBench.Numerics.Matrix4x4 m1, ref FSharpBench.Numerics.Matrix4x4 m2) { }