Browse Source

Move Sampling/Sample to Signals/SignalGenerator to avoid confusion with statistical sampling

pull/36/head
Christoph Ruegg 16 years ago
parent
commit
fcc7598bf2
  1. 4
      src/Examples/Interpolation/AkimaSpline.cs
  2. 4
      src/Examples/Interpolation/LinearBetweenPoints.cs
  3. 4
      src/Examples/Interpolation/RationalWithPoles.cs
  4. 4
      src/Examples/Interpolation/RationalWithoutPoles.cs
  5. 6
      src/Examples/Sampling/Chebyshev.cs
  6. 10
      src/Examples/Sampling/Equidistant.cs
  7. 8
      src/Examples/Sampling/Random.cs
  8. 10
      src/Examples/SpecialFunctions/ErrorFunction.cs
  9. 6
      src/Examples/Statistics.cs
  10. 6
      src/Numerics/Numerics.csproj
  11. 6
      src/Numerics/Signals/SignalGenerator.Chebyshev.cs
  12. 6
      src/Numerics/Signals/SignalGenerator.Equidistant.cs
  13. 6
      src/Numerics/Signals/SignalGenerator.Random.cs
  14. 12
      src/Silverlight/Silverlight.csproj
  15. 6
      src/UnitTests/IntegralTransformsTests/FourierTest.cs
  16. 4
      src/UnitTests/IntegralTransformsTests/HartleyTest.cs
  17. 8
      src/UnitTests/IntegralTransformsTests/InverseTransformTest.cs
  18. 12
      src/UnitTests/IntegralTransformsTests/MatchingNaiveTransformTest.cs
  19. 6
      src/UnitTests/IntegralTransformsTests/ParsevalTheoremTest.cs

4
src/Examples/Interpolation/AkimaSpline.cs

@ -30,7 +30,7 @@ namespace Examples.Interpolation
using MathNet.Numerics.Interpolation;
using MathNet.Numerics.Interpolation.Algorithms;
using MathNet.Numerics.Random;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Interpolation example
@ -69,7 +69,7 @@ namespace Examples.Interpolation
// 1. Generate 10 samples of the function x*x-2*x on interval [0, 10]
Console.WriteLine(@"1. Generate 10 samples of the function x*x-2*x on interval [0, 10]");
double[] points;
var values = Sample.EquidistantInterval(TargetFunction, 0, 10, 10, out points);
var values = SignalGenerator.EquidistantInterval(TargetFunction, 0, 10, 10, out points);
Console.WriteLine();
// 2. Create akima spline interpolation

4
src/Examples/Interpolation/LinearBetweenPoints.cs

@ -29,7 +29,7 @@ namespace Examples.Interpolation
using System;
using MathNet.Numerics.Interpolation;
using MathNet.Numerics.Random;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Interpolation example
@ -68,7 +68,7 @@ namespace Examples.Interpolation
// 1. Generate 20 samples of the function x*x-2*x on interval [0, 10]
Console.WriteLine(@"1. Generate 20 samples of the function x*x-2*x on interval [0, 10]");
double[] points;
var values = Sample.EquidistantInterval(TargetFunction, 0, 10, 20, out points);
var values = SignalGenerator.EquidistantInterval(TargetFunction, 0, 10, 20, out points);
Console.WriteLine();
// 2. Create a linear spline interpolation based on arbitrary points

4
src/Examples/Interpolation/RationalWithPoles.cs

@ -29,7 +29,7 @@ namespace Examples.Interpolation
using System;
using MathNet.Numerics.Interpolation;
using MathNet.Numerics.Random;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Interpolation example
@ -67,7 +67,7 @@ namespace Examples.Interpolation
// 1. Generate 20 samples of the function f(x) = x on interval [-5, 5]
Console.WriteLine(@"1. Generate 20 samples of the function f(x) = x on interval [-5, 5]");
double[] points;
var values = Sample.EquidistantInterval(TargetFunction, -5, 5, 20, out points);
var values = SignalGenerator.EquidistantInterval(TargetFunction, -5, 5, 20, out points);
Console.WriteLine();
// 2. Create a burlish stoer rational interpolation based on arbitrary points

4
src/Examples/Interpolation/RationalWithoutPoles.cs

