Commit graph

121 commits

Author SHA1 Message Date
Zoltán Vörös
261e606fc7 implement axis keyword of transpose 2025-08-15 21:00:53 +02:00
Zoltán Vörös
66e9eb3ed3
add ndim property (#725) 2025-06-06 21:46:21 +02:00
Zoltán Vörös
844f6e5e1e
fix type inference
* fix type inference

* make checks inclusive for negative values of integers

* move to newer version of ubuntu

* fix iterator macros

* fix iterator macros
2025-06-06 21:29:41 +02:00
Zoltán Vörös
1398a8606f
loadtxt can deal with multi-line comments (#720)
* loadtxt can deal with multi-line comments

* multiline headers/footers are treated correctly

* add macro to traverse arrays
2025-06-06 20:58:31 +02:00
Zoltán Vörös
41c4363f11
address issue raised in https://github.com/v923z/micropython-ulab/issues/676 (#677)
* ndarrays can be created from buffer
2024-07-23 18:59:29 +02:00
Zoltán Vörös
f2fad82a97
add random module (#654)
* add random module skeleton

* add Generator object

* add placeholder for random.random method

* add rudimentary random.random implementation

* generator object accept seed(s) argument

* add out keyword

* add support for out keyword argument

* update change log

* add links to header files

* fix file link

* fix error messages

* add uniform to random module

* add normal distribution

* fix argument options in normal and uniform

* update documentation
2024-01-13 18:42:43 +01:00
9c9e9532ac
Switch to using MP_ERROR_TEXT in CircuitPython, change ulab accordingly 2023-10-30 09:50:39 +01:00
2df210f87a
Drop certain CircuitPython workarounds that are no longer needed
* 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?)
2023-09-22 14:47:02 -05:00
HugoNumworks
5fa9b70766
Add missing constant constraints (#594) 2023-04-14 16:43:09 +02:00
Damien George
8585407df9
Use enum instead of const for float consts with repr C (#591)
Older compilers (eg for esp8266) cannot see that "const uint32_t" is a true
constant at compile time, so use an assigned enum instead.

Don't do this for object representation D because that requires a 64-bit
integer.

Signed-off-by: Damien George <damien@micropython.org>
2023-03-04 08:28:01 +01:00
Jim Mussared
42f396a992
Update mp_obj_type_t definitions for latest MicroPython. (#549)
* 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>
2022-09-21 19:46:39 +02:00
Damien George
35b58d0037 Remove MICROPY_FLOAT_CONST from ULAB_DEFINE_FLOAT_CONST
A given use of ULAB_DEFINE_FLOAT_CONST may already have the correct form
of the float constant, so wrapping it in MICROPY_FLOAT_CONST may be the
wrong thing to do.  So let the user of ULAB_DEFINE_FLOAT_CONST control how
the constant is formed.

Signed-off-by: Damien George <damien.p.george@gmail.com>
2022-07-11 15:27:49 +10:00
Damien George
1347694672
Fix build for MICROPY_OBJ_REPR_D configurations (#531)
* 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>
2022-07-06 20:38:20 +02:00
Zoltán Vörös
d438344943
fix in-place assignment from slices (#524)
* fix in-place assignment from slices
2022-05-17 21:25:20 +02:00
Zoltán Vörös
74533d18ff add asarray, and tests for asarray and size 2022-01-14 20:45:14 +01:00
Zoltán Vörös
2b578ae333 add tolist method to ndarray 2022-01-01 18:16:04 +01:00
Zoltán Vörös
c11dac322d fix array initialisation from complex array 2022-01-01 09:20:00 +01:00
Zoltán Vörös
7e13fab911 support ones, zeros, and full for complex dtype 2021-12-31 23:39:58 +01:00
Zoltán Vörös
ce26a0d76b implement slicing for complex dtype 2021-12-03 09:06:49 +01:00
Zoltán Vörös
911fdb4587 ulab can now be compiled with complex support 2021-12-03 08:59:23 +01:00
b913d064e5 ndarray: drop compat workaround for circuitpython
It's anticipated that circuitpython will no longer need this compat code
after merging 1.17.
2021-10-14 14:26:38 -05:00
Zoltán Vörös
6ed12969d3 implement flat iterator 2021-07-13 21:35:01 +02:00
Jeff Epler
e881ccb30c
Merge pull request #418 from jepler/split-type-objects
support circuitpython-style split type objects
2021-07-12 19:53:38 -05:00
9b8cd47640 Rename mp_type_call -> mp_type_get_call_slot 2021-07-12 08:47:15 -05:00
1214afd9ce Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 08:47:15 -05:00
Jeff Epler
75c7e05eac rename the type flag to EXTENDED for consistency 2021-07-09 14:56:20 -05:00
Jeff Epler
deda9d74d8 support circuitpython-style split type objects 2021-07-06 11:20:26 -05:00
Zoltán Vörös
7f38ad9315 implement ndarray.shape assigment 2021-06-19 15:58:56 +02:00
Zoltán Vörös
f946abd2ee patch circuitpython 2021-06-09 07:34:18 +02:00
Zoltán Vörös
4edb6aa318 fix upcasting rules for ndarray + scalar 2021-06-01 17:32:18 +02:00
Zoltán Vörös
f1a2aadc6e fix garbage collection problem 2021-05-13 21:54:50 +02:00
Scott Shawcroft
e3bf07cabb
Lowercase MP macros 2021-04-22 17:54:02 -07:00
4666bbd4de Fix diagnostics in CircuitPython 2021-04-03 12:07:12 -05:00
Stephan Hartl
da9eb89e9a Changed define OPENMV to micropython version check
The issue with is solved only coresponed to micropython v1.11
2021-04-01 09:49:42 +02:00
Stephan Hartl
04f6fd68f9 Readd some OPENMV code
I used the OPENMV define to get ulab 1.6.1 under ArduPy (Mircopython v1.11) running.
To update to 2.1.5 i have readded the missing code
2021-03-31 16:18:30 +02:00
Zoltán Vörös
6fb6f2383f re-introduce ndarray_get_buffer, and buffer protocol 2021-02-21 21:06:02 +01:00
Zoltán Vörös
27bc5b2e79 implemented byteswap 2021-02-12 21:10:08 +01:00
Zoltán Vörös
06bb8348a0 updated docs, removed circuitpython stuff, and fixed diff code 2021-01-14 19:40:18 +01:00
CallumJHays
9dfc972180 Rename array to ndarray, replaced with constructor fn 2021-01-09 11:43:55 +10:00
Zoltán Vörös
aa649b28bb factored out fft_fft_ifft_spectrogram 2020-11-27 07:42:20 +01:00
Zoltán Vörös
ea2ccdb914 removed OPENMV flags 2020-11-26 17:27:58 +01:00
Zoltán Vörös
42f20bcc67 added the frombuffer function 2020-11-26 17:26:15 +01:00
Zoltán Vörös
b35c1568f3 removed numpy_defs.h, scipy_defs.h 2020-11-25 21:03:35 +01:00
Zoltán Vörös
a30b1c2dc1 removed unused ndarray->dense member 2020-11-24 07:18:17 +01:00
Zoltán Vörös
2ec3a422ce dtype is exposed in circuitpython, too 2020-11-11 07:23:59 +01:00
Zoltán Vörös
984ddf51b4 added dtype implementation 2020-11-02 18:06:29 +01:00
Taku Fukada
1d18ab0381 Update type hints for the new/modified functions 2020-10-23 06:00:38 +09:00
Zoltán Vörös
89801ab12c restored circuitpython compatibility 2020-10-17 13:47:26 +02:00
Zoltán Vörös
511bb5f6c9 added in-place operators for 1, 3, and 4 dimensions 2020-10-16 22:14:13 +02:00
Zoltán Vörös
7af7042572 fixed in-place operators 2020-10-14 20:27:37 +02:00