- If ENABLE_SOFTWARE is true, the behavior is the same than before. All
tests and functions relying on std::complex are obfuscated otherwise.
This is required for Xilinx tools.
- Fix the MC (Monte-Carlo) to the proper algoritm name, ML (maximum
likelyhood) and remove HalfPi since the use of divider allow to
theoretically support any pi / 2^k, k an integer. In reality, a too
low rotation would require more stages than 7 but it is for futur
improvements.
- Make use of `divider` template to provide rotation grain finer than pi
/ 2. Validated (unit-tested) with pi / 4 with the same margins than pi
/ 2 (2% of error with floating scaling, 3% with fixed scaling).
- Fix rom size which now use N_STAGES+1 bits instead of 8 regardless of
N_STAGES. Simplify the cordic method implementation, which
unexpectedly (and fortunately) improved its performance.