DSP library change log
======================

6.3.0
-----

  * ADDED:   Support for XCommon CMake build system

  * Changes to dependencies:

    - lib_logging: 3.0.0 -> 3.2.0

6.2.1
-----

  * CHANGED: Jenkinsfile used for CI

6.2.0
-----

  * CHANGED: Use XMOS Public Licence Version 1
  * CHANGED: dsp_vector_abs function to always return positive values

6.1.0
-----

  * ADDED: Support for XS3 architecture

6.0.2
-----

  * CHANGED: use XS2 version of platform-specific functions on XS3
  * CHANGED: Pin Python package versions
  * REMOVED: not necessary cpanfile

6.0.1
-----

  * CHANGED: Updated generate_window.py to work with Python 3
  * CHANGED: Updated to use Jenkins shared library 0.14.1

6.0.0
-----

  * ADDED: vector add, sub and mul functions for int8, int16 and int32 in both
    fixed and block floating point.
  * CHANGED: Functions re-implemented in C, requires the use of unsafe pointers
    if called from XC

  * Changes to dependencies:

    - lib_logging: Added dependency 3.0.0

5.0.0
-----

  * CHANGED: Build files updated to support new "xcommon" behaviour in xwaf.

4.2.0
-----

  * Added dsp_ch_pair_t struct to represent channel pairs
  * Added floating point biquads
  * Changed implementation of biquads to be faster and smaller
  * Added use of pipenv to set up python environment

4.1.0
-----

  * Added post-FFT Hanning windowing
  * Added function to combine real and imaginary arrays into complex array
  * Added function to split complex array into real and imaginary arrays
  * Added 48-point DCT
  * Added dsp filter FIR add sample
  * Added softplus
  * Added integer sqrt
  * Documentation updates

4.0.0
-----

  * Removed synchronous sample rate conversion functions - now maintained in
    lib_src
  * Fixed bug in dsp_vector_mulv_addv()
  * Faster bit reverse and inverse FFT
  * Added real FFT
  * Added real reverse FFT
  * Added FFT with top half blanked
  * Logistics functions
  * Block floating point functions
  * Complex FIR
  * Complex vector arithmetic, with optional scaling
  * Added in-place complex vector scaling
  * Added complex vector magnitude
  * Added complex vector scaling with arithmetic shift
  * Added complex negative multiply and accumulate

3.1.0
-----

  * Deprecated synchronous sample rate conversion functions - now maintained in
    lib_src
  * Added functions to compute a fast fixed point atan2 and hypotenuse
  * Added Q8 versions of the arc sine and arc cosine functions
  * Added 16384 point sine table
  * Improved performance of the forwards FFT function, with small reduction in
    memory footprint

3.0.0
-----

  * Added exponential and natural logarithm functions
  * Added Hyperbolic sine and cosine
  * Fixed Matrix Multiplication and improved performance
  * Changed API prefix from ``lib_dsp_`` to ``dsp_``.
  * Changed lib_dsp_fft_complex_t to dsp_complex_t and
    lib_dsp_fft_complex_short_t to dsp_complex_short_t
  * Various fixes in API documentation
  * Added complex vector multiplication
  * Added synchronous sample rate conversion (downsample or upsample by factor
    3)

2.0.0
-----

  * FFT interface update. Consolidated interface and improved testing.
  * Halved the memory for processing two real signals with a single complex FFT.
  * Renamed \*_transforms to \*_fft to improve naming consistency
  * Improved performance and accuracy of dsp_math_sqrt. Error is <= 1. Worst
    case performance is 96 cycles.
  * int32_t and uint32_t now used more consistently.

1.0.4
-----

  * Added fixed point sine and cosine functions. Performance: 62 cycles for
    dsp_math_sin, 64 cycles for dsp_math_cos.
  * Brute force testing of all input values proved accuracy to within one LSB
    (error is <= 1)
  * Added short int complex and tworeals FFT and iFFT
  * Improved Macros for converting from double to int and int to double.
  * Added optimised fixed point atan function dsp_math_atan
  * Most tests in math_app.xc are now self-checking. Improved error reporting.
  * Option for performance measurements in 10ns cycles.

1.0.3
-----

  * Update to source code license and copyright

1.0.2
-----

  * FFT and inverse FFT for two complex short int signals

1.0.1
-----

  * FFT and inverse FFT for complex signals or two real signals.

1.0.0
-----

  * Initial version

