This will build micropython's master branch with ulab support, and
then run the tests in tests/
At this time, there's only one test and it's not very useful.
- Adapt to signature of mp_make_new_fun_t for mpy and cpy by ifdef
- Use MP_OBJ_IS_TYPE instead of mp_obj_is_type
- Ditto MP_OBJ_IS_INT
- Use mp_const_none instead of MP_ROM_NONE
- Ditto mp_const_true, mp_const_false
Special casing floats decreases runtime to about 50% (applying a 117-tap
filter to 512 points of data goes from 70ms to 32ms)
The top_n/bot_n calculations already meant that the a/c indices were
never out of range. This decreases runtime further to about 15% of
original (11ms)
Timings done on an Adafruit Clue (nrf52840 at 64MHz)
It does of course increase code size somewhat.
These problems were found building in circuitpython:
../../extmod/ulab/code/numerical.c:671:5: error: "ULAB_NUMERICAL_ARGSORT" is not defined, evaluates to 0 [-Werror=undef]
671 | #if ULAB_NUMERICAL_ARGSORT
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
../../extmod/ulab/code/ulab.c:150:9: error: "ULAB_VECTORISE_" is not defined, evaluates to 0 [-Werror=undef]
150 | #if ULAB_VECTORISE_
| ^~~~~~~~~~~~~~~
../../extmod/ulab/code/ulab.c:159:9: error: "ULAB_VECTORISE_TAHN" is not defined, evaluates to 0 [-Werror=undef]
159 | #if ULAB_VECTORISE_TAHN
| ^~~~~~~~~~~~~~~~~~~
../../extmod/ulab/code/ulab.c:198:9: error: "ULAB_NUMERICAL_ARGSORT" is not defined, evaluates to 0 [-Werror=undef]
198 | #if ULAB_NUMERICAL_ARGSORT
| ^~~~~~~~~~~~~~~~~~~~~~
These problems were found building in circuitpython:
../../extmod/ulab/code/numerical.c:671:5: error: "ULAB_NUMERICAL_ARGSORT" is not defined, evaluates to 0 [-Werror=undef]
671 | #if ULAB_NUMERICAL_ARGSORT
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
../../extmod/ulab/code/ulab.c:150:9: error: "ULAB_VECTORISE_" is not defined, evaluates to 0 [-Werror=undef]
150 | #if ULAB_VECTORISE_
| ^~~~~~~~~~~~~~~
../../extmod/ulab/code/ulab.c:159:9: error: "ULAB_VECTORISE_TAHN" is not defined, evaluates to 0 [-Werror=undef]
159 | #if ULAB_VECTORISE_TAHN
| ^~~~~~~~~~~~~~~~~~~
../../extmod/ulab/code/ulab.c:198:9: error: "ULAB_NUMERICAL_ARGSORT" is not defined, evaluates to 0 [-Werror=undef]
198 | #if ULAB_NUMERICAL_ARGSORT
| ^~~~~~~~~~~~~~~~~~~~~~