Jeff Epler
7846b0c469
convolve: Optimize and special-case floats
...
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.
2020-02-11 17:57:54 -06:00
Zoltán Vörös
9153fd8f8a
added a short section to the manual on how to customise ulab
2020-02-11 21:36:12 +01:00
Zoltán Vörös
57cf52838c
Merge pull request #33 from jepler/fix-undef-errors-mpy
...
Fix some define-guards
2020-02-11 20:19:27 +01:00
Zoltán Vörös
c14eee1bd4
trying to fix ulab.h definitions
2020-02-11 20:15:45 +01:00
Zoltán Vörös
2c71467ced
implemented ndarray properties
2020-02-11 20:08:37 +01:00
02d74a4d3e
Fix some define-guards
...
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
| ^~~~~~~~~~~~~~~~~~~~~~
2020-02-11 11:08:25 -06:00
Zoltán Vörös
4a0677fd14
removed extra ndarray_get_buffer
2020-02-10 19:54:49 +01:00
Zoltán Vörös
800bb3b872
Merge branch 'master' of github.com:v923z/micropython-ulab
2020-02-10 19:51:22 +01:00
Zoltán Vörös
89170a13a6
fixed error in filter.c, removed asbytearray, and added buffer protocol to ndarray.c
2020-02-10 19:50:49 +01:00
Zoltán Vörös
ca23263655
Merge pull request #31 from jepler/memoryview
...
ndarray: let memoryview(arr) work
2020-02-10 18:38:11 +01:00
Zoltán Vörös
936bb3bae5
corrected slicing error in issue #32
2020-02-09 19:56:32 +01:00
a90d18caf1
ndarray: let memoryview(arr) work
...
.. this makes ndarray.rawbytes redundant. Circuitpython will remove it.
2020-02-08 10:29:45 -06:00
Zoltán Vörös
918075daaf
fixed a couple of small issues in filter.c
2020-02-08 10:45:13 +01:00
Zoltán Vörös
fac3eb4099
fixed a couple of small issues in filter.c
2020-02-08 10:44:24 +01:00
Zoltán Vörös
76ccd1a118
the master branch is configurable now
2020-02-07 21:23:24 +01:00
Jeff Epler
722401c2e4
Clean up and polish based on review comments
...
no functional change
2020-02-06 12:43:39 -06:00
Jeff Epler
efa4c148c9
convolve: implement and document
2020-02-05 16:33:48 -06:00
Zoltán Vörös
dcd65feb21
fixed indexing error in linalg.dot
2020-01-29 19:27:28 +01:00
Zoltán Vörös
b2c4749962
replaced MP_ROM_PTR macro, wherever it made sense
2020-01-20 19:55:38 +01:00
Zoltán Vörös
ac1111c251
fixed glitch in std/mean functions
2020-01-07 21:53:23 +01:00
Zoltán Vörös
992e48b84e
switched to version string
2020-01-07 21:02:20 +01:00
Zoltán Vörös
68e38bc6b8
backup commit
2020-01-06 07:43:27 +01:00
Zoltán Vörös
81acfc7da8
ulab_ndarray_type is extern now
2019-12-31 10:57:10 +01:00
Zoltán Vörös
107587de00
found and fixed macro error in vectorise.h
2019-11-29 08:02:48 +01:00
Zoltán Vörös
22f85e0d3b
fixed indexing error in linalg.dot
2019-11-28 19:16:59 +01:00
Zoltán Vörös
1df50af368
replaced fabs by platform-agnostic version
2019-11-14 20:27:32 +01:00
Zoltán Vörös
1b9a80a442
replaced fabs by platform-agnostic version
2019-11-14 20:26:15 +01:00
Nicko van Someren
e33720e9c0
Fixed several issues preventing compilation on macOS
2019-11-11 13:39:28 -08:00
Zoltán Vörös
1f5d1a9765
fixed version number in ulab.c
2019-11-06 18:34:12 +01:00
Zoltán Vörös
0e9656cc1d
added argsort, and fixed a number of smaller bugs
2019-11-06 17:35:01 +01:00
Zoltán Vörös
08b8fd0ae2
fixed float_t->mp_float_t mistake in ndarray.c
2019-11-04 19:28:06 +01:00
Zoltán Vörös
351eafa06c
first implementation of sort
2019-11-04 18:54:19 +01:00
Zoltán Vörös
3379f0b897
fixed linking error with sin/sqrt
2019-11-01 14:42:08 +01:00
Zoltán Vörös
6e4911d96f
replaced float with mp_float_t everywhere, so that the source can be compiled for all platforms
2019-11-01 14:28:29 +01:00
Zoltán Vörös
8b6d03417b
added diff function, and updated the manual accordingly
2019-10-31 12:52:40 +01:00
Zoltán Vörös
761ad69d71
fully implemented subscription methods
2019-10-29 21:12:12 +01:00
Zoltán Vörös
5599dd2f31
fixed small bug in rawsize
2019-10-19 19:45:26 +02:00
Zoltán Vörös
148364e189
added eig to linalg, and updated the manual
2019-10-19 15:32:45 +02:00
Zoltán Vörös
31e40dad5d
added uniform interface to fft, ifft, spectrum, and significantly extended manual
2019-10-17 20:52:41 +02:00
Zoltán Vörös
d4acce7b1f
extended documentation, and moved size function to linalg
2019-10-16 20:08:16 +02:00
Zoltán Vörös
69225c3707
added det to linalg.c
2019-10-15 21:37:21 +02:00
Zoltán Vörös
13c343f3cf
fixed the roll function in numerical.c
2019-10-15 19:47:22 +02:00
Zoltán Vörös
13511aaf08
min/max conforms to numpy behaviour now
2019-10-14 21:29:15 +02:00
Zoltán Vörös
5caa711422
extended manual, inserted links to numpy functions
2019-10-12 22:33:13 +02:00
Zoltán Vörös
e30b8d6f4e
added first version of manual, fixed small bug in roll
2019-10-11 21:45:14 +02:00
Zoltán Vörös
be6ab7ba18
extended universal functions for arbitrary typecode
2019-10-11 18:59:45 +02:00
Zoltán Vörös
0c161e2ba3
fixed error in iterator and make_new
2019-10-11 15:58:17 +02:00
Zoltán Vörös
68dd3a7423
this is mainly a safety backup; subscr is not fully implemented yet
2019-10-10 22:01:26 +02:00
Zoltán Vörös
1c233de552
extended unary operators in ndarray.c
2019-10-08 17:37:53 +02:00
Zoltán Vörös
4a8ecc28f2
added keyword arguments to linspace, made binary_op tighter
2019-10-07 20:49:29 +02:00
Zoltán Vörös
a5f61f4e3c
added comparison operators to ndarray
2019-10-05 16:01:00 +02:00
Zoltán Vörös
ba975c100d
added comparison operators to ndarray
2019-10-05 15:59:03 +02:00
Zoltán Vörös
7feaf8c57e
removed printf statement in ndarray.c
2019-10-04 20:11:28 +02:00
Zoltán Vörös
cadae1dbf7
extended linalg, added .flatten to ndarray
2019-10-04 20:06:04 +02:00
Zoltán Vörös
52694959d3
bit of clean-up in binary_op/removed upcasting()
2019-10-04 12:32:49 +02:00
Zoltán Vörös
6a65d33445
fixed half of the binary operator code (implemented macros)
2019-09-27 20:23:25 +02:00
Zoltán Vörös
093bc39b7d
cleaned up material for first release
2019-09-25 17:33:02 +02:00
Zoltán Vörös
fce8850b05
added lots of examples and code comments
2019-09-18 21:59:31 +02:00
Zoltán Vörös
c958ac272d
fixed stm32 code
2019-09-18 19:39:04 +02:00
Zoltán Vörös
be8be6d155
fixed subscription method
2019-09-17 22:23:07 +02:00
Zoltán Vörös
69037a2d60
added in-place fft implementation
2019-09-17 21:25:27 +02:00
Zoltán Vörös
f2d41862da
added version info
2019-09-11 20:12:49 +02:00
Zoltán Vörös
d9f9a26197
implemented binary operators
2019-09-11 19:51:48 +02:00
Zoltán Vörös
5997dd2a5c
implemented numpy-like iterators
2019-09-06 20:24:18 +02:00
Zoltán Vörös
f7884529fe
added keyword argument to ndarray
2019-09-05 21:56:00 +02:00
Zoltán Vörös
3ed5e1a651
initial commit
2019-08-31 18:51:26 +02:00