Exemple #1
0
 public void RunFSharpTestsWithFSharpTypes(FSharpBench.Numerics.Matrix4x4 m1, FSharpBench.Numerics.Matrix4x4 m2)
 {
     for (int i = 0; i < RUN_AMOUNT; i++)
     {
         TestFSharp(m1, m2);
     }
 }
Exemple #2
0
 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);
     }
 }
Exemple #3
0
 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);
 }
Exemple #4
0
 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);
 }
Exemple #5
0
 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);
 }
Exemple #6
0
        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));
        }
Exemple #7
0
        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));
        }
Exemple #8
0
 override protected void TestFSharpFSharpTypesByRef(ref FSharpBench.Numerics.Matrix4x4 m1, ref FSharpBench.Numerics.Matrix4x4 m2)
 {
     var fshrp_res = FSharpBench.Numerics.matrixMultiply(m1, m2);
 }
Exemple #9
0
 override protected void TestFSharp(FSharpBench.Numerics.Matrix4x4 m1, FSharpBench.Numerics.Matrix4x4 m2)
 {
     var fshrp_res = FSharpBench.Numerics.matrixMultiply(m1, m2);
 }
Exemple #10
0
 protected virtual void TestFSharp(FSharpBench.Numerics.Matrix4x4 m1, FSharpBench.Numerics.Matrix4x4 m2)
 {
 }
Exemple #11
0
 protected virtual void TestFSharpFSharpTypesByRef(ref FSharpBench.Numerics.Matrix4x4 m1, ref FSharpBench.Numerics.Matrix4x4 m2)
 {
 }