* implement floor division
* fix 3D, 4D loops
* add missing array declaration in 3D, and 4D
* Add test cases for floor division and fix it for ints (#599)
* Add test cases for floor division
* Fix define name in comment
* Fix floor division of ints
---------
Co-authored-by: Maciej Sokołowski <matemaciek@gmail.com>
Now, requesting to allocate an array that is too big gives the exception
'array is too big', like numpy.
This does depend on a gcc extension, `__builtin_mul_overflow`, present
since at least version 5. This extension is also supported in clang.
msvc is probably the only compiler of note that does not support it.
Closes: #576
* 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>
This allows the build to be green in ulab before the changes in
circuitpython. After circuitpython's _typing/__init__.py is fixed to
use the new canonical location, this temporary alias can be removed.
* 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/