Esempio n. 1
0
        public void TestDistanceVec2()
        {
            var outputs  = Eval(() => Distance(vec2, vec2), V2fA, V2fB);
            var expected = V2fA.Zip(V2fB, (x, y) => (float)CpuLength(x.X - y.X, x.Y - y.Y));

            foreach (var x in outputs.Zip(expected, (x, y) => new Tuple <float, float>(x.X, y)))
            {
                Assert.That(x.Item1, Is.EqualTo(x.Item2).Within(MaxErr).Ulps);
            }
        }
Esempio n. 2
0
        public void TestDotVec2()
        {
            var outputs  = Eval(() => Dot(vec2, vec2), V2fA, V2fB);
            var expected = V2fA.Zip(V2fB, (x, y) => x.X * y.X + x.Y * y.Y);

            foreach (var x in outputs.Zip(expected, (x, y) => new Tuple <float, float>(x.X, y)))
            {
                Assert.That(x.Item1, Is.EqualTo(x.Item2).Within(MaxErr).Ulps);
            }
        }
Esempio n. 3
0
        public void TestPowVec2()
        {
            var outputs  = Eval(() => Pow(vec2, vec2), V2fA, V2fB);
            var expected = V2fA.Zip(V2fB, (a, b) => new Tuple <float, float>((float)Math.Pow(a.X, b.X), (float)Math.Pow(a.Y, b.Y)));

            foreach (var x in outputs.Zip(expected, (x, y) => new Tuple <Vector4, float, float>(x, y.Item1, y.Item2)))
            {
                Assert.That(x.Item1.X, Is.EqualTo(x.Item2).Within(MaxErr).Ulps);
                Assert.That(x.Item1.Y, Is.EqualTo(x.Item3).Within(MaxErr).Ulps);
            }
        }