Commit graph

116 commits

Author SHA1 Message Date
Zoltán Vörös
2b74236c8c
Take (#688)
* add numpy.take
2024-10-09 21:10:25 +02:00
Zoltán Vörös
c0b3262be4
Add keyword arguments to spectrogram (#657)
* re-work spectrogram method, so that RAM can be re-used

* update docs with spectrogram changes
2024-09-14 12:18:14 +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
Zoltán Vörös
5279de73ab
implement AND, OR, XOR binary operators (#639)
* implement AND, OR, XOR binary operators

* fix unterminated if

* add missing linebreak

* add more linebreaks

* remove leading linebreak
2023-07-21 21:57:31 +02:00
Zoltán Vörös
ef248b684d
add bitwise operators (#616)
* add bitwise operators

* add build to requirements
2023-06-20 21:44:58 +02:00
Zoltán Vörös
73dbbf79bb
add the out keyword argument to universal functions (#621)
* 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
2023-05-28 17:33:24 +02:00
1150554ad5
ulab.numpy: implement sinc for creating audio filters
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)
2023-05-15 18:00:59 -05:00
Zoltán Vörös
47ad73ab57
Floordiv (#593)
* 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>
2023-04-23 21:14:59 +02:00
Zoltán Vörös
dfed7a844a
implement nonzero (#540)
* implement nonzero for Boolean arrays

* remove axtls from build script

* extend nonzero to ndarrays of arbitrary dtype, and iterable, fix float tests

* temporarily disable circuitpython tests

* add nonzero documentation

* Added test script for np.nonzero()

Co-authored-by: Tejal Ashwini Barnwal <64950661+tejalbarnwal@users.noreply.github.com>
2022-08-03 20:56:45 +02:00
Zoltán Vörös
67538b0ee0 move spectrogram to utils module 2022-01-29 18:02:48 +01:00
Zoltán Vörös
5395c76d98 first implementation of loadtxt 2022-01-25 23:00:08 +01:00
Zoltán Vörös
209e7ff251 add savetxt implementation 2022-01-18 21:20:57 +01:00
Zoltán Vörös
a1f1cd255b rebasing from master 2022-01-15 09:54:15 +01:00
Zoltán Vörös
d8ce4b395f rebase from master 2022-01-15 09:46:13 +01: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
63ab589b8c add numpy.size 2022-01-14 19:57:18 +01:00
Zoltán Vörös
e5020f8d57 add numpy.delete 2022-01-10 22:54:09 +01:00
Zoltán Vörös
6552cfdc38 remove misleading comment from ulab.h 2022-01-07 21:19:06 +01:00
Zoltán Vörös
6a7d20dd58 add real/imag properties to ndarray 2022-01-02 19:14:12 +01:00
Zoltán Vörös
d39549e3ac add sort_complex function 2022-01-02 17:34:38 +01:00
Zoltán Vörös
cb3f4b3898 add compress function 2022-01-02 12:46:12 +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
4855baa8cc add conjugate function 2022-01-01 00:33:28 +01:00
Zoltán Vörös
94d6b13f8d make fft optionally numpy-compatible, when complex is supported 2021-12-31 23:11:59 +01:00
Zoltán Vörös
911fdb4587 ulab can now be compiled with complex support 2021-12-03 08:59:23 +01:00
8b3b4d1829 Merge commit 'refs/pull/431/head' of https://github.com/v923z/micropython-ulab into build-all-dimensions 2021-07-23 09:05:25 -05:00
Zoltán Vörös
ba0cd7c661 re-set the value of ULAB_MAX 2021-07-23 08:29:37 +02:00
Zoltán Vörös
3817d7698a fix compilation for 1D 2021-07-23 07:28:17 +02:00
81d78fe23f micropython build: Build & test in a selected number of dimensions 2021-07-22 14:14:08 -05:00
Zoltán Vörös
a3ce0ce29a add qr implementation 2021-07-22 19:40:57 +02:00
Zoltán Vörös
6ed12969d3 implement flat iterator 2021-07-13 21:35:01 +02:00
Zoltán Vörös
4b2ab160b6 add empty, update docs 2021-06-03 11:39:26 +02:00
vikas-udupa
b0679e6d16 implemented cho_solve function in scipy.linalg 2021-05-15 23:42:02 -04:00
vikas-udupa
f9b0e4381b corrections to solve_triangular, moved solve_triangular to scipy.linalg module 2021-05-05 11:24:05 -04:00
vikas-udupa
3e63c8e144 implemented solve_triangular and syncing with original repo 2021-04-29 09:26:33 -04:00
vikas-udupa
ab60c5c98c implemented solve_triangular function in numpy.linalg module along with two tests 2021-04-29 09:20:17 -04:00
Zoltán Vörös
6668bb3060 add where implementation 2021-03-23 17:09:27 +01:00
Zoltán Vörös
663a7d2fe0 add from_int16_buffer, from_uint16_buffer functions 2021-03-05 15:25:46 +01:00
Zoltán Vörös
48418d46ab fix header constants 2021-03-05 08:03:56 +01:00
Zoltán Vörös
3929e6b49d added from_uintbuffer function 2021-03-04 19:16:34 +01:00
Zoltán Vörös
c84bf46d7e added first implementation of utils sub-module 2021-03-03 20:15:06 +01:00
Zoltán Vörös
efcfeff790
Merge branch 'master' into byteswap 2021-02-14 09:36:07 +01:00
Zoltán Vörös
317943b970 moved trace to numpy 2021-02-13 09:25:08 +01:00
Zoltán Vörös
701ad767c8 moved the dot function to numpy 2021-02-13 09: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
e485b0c5e4 implemented any/all for iterables and scalars 2021-02-01 21:05:43 +01:00
Zoltán Vörös
c622fe61d8 added isinf/isfinite functions 2021-01-29 22:38:40 +01:00
Zoltán Vörös
cdc1429196 added option to include own config file 2021-01-21 21:55:16 +01:00
Zoltán Vörös
83a92f9b4b added ifndef/endif wrappers in ulab.h 2021-01-21 20:51:55 +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