* adding scipy integrate, initial check-in
* compile unix double-precision, select integrations algos
* bumping ulab version number to 6.7.0
* adding documentation
* documentation fix
* documentation fix
* documentation fix
* rewritten in some places
* complex number error handling
* added test cases
* resolved importing scipy.integrate
* resolved importing scipy.integrate #2
* build integrate only when we have MICROPY_FLOAT_IMPL_DOUBLE
* reverting commit a4c0c0b
* re-pushing failed commit
* Revert "re-pushing failed commit"
This reverts commit a10e89fe14.
* improve tests using math.isclose()
* enabled fp32 builds
* removed conditional includes
* adapted to new function names, corrected importing
* function names similar to in CPython scipy.integrate, some minor corrections
* major rewrite representing the name changes, mapping to CPython scipy.integrate, more background info
* CI: Bump various build workflow versions.
* CI: Continue other jobs on failure.
Give a more complete overview of failures, rather than forcing the developer to play whack-a-mole.
* CI: Do not modify unix mpconfigport.h.
Since `MICROPY_PY_UHASHLIB` does not occur in unix/mpconfigport.h this would have simply
duplicated the config file and supplied it as `MP_CONFIGFILE` triggering a bug in how this
define is handled.
* fix the `np.delete` bug
* fix the `np.delete` bug, add unittest code
* increment the version number and update the change log
* update the expected file `delete.py.exp`
* ndarray_set_value: in CircuitPython 9
* mp_obj_slice_indices: ditto
* Use modern MP_REGISTER_MODULE calls: ditto
* use MP_OBJ_SENTINEL to forward to locals dict (was never necessary?)
* 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 bitwise operators
* add build to requirements
* [EDIT] - Tweaked test data and saved test results.
* Tweaked test values for and / or
* [EDIT] - Setting print options to be verbose for test comparisons.
* [EDIT] - Removed call to set_printoptions and added output from ulab instead of numpy. Of note - there seems to be a discrepancy between the numpy and ulab output for one of the left_shift cases.
* [EDIT] - Added newline at end of file for diffing purposes.
* [EDIT] - Added print options back in as output seemed truncated.
---------
Co-authored-by: Zoltán Vörös <zvoros@gmail.com>
Co-authored-by: JamieDouugh <jamie.davies@douugh.com>
* 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)