Browse Source

FFT: fix PCL builds, cleanup

pull/445/head
Christoph Ruegg 10 years ago
parent
commit
6a42fb7c83
  1. 4
      MathNet.Numerics.All.sln
  2. 6
      src/NativeProviders/MKL/fft.cpp
  3. 2
      src/NativeProviders/Windows/MKL/MKLWrapper.vcxproj.filters
  4. 6
      src/Numerics/Providers/FourierTransform/ManagedFourierTransformProvider.cs
  5. 4
      src/Numerics/Providers/FourierTransform/Mkl/MklFourierTransformProvider.cs

4
MathNet.Numerics.All.sln

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Readme", "Readme", "{C2F37492-38AE-4186-8A7F-17B0B080942C}"
ProjectSection(SolutionItems) = preProject

6
src/NativeProviders/MKL/fft.cpp

@ -4,14 +4,13 @@
#include <stdlib.h>
#include <math.h>
#include <float.h>
#include "mkl_service.h"
#include "mkl_dfti.h"
template<typename Data, typename Precision, typename FFT>
inline MKL_LONG fft_1d_inplace(const MKL_LONG n, Data x[], const Precision forward_scale, const Precision backward_scale, const DFTI_CONFIG_VALUE precision, const DFTI_CONFIG_VALUE domain, FFT fft)
{
MKL_LONG status = 0;
DFTI_DESCRIPTOR_HANDLE descriptor = 0;
MKL_LONG status;
DFTI_DESCRIPTOR_HANDLE descriptor = nullptr;
status = DftiCreateDescriptor(&descriptor, precision, domain, 1, n);
if (0 != status) goto cleanup;
@ -25,7 +24,6 @@ inline MKL_LONG fft_1d_inplace(const MKL_LONG n, Data x[], const Precision forwa
if (0 != status) goto cleanup;
status = fft(descriptor, x);
if (0 != status) goto cleanup;
cleanup:
DftiFreeDescriptor(&descriptor);

2
src/NativeProviders/Windows/MKL/MKLWrapper.vcxproj.filters

@ -33,7 +33,7 @@
<ClCompile Include="..\..\Common\blas.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="fft.cpp">
<ClCompile Include="..\..\MKL\fft.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>

6
src/Numerics/Providers/FourierTransform/ManagedFourierTransformProvider.cs

@ -26,11 +26,15 @@
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
using System.Numerics;
using MathNet.Numerics.IntegralTransforms;
namespace MathNet.Numerics.Providers.FourierTransform
{
#if !NOSYSNUMERICS
using Complex = System.Numerics.Complex;
#endif
public class ManagedFourierTransformProvider : IFourierTransformProvider
{
public virtual void InitializeVerify()

4
src/Numerics/Providers/FourierTransform/Mkl/MklFourierTransformProvider.cs

@ -26,6 +26,8 @@
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
#if NATIVE
using System;
using System.Numerics;
@ -88,3 +90,5 @@ namespace MathNet.Numerics.Providers.FourierTransform.Mkl
}
}
}
#endif

Loading…
Cancel
Save