Changelog

# Changelog

## 0.3.0

- Added `clarke_park_enable_cordic()` and `clarke_park_disable_cordic()`: the application decides at run time
  whether the Q15 Park transform takes its sin/cos from the CORDIC hardware
  or from the IQmath software tables. The CORDIC engine is acquired as a shared
  reference while the CORDIC source is selected, and released when the software
  source is selected.
- Added `examples/benchmark/`: cost benchmark comparing the float backend and
  the Q15 backend on the software tables against the same Q15 code on the
  CORDIC hardware, both from a single binary.

## 0.2.0

- IQmath backend is now generic over the Q-format: `_iq8` through `_iq28`
  can be used simultaneously, each dispatching to its own backend.
- Removed `CONFIG_CLARKE_PARK_IQ_FORMAT` (Kconfig). The unsuffixed `_iq` API
  is an inline wrapper around the `_iqN` backend named by `GLOBAL_IQ` in the
  including translation unit.

## 0.1.0

- Initial version

### Added

- Clarke / inverse-Clarke transform (U/V/W <-> alpha/beta)
- Park / inverse-Park transform (alpha/beta <-> d/q)
- `float` backend (`clarke_park_*_f()`) and IQmath fixed-point backend
  (`clarke_park_*_iq()`), selectable per call through a single unified API
- `CONFIG_CLARKE_PARK_IQ_FORMAT` to select the Q-format of the fixed-point
  backend (default Q15)