* Fix -Wunused-variable diagnostic when !ULAB_SUPPORTS_COMPLEX
`o_in` is only used in the SUPPORTS_COMPLEX case, so the variable
definition needs to be moved accordingly.
* update version and changelog
* add optional out keyword argument to math functions
* fix the keyword handling in sqrt
* run micropython build on ubuntu 20.04 instead of latest
* fix unused variable error in vector_generic_vector
This is useful for generating FIR filters using code snippets generated at
https://fiiir.com/ (at least those with a rectangular window type; other
window types need additional functions but we can revisit it later if needed)
I think this will come in handy for folks who are using the advanced
features of our audio synthesizer module, synthio.
e.g., the following block now gives highly similar results on ulab
or numpy:
```py
try:
import numpy as np
except:
from ulab import numpy as np
# Example code, computes the coefficients of a low-pass windowed-sinc filter.
# Configuration.
fS = 48000 # Sampling rate.
fL = 4000 # Cutoff frequency.
N = 23 # Filter length, must be odd.
# Compute sinc filter.
h = np.sinc(2 * fL / fS * (np.arange(N) - (N - 1) / 2))
# Normalize to get unity gain.
h /= np.sum(h)
# Applying the filter to a signal s can be as simple as writing
# s = np.convolve(s, h)
* build.sh: Fix unix executable path.
This was updated recently to no longer copy to the ports/unix directory.
Use the version in the build directory instead if available.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
* Update to new style mp_obj_type_t definitions.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
* Fix use of object pointers so code builds with MICROPY_OBJ_REPR_D
Signed-off-by: Damien George <damien.p.george@gmail.com>
* Fix use of float constants so they work with MICROPY_OBJ_REPR_D
Signed-off-by: Damien George <damien.p.george@gmail.com>
* Use new float-const macros to simplify definitions of e,inf,nan,pi.
Signed-off-by: Damien George <damien.p.george@gmail.com>
* Add support for MICROPY_OBJ_REPR_C
Signed-off-by: Damien George <damien.p.george@gmail.com>
* Add unix-nanbox build to build.sh script
Building nanbox requires gcc-multilib because it forces 32-bit mode.
Signed-off-by: Damien George <damien.p.george@gmail.com>
* Bump version to 5.0.8
Signed-off-by: Damien George <damien.p.george@gmail.com>
* Move most documentation out of the ulab base module.
* float -> _float
* ulab.ndarray -> ulab.numpy.ndarray
This still does not build unless it is taken together with a modification
to CircuitPython that _also_ moves references to ulab.numpy.
Because of this, this PR will continue to show red. The suitability of
the changes can be gaged by looking at the related CircuitPython PR build
or by running locally the build-cp.sh script with the right ref checked
out in circuitpython/