@ -29,7 +29,7 @@ namespace Examples.Interpolation
using System;
using MathNet.Numerics.Interpolation;
using MathNet.Numerics.Random;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Interpolation example
@ -68,7 +68,7 @@ namespace Examples.Interpolation
// 1. Generate 10 samples of the function 1/(1+x*x) on interval [-5, 5]
Console.WriteLine(@"1. Generate 10 samples of the function 1/(1+x*x) on interval [-5, 5]");
double[] points;
var values = Sample.EquidistantInterval(TargetFunction, -5, 5, 10, out points);
var values = SignalGenerator.EquidistantInterval(TargetFunction, -5, 5, 10, out points);
Console.WriteLine();
// 2. Create a floater hormann rational pole-free interpolation based on arbitrary points

6
src/Examples/Sampling/Chebyshev.cs

@ -27,7 +27,7 @@
namespace Examples.Sampling
{
using System;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Example of generic function sampling and quantization provider
@ -62,7 +62,7 @@ namespace Examples.Sampling
public void Run()
{
// 1. Get 20 samples of f(x) = (x * x) / 2 at the roots of the Chebyshev polynomial of the first kind within interval [0, 10]
var result = Sample.ChebyshevNodesFirstKind(Function, 0, 10, 20);
var result = SignalGenerator.ChebyshevNodesFirstKind(Function, 0, 10, 20);
Console.WriteLine(@"1. Get 20 samples of f(x) = (x * x) / 2 at the roots of the Chebyshev polynomial of the first kind within interval [0, 10]");
for (var i = 0; i < result.Length; i++)
{
@ -73,7 +73,7 @@ namespace Examples.Sampling
Console.WriteLine();
// 2. Get 20 samples of f(x) = (x * x) / 2 at the roots of the Chebyshev polynomial of the second kind within interval [0, 10]
result = Sample.ChebyshevNodesSecondKind(Function, 0, 10, 20);
result = SignalGenerator.ChebyshevNodesSecondKind(Function, 0, 10, 20);
Console.WriteLine(@"2. Get 20 samples of f(x) = (x * x) / 2 at the roots of the Chebyshev polynomial of the second kind within interval [0, 10]");
for (var i = 0; i < result.Length; i++)
{

10
src/Examples/Sampling/Equidistant.cs

@ -27,7 +27,7 @@
namespace Examples.Sampling
{
using System;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Example of generic function sampling and quantization provider
@ -62,7 +62,7 @@ namespace Examples.Sampling
public void Run()
{
// 1. Get 11 samples of f(x) = (x * x) / 2 equidistant within interval [-5, 5]
var result = Sample.EquidistantInterval(Function, -5, 5, 11);
var result = SignalGenerator.EquidistantInterval(Function, -5, 5, 11);
Console.WriteLine(@"1. Get 11 samples of f(x) = (x * x) / 2 equidistant within interval [-5, 5]");
for (var i = 0; i < result.Length; i++)
{
@ -74,7 +74,7 @@ namespace Examples.Sampling
// 2. Get 10 samples of f(x) = (x * x) / 2 equidistant starting at x=1 with step = 0.5 and retrieve sample points
double[] samplePoints;
result = Sample.EquidistantStartingAt(Function, 1, 0.5, 10, out samplePoints);
result = SignalGenerator.EquidistantStartingAt(Function, 1, 0.5, 10, out samplePoints);
Console.WriteLine(@"2. Get 10 samples of f(x) = (x * x) / 2 equidistant starting at x=1 with step = 0.5 and retrieve sample points");
Console.Write(@"Points: ");
for (var i = 0; i < samplePoints.Length; i++)
@ -93,7 +93,7 @@ namespace Examples.Sampling
Console.WriteLine();
// 3. Get 10 samples of f(x) = (x * x) / 2 equidistant within period = 10 and period offset = 5
result = Sample.EquidistantPeriodic(Function, 10, 5, 10);
result = SignalGenerator.EquidistantPeriodic(Function, 10, 5, 10);
Console.WriteLine(@"3. Get 10 samples of f(x) = (x * x) / 2 equidistant within period = 10 and period offset = 5");
for (var i = 0; i < result.Length; i++)
{
@ -104,7 +104,7 @@ namespace Examples.Sampling
Console.WriteLine();
// 4. Sample f(x) = (x * x) / 2 equidistant to an integer-domain function starting at x = 0 and step = 2
var equidistant = Sample.EquidistantToFunction(Function, 0, 2);
var equidistant = SignalGenerator.EquidistantToFunction(Function, 0, 2);
Console.WriteLine(@" 4. Sample f(x) = (x * x) / 2 equidistant to an integer-domain function starting at x = 0 and step = 2");
for (var i = 0; i < 10; i++)
{

8
src/Examples/Sampling/Random.cs

@ -28,7 +28,7 @@ namespace Examples.Sampling
{
using System;
using MathNet.Numerics.Distributions;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Example of generic function sampling and quantization provider
@ -64,7 +64,7 @@ namespace Examples.Sampling
{
// 1. Get 10 random samples of f(x) = (x * x) / 2 using continuous uniform distribution on [-10, 10]
var uniform = new ContinuousUniform(-10, 10);
var result = Sample.Random(Function, uniform, 10);
var result = SignalGenerator.Random(Function, uniform, 10);
Console.WriteLine(@" 1. Get 10 random samples of f(x) = (x * x) / 2 using continuous uniform distribution on [-10, 10]");
for (var i = 0; i < result.Length; i++)
{
@ -77,7 +77,7 @@ namespace Examples.Sampling
// 2. Get 10 random samples of f(x) = (x * x) / 2 using Exponential(1) distribution and retrieve sample points
var exponential = new Exponential(1);
double[] samplePoints;
result = Sample.Random(Function, exponential, 10, out samplePoints);
result = SignalGenerator.Random(Function, exponential, 10, out samplePoints);
Console.WriteLine(@"2. Get 10 random samples of f(x) = (x * x) / 2 using Exponential(1) distribution and retrieve sample points");
Console.Write(@"Points: ");
for (var i = 0; i < samplePoints.Length; i++)
@ -97,7 +97,7 @@ namespace Examples.Sampling
// 3. Get 10 random samples of f(x, y) = (x * y) / 2 using ChiSquare(10) distribution
var chiSquare = new ChiSquare(10);
result = Sample.Random(TwoDomainFunction, chiSquare, 10);
result = SignalGenerator.Random(TwoDomainFunction, chiSquare, 10);
Console.WriteLine(@" 3. Get 10 random samples of f(x, y) = (x * y) / 2 using ChiSquare(10) distribution");
for (var i = 0; i < result.Length; i++)
{

10
src/Examples/SpecialFunctions/ErrorFunction.cs

@ -27,7 +27,7 @@ namespace Examples.SpecialFunctions
{
using System;
using MathNet.Numerics;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
/// <summary>
/// Special Functions: error functions
@ -69,7 +69,7 @@ namespace Examples.SpecialFunctions
// 2. Sample 10 values of the error function in [-1.0; 1.0]
Console.WriteLine(@"2. Sample 10 values of the error function in [-1.0; 1.0]");
var data = Sample.EquidistantInterval(SpecialFunctions.Erf, -1.0, 1.0, 10);
var data = SignalGenerator.EquidistantInterval(SpecialFunctions.Erf, -1.0, 1.0, 10);
for (var i = 0; i < data.Length; i++)
{
Console.Write(data[i].ToString("N") + @" ");
@ -85,7 +85,7 @@ namespace Examples.SpecialFunctions
// 4. Sample 10 values of the complementary error function in [-1.0; 1.0]
Console.WriteLine(@"4. Sample 10 values of the complementary error function in [-1.0; 1.0]");
data = Sample.EquidistantInterval(SpecialFunctions.Erfc, -1.0, 1.0, 10);
data = SignalGenerator.EquidistantInterval(SpecialFunctions.Erfc, -1.0, 1.0, 10);
for (var i = 0; i < data.Length; i++)
{
Console.Write(data[i].ToString("N") + @" ");
@ -101,7 +101,7 @@ namespace Examples.SpecialFunctions
// 6. Sample 10 values of the inverse error function in [-1.0; 1.0]
Console.WriteLine(@"6. Sample 10 values of the inverse error function in [-1.0; 1.0]");
data = Sample.EquidistantInterval(SpecialFunctions.ErfInv, -1.0, 1.0, 10);
data = SignalGenerator.EquidistantInterval(SpecialFunctions.ErfInv, -1.0, 1.0, 10);
for (var i = 0; i < data.Length; i++)
{
Console.Write(data[i].ToString("N") + @" ");
@ -117,7 +117,7 @@ namespace Examples.SpecialFunctions
// 8. Sample 10 values of the complementary inverse error function in [-1.0; 1.0]
Console.WriteLine(@"8. Sample 10 values of the complementary inverse error function in [-1.0; 1.0]");
data = Sample.EquidistantInterval(SpecialFunctions.ErfcInv, -1.0, 1.0, 10);
data = SignalGenerator.EquidistantInterval(SpecialFunctions.ErfcInv, -1.0, 1.0, 10);
for (var i = 0; i < data.Length; i++)
{
Console.Write(data[i].ToString("N") + @" ");

6
src/Examples/Statistics.cs

@ -28,7 +28,7 @@ namespace Examples
{
using System;
using MathNet.Numerics.Distributions;
using MathNet.Numerics.Sampling;
using MathNet.Numerics.Signals;
using MathNet.Numerics.Statistics;
/// <summary>
@ -124,8 +124,8 @@ namespace Examples
Console.WriteLine();
// 6. Correlation coefficient between 1000 samples of f(x) = x * 2 and f(x) = x * x
data = Sample.EquidistantInterval(x => x * 2, 0, 100, 1000);
dataB = Sample.EquidistantInterval(x => x * x, 0, 100, 1000);
data = SignalGenerator.EquidistantInterval(x => x * 2, 0, 100, 1000);
dataB = SignalGenerator.EquidistantInterval(x => x * x, 0, 100, 1000);
Console.WriteLine(@"6. Correlation coefficient between 1000 samples of f(x) = x * 2 and f(x) = x * x is {0}", Correlation.Pearson(data, dataB).ToString("N04"));
Console.WriteLine();
}

6
src/Numerics/Numerics.csproj

@ -451,9 +451,9 @@
<Compile Include="Random\WH1982.cs" />
<Compile Include="Random\WH2006.cs" />
<Compile Include="Random\Xorshift.cs" />
<Compile Include="Sampling\Sample.Random.cs" />
<Compile Include="Sampling\Sample.Chebyshev.cs" />
<Compile Include="Sampling\Sample.Equidistant.cs" />
<Compile Include="Signals\SignalGenerator.Random.cs" />
<Compile Include="Signals\SignalGenerator.Chebyshev.cs" />
<Compile Include="Signals\SignalGenerator.Equidistant.cs" />
<Compile Include="Sorting.cs" />
<Compile Include="SpecialFunctions.cs" />
<Compile Include="SpecialFunctions\Erf.cs" />

6
src/Numerics/Sampling/Sample.Chebyshev.cs → src/Numerics/Signals/SignalGenerator.Chebyshev.cs

@ -1,4 +1,4 @@
// <copyright file="Sample.Chebyshev.cs" company="Math.NET">
// <copyright file="SignalGenerator.Chebyshev.cs" company="Math.NET">
// Math.NET Numerics, part of the Math.NET Project
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
@ -28,14 +28,14 @@
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
namespace MathNet.Numerics.Sampling
namespace MathNet.Numerics.Signals
{
using System;
/// <summary>
/// Generic Function Sampling and Quantization Provider
/// </summary>
public static partial class Sample
public static partial class SignalGenerator
{
/// <summary>
/// Samples a function at the roots of the Chebyshev polynomial of the first kind.

6
src/Numerics/Sampling/Sample.Equidistant.cs → src/Numerics/Signals/SignalGenerator.Equidistant.cs

@ -1,4 +1,4 @@
// <copyright file="Sample.Equidistant.cs" company="Math.NET">
// <copyright file="SignalGenerator.Equidistant.cs" company="Math.NET">
// Math.NET Numerics, part of the Math.NET Project
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
@ -28,7 +28,7 @@
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
namespace MathNet.Numerics.Sampling
namespace MathNet.Numerics.Signals
{
using System;
using System.Collections.Generic;
@ -36,7 +36,7 @@ namespace MathNet.Numerics.Sampling
/// <summary>
/// Generic Function Sampling and Quantization Provider
/// </summary>
public static partial class Sample
public static partial class SignalGenerator
{
/// <summary>
/// Samples a function equidistant within the provided interval.

6
src/Numerics/Sampling/Sample.Random.cs → src/Numerics/Signals/SignalGenerator.Random.cs

@ -1,4 +1,4 @@
// <copyright file="Sample.Random.cs" company="Math.NET">
// <copyright file="SignalGenerator.Random.cs" company="Math.NET">
// Math.NET Numerics, part of the Math.NET Project
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
@ -28,7 +28,7 @@
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
namespace MathNet.Numerics.Sampling
namespace MathNet.Numerics.Signals
{
using System;
using Distributions;
@ -36,7 +36,7 @@ namespace MathNet.Numerics.Sampling
/// <summary>
/// Generic Function Sampling and Quantization Provider
/// </summary>
public static partial class Sample
public static partial class SignalGenerator
{
/// <summary>
/// Samples a function randomly with the provided distribution.

12
src/Silverlight/Silverlight.csproj

@ -933,14 +933,14 @@
<Compile Include="..\Numerics\Random\Xorshift.cs">
<Link>Random\Xorshift.cs</Link>
</Compile>
<Compile Include="..\Numerics\Sampling\Sample.Chebyshev.cs">
<Link>Sampling\Sample.Chebyshev.cs</Link>
<Compile Include="..\Numerics\Signals\SignalGenerator.Chebyshev.cs">
<Link>Signals\SignalGenerator.Chebyshev.cs</Link>
</Compile>
<Compile Include="..\Numerics\Sampling\Sample.Equidistant.cs">
<Link>Sampling\Sample.Equidistant.cs</Link>
<Compile Include="..\Numerics\Signals\SignalGenerator.Equidistant.cs">
<Link>Signals\SignalGenerator.Equidistant.cs</Link>
</Compile>
<Compile Include="..\Numerics\Sampling\Sample.Random.cs">
<Link>Sampling\Sample.Random.cs</Link>
<Compile Include="..\Numerics\Signals\SignalGenerator.Random.cs">
<Link>Signals\SignalGenerator.Random.cs</Link>
</Compile>
<Compile Include="..\Numerics\Sorting.cs">
<Link>Sorting.cs</Link>

6
src/UnitTests/IntegralTransformsTests/FourierTest.cs

@ -32,7 +32,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
using IntegralTransforms;
using IntegralTransforms.Algorithms;
using NUnit.Framework;
using Sampling;
using Signals;
/// <summary>
/// Fourier test.
@ -51,7 +51,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
[Test]
public void NaiveTransformsRealSineCorrectly()
{
var samples = Sample.EquidistantPeriodic(w => new Complex(Math.Sin(w), 0), Constants.Pi2, 0, 16);
var samples = SignalGenerator.EquidistantPeriodic(w => new Complex(Math.Sin(w), 0), Constants.Pi2, 0, 16);
// real-odd transforms to imaginary odd
var dft = new DiscreteFourierTransform();
@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
[Test]
public void Radix2ThrowsWhenNotPowerOfTwo()
{
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, 0x7F);
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), _uniform, 0x7F);
var dft = new DiscreteFourierTransform();

4
src/UnitTests/IntegralTransformsTests/HartleyTest.cs

@ -32,7 +32,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
using IntegralTransforms;
using IntegralTransforms.Algorithms;
using NUnit.Framework;
using Sampling;
using Signals;
/// <summary>
/// Hartley tests.
@ -78,7 +78,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
public void NaiveMatchesDft([Values(HartleyOptions.Default, HartleyOptions.AsymmetricScaling, HartleyOptions.NoScaling)] HartleyOptions hartleyOptions, [Values(FourierOptions.Default, FourierOptions.AsymmetricScaling, FourierOptions.NoScaling)] FourierOptions fourierOptions)
{
var dht = new DiscreteHartleyTransform();
var samples = Sample.Random(x => x, _uniform, 0x80);
var samples = SignalGenerator.Random(x => x, _uniform, 0x80);
VerifyMatchesDft(
samples,

8
src/UnitTests/IntegralTransformsTests/InverseTransformTest.cs

@ -32,7 +32,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
using IntegralTransforms;
using IntegralTransforms.Algorithms;
using NUnit.Framework;
using Sampling;
using Signals;
/// <summary>
/// Inverse Transform test.
@ -58,7 +58,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
Func<Complex[], Complex[]> forward,
Func<Complex[], Complex[]> inverse)
{
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, count);
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), _uniform, count);
var work = new Complex[samples.Length];
samples.CopyTo(work, 0);
@ -84,7 +84,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
Func<double[], double[]> forward,
Func<double[], double[]> inverse)
{
var samples = Sample.Random(x => x, _uniform, count);
var samples = SignalGenerator.Random(x => x, _uniform, count);
var work = new double[samples.Length];
samples.CopyTo(work, 0);
@ -183,7 +183,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
[Test]
public void FourierDefaultTransformIsReversible()
{
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, 0x7FFF);
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), _uniform, 0x7FFF);
var work = new Complex[samples.Length];
samples.CopyTo(work, 0);

12
src/UnitTests/IntegralTransformsTests/MatchingNaiveTransformTest.cs

@ -32,7 +32,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
using IntegralTransforms;
using IntegralTransforms.Algorithms;
using NUnit.Framework;
using Sampling;
using Signals;
/// <summary>
/// Matching Naive transform tests.
@ -75,7 +75,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
public void FourierRadix2MatchesNaiveOnRealSine([Values(FourierOptions.Default, FourierOptions.Matlab, FourierOptions.NumericalRecipes)] FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Sample.EquidistantPeriodic(w => new Complex(Math.Sin(w), 0), Constants.Pi2, 0, 16);
var samples = SignalGenerator.EquidistantPeriodic(w => new Complex(Math.Sin(w), 0), Constants.Pi2, 0, 16);
VerifyMatchesNaiveComplex(
samples,
@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
public void FourierRadix2MatchesNaiveOnRandom([Values(FourierOptions.Default, FourierOptions.Matlab, FourierOptions.NumericalRecipes)] FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, 0x80);
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), _uniform, 0x80);
VerifyMatchesNaiveComplex(
samples,
@ -121,7 +121,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
public void FourierBluesteinMatchesNaiveOnRealSineNonPowerOfTwo([Values(FourierOptions.Default, FourierOptions.Matlab, FourierOptions.NumericalRecipes)] FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Sample.EquidistantPeriodic(w => new Complex(Math.Sin(w), 0), Constants.Pi2, 0, 14);
var samples = SignalGenerator.EquidistantPeriodic(w => new Complex(Math.Sin(w), 0), Constants.Pi2, 0, 14);
VerifyMatchesNaiveComplex(
samples,
@ -144,7 +144,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
public void FourierBluesteinMatchesNaiveOnRandomPowerOfTwo([Values(FourierOptions.Default, FourierOptions.Matlab, FourierOptions.NumericalRecipes)] FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, 0x80);
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), _uniform, 0x80);
VerifyMatchesNaiveComplex(
samples,
@ -167,7 +167,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
public void FourierBluesteinMatchesNaiveOnRandomNonPowerOfTwo([Values(FourierOptions.Default, FourierOptions.Matlab, FourierOptions.NumericalRecipes)] FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, 0x7F);
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), _uniform, 0x7F);
VerifyMatchesNaiveComplex(
samples,

6
src/UnitTests/IntegralTransformsTests/ParsevalTheoremTest.cs

@ -32,7 +32,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
using IntegralTransforms;
using IntegralTransforms.Algorithms;
using NUnit.Framework;
using Sampling;
using Signals;
using Statistics;
/// <summary>
@ -53,7 +53,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
[Test]
public void FourierDefaultTransformSatisfiesParsevalsTheorem([Values(0x1000, 0x7FF)] int count)
{
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, count);
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), _uniform, count);
var timeSpaceEnergy = (from s in samples select s.MagnitudeSquared()).Mean();
@ -75,7 +75,7 @@ namespace MathNet.Numerics.UnitTests.IntegralTransformsTests
[Test]
public void HartleyDefaultNaiveSatisfiesParsevalsTheorem([Values(0x40, 0x1F)] int count)
{
var samples = Sample.Random(x => x, _uniform, count);
var samples = SignalGenerator.Random(x => x, _uniform, count);
var timeSpaceEnergy = (from s in samples select s * s).Mean();

Loading…
Cancel
Save