From 3e6f11a4436528f5ffe4940d00520b21b18dedde Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Tue, 17 Dec 2013 09:35:48 +0100 Subject: [PATCH] Generate: more tests, fix PeriodicMapSequence --- src/Numerics/Generate.cs | 2 +- src/UnitTests/GenerateTests.cs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Numerics/Generate.cs b/src/Numerics/Generate.cs index 455453ba..151b2621 100644 --- a/src/Numerics/Generate.cs +++ b/src/Numerics/Generate.cs @@ -348,7 +348,7 @@ namespace MathNet.Numerics { x %= amplitude; phase = x; - k = 0; + k = 1; } yield return map(x); diff --git a/src/UnitTests/GenerateTests.cs b/src/UnitTests/GenerateTests.cs index a568cb0b..30f71e16 100644 --- a/src/UnitTests/GenerateTests.cs +++ b/src/UnitTests/GenerateTests.cs @@ -148,6 +148,18 @@ namespace MathNet.Numerics.UnitTests Assert.That(Generate.Periodic(8, 2.0, 0.25, Constants.Pi2).Select(Math.Sin), Is.EqualTo(new[] { 0.0, isq2, 1.0, isq2, 0.0, -isq2, -1.0, -isq2 }).Within(1e-12).AsCollection); } + [Test] + public void PeriodicConsistentWithSinusoidal() + { + Assert.That( + Generate.PeriodicMap(100, Math.Sin, 16.0, 2.0, Constants.Pi2), + Is.EqualTo(Generate.Sinusoidal(100, 16.0, 2.0, 1.0)).Within(1e-12).AsCollection); + + Assert.That( + Generate.PeriodicMapSequence(Math.Sin, 16.0, 2.0, Constants.Pi2).Take(100).ToArray(), + Is.EqualTo(Generate.SinusoidalSequence(16.0, 2.0, 1.0).Take(100).ToArray()).Within(1e-12).AsCollection); + } + [Test] public void PreiodicConsistentWithSequence() {