Skip to content

Complex struct in Portable AForge and Accord

Anders Gustafsson edited this page Mar 24, 2015 · 2 revisions

AForge.NET has had its own implementation of a complex value struct, AForge.Math.Complex. This is probably due mainly to historical reasons from the time when .NET did not contain its own implementation of a complex value struct.

But since version 4, System.Numerics.Complex is indeed available in the .NET Framework. This availability has however not been reflected in AForge.NET, which has continued to rely on its proprietary Complex implementation.

To facilitate integration of AForge.NET with modern code bases, I have now decided to deprecate AForge.Math.Complex, and replace it with System.Numerics.Complex wherever used. This update has been made possible with the recent switch to PCL profile 111, since the previous inclusion of the Windows Phone 8 Silverlight target prevented the application of the System.Numerics.Complex type.

This switch results in a limited number of API changes in the Portable AForge and Portable Accord libraries. More specifically, the following types are affected by the switch:

  • AForge.Math.FourierTransform
  • AForge.Imaging.ComplexImage
  • AForge.Imaging.ComplexFilters.FrequencyFilter
  • Accord.Audio.ComplexSignal
  • Accord.Audio.Signal
  • Accord.Audio.Tools
  • Accord.Audio.ComplexFilters.CombFilter
  • Accord.Audio.ComplexFilters.DifferentialRectificationFilter
  • Accord.Audio.ComplexFilters.EnvelopeFilter
  • Accord.Audio.Filters.WaveRectifier
  • Accord.Audio.Generators.ImpulseGenerator
  • Accord.Audio.Windows.RectangularWindow
  • Accord.Audio.Windows.WindowBase
  • Accord.Math.Gabor
  • Accord.Math.HilbertTransform
  • Accord.Math.Geometry.DiscreteCurveEvolution
  • Accord.Math.Transforms.FourierTransform2
  • Accord.Statistics.Circular
  • Accord.Statistics.Distributions.Univariate.WrappedCauchyDistribution

Purchase a commercial license of Shim.Drawing for Android, iOS or Windows for unlimited distribution of Portable AForge and Accord based applications on app stores!

Android, €50
iOS, €50
Windows, €50
All platforms, €100

All prices include VAT.

Clone this wiki locally