Beispiel #1
0
        public void TestDegToRad()
        {
            var input  = new[] { 0.0, -90, 180, 270 };
            var target = new[] { 0, -Math.PI * 0.5, Math.PI, 1.5 * Math.PI };

            var result = Dsp.DegToRad(input).ToReadOnlyList();

            FilterAssert.ListsAreReasonablyClose(target, result);
            Assert.That(Dsp.DegToRad(Enumerable.Empty <double>()).ToReadOnlyList().Count == 0);
            Assert.Throws <ArgumentNullException>(() => Dsp.DegToRad(null).ToReadOnlyList());
        }
Beispiel #2
0
        public void TestWrapPhase()
        {
            double[] input  = { 170, 179, 185, 360, 530, 630, 530, 370, 210, 150, 0 };
            double[] target = { 170, 179, -175, 0, 170, -90, 170, 10, -150, 150, 0 };

            var input2 = Dsp.DegToRad(input).ToReadOnlyList();

            var result  = Dsp.WrapPhase(input, true).ToReadOnlyList();
            var result2 = Dsp.WrapPhase(input2, false).ToReadOnlyList();

            FilterAssert.ListsAreReasonablyClose(result, target);
            FilterAssert.ListsAreReasonablyClose(Dsp.RadToDeg(result2).ToReadOnlyList(), target, 1e-13);

            Assert.That(Dsp.UnwrapPhase(new List <double>()).ToReadOnlyList().Count == 0);
            Assert.Catch <ArgumentNullException>(() => Dsp.UnwrapPhase(null).ToReadOnlyList());
        }