Zoltán Vörös
6b33c912de
tabs to spaces
2020-08-15 19:24:49 +02:00
Zoltán Vörös
a97d7a7b7e
more linting
2020-08-15 19:02:55 +02:00
Zoltán Vörös
1b9c212899
fixed tabs
2020-08-15 18:57:10 +02:00
Zoltán Vörös
4029c6dd86
fixed tabs
2020-08-15 18:56:07 +02:00
Zoltán Vörös
b24886826f
fixed tabs
2020-08-15 18:54:08 +02:00
Zoltán Vörös
378bd4ebab
fixed tabs
2020-08-15 18:43:52 +02:00
Zoltán Vörös
b95a0816f0
fixed tabs
2020-08-15 18:43:35 +02:00
Zoltán Vörös
1b7dc263e9
fixed tabs
2020-08-15 18:42:55 +02:00
Zoltán Vörös
fe08d5be1b
fixed tabs
2020-08-15 18:42:01 +02:00
Zoltán Vörös
71c73f095a
fixed tabs
2020-08-15 18:39:03 +02:00
Zoltán Vörös
0caf03bd3e
fixed tabs
2020-08-15 18:38:29 +02:00
Zoltán Vörös
eb696d9d91
factored out associative operators
2020-08-15 18:35:28 +02:00
Zoltán Vörös
382d7a613e
numerical sum sort of works now
2020-08-15 00:39:12 +02:00
Zoltán Vörös
a81a77a996
found some flash savings
2020-08-13 22:24:40 +02:00
Zoltán Vörös
506986fcb4
found/fixed bug in iterator
2020-08-13 22:08:12 +02:00
Zoltán Vörös
fca36e6d64
fixed iterator
2020-08-13 22:02:16 +02:00
Zoltán Vörös
76c1a3d242
linalg can now be compiled
2020-08-13 20:16:10 +02:00
Zoltán Vörös
621dca8e3b
fixed filter module
2020-08-13 15:46:23 +02:00
Zoltán Vörös
3428fb8123
moved user settings to ulab.h
2020-08-13 15:17:22 +02:00
Zoltán Vörös
da1d8c2ac1
shaved off 200 bytes for 1D arrays
2020-08-13 15:13:44 +02:00
Zoltán Vörös
80511c13e4
fixed couple of comments
2020-08-13 15:05:26 +02:00
Zoltán Vörös
1b08404975
fixed flatten for views
2020-08-13 14:52:33 +02:00
Zoltán Vörös
d903b0a7d2
fixed functions in compare module
2020-08-13 13:29:56 +02:00
Zoltán Vörös
5ec64d39ee
fft works with views now
2020-08-13 12:45:35 +02:00
Zoltán Vörös
034a8d7b58
fixed unary operators (ndarray_copy_view)
2020-08-13 12:11:12 +02:00
Zoltán Vörös
3be74df891
fixed iteration loops in vectorise
2020-08-12 15:46:59 +02:00
Zoltán Vörös
7e6216a1fc
assignment by slices works
2020-08-11 15:12:16 +02:00
Zoltán Vörös
b212bd4cb9
fixed iterator code
2020-08-11 09:28:44 +02:00
Zoltán Vörös
0268f990d7
added ndinfo function
2020-08-08 12:43:57 +02:00
Zoltán Vörös
b1b93994c2
with the exception of pow, binary operators are functional
2020-08-08 11:20:17 +02:00
Zoltán Vörös
b4527192f5
removed unnecessary pointer shifting in the binary loops
2020-08-07 23:23:32 +02:00
Zoltán Vörös
847c49064b
tensor dimension is displayed in version number
2020-08-07 23:00:36 +02:00
Zoltán Vörös
20796a10b3
tensor dimension can now be configured
2020-08-07 22:34:24 +02:00
Zoltán Vörös
41c3008fdd
removed unused structure from ndarray.h
2020-08-07 20:32:20 +02:00
Zoltán Vörös
63efdbf5a3
proof of concept binary function is working
2020-08-07 20:31:43 +02:00
Zoltán Vörös
d59fc169cd
made code in printout tighter
2020-08-07 17:54:26 +02:00
Zoltán Vörös
44f0c46839
fixed printout
2020-08-07 17:52:41 +02:00
Taku Fukada
f9322380de
Minor fixes on Python stubs
2020-08-06 23:49:51 +09:00
Zoltán Vörös
8c4d02f755
not entirely functional, safety backup
2020-08-05 22:35:21 +02:00
mdaeron
60f6fa6e6b
Remove double parentheses in numerical.c
...
This avoids errors when compiling the unix port on MacOS.
2020-08-04 15:31:19 +02:00
Zoltán Vörös
bb023e267c
pulled in changes from master
2020-08-03 20:58:51 +02:00
Zoltán Vörös
368b23ff8b
fixed small issue in argsort, and updated documentation
2020-08-03 20:41:12 +02:00
Zoltán Vörös
c9b7881add
pulled in most recent changes from master
2020-07-31 23:25:36 +02:00
Zoltán Vörös
5cd5aaba35
approx is compiles
2020-07-30 22:07:53 +02:00
Zoltán Vörös
162b39470d
fft is working
2020-07-30 21:38:31 +02:00
Zoltán Vörös
b4748dc966
fixed a couple of errors in ndarray.c
2020-07-30 21:16:49 +02:00
Zoltán Vörös
4ddbd8b73f
base code can be compiled
2020-07-30 20:49:14 +02:00
Taku Fukada
129ad86b8e
Add type hints to Python stubs
2020-07-31 01:06:48 +09:00
Zoltán Vörös
4e218f9d81
bumped version number to 0.54.1
2020-07-29 18:51:57 +02:00
Zoltán Vörös
4690ef7c2c
fixed error in ulab_create.c
2020-07-29 18:44:51 +02:00
Zoltán Vörös
345b74e3ca
switched to size_t length, and added sanity checks in approx.c
2020-07-29 18:38:08 +02:00
Zoltán Vörös
3a6deef855
switched to size_t length in linspace
2020-07-29 18:22:25 +02:00
Zoltán Vörös
ddfe1754ca
switched to size_t length in reshape
2020-07-29 18:18:42 +02:00
Zoltán Vörös
bae51f8edb
switched to size_t length in poly.c
2020-07-29 18:17:11 +02:00
Zoltán Vörös
a789bd67d0
switched to size_t length in fft
2020-07-29 18:12:27 +02:00
Jonathan Hogg
f41d3eeeb7
Add MICROPY_FLOAT_CONST to all fp constants.
...
In order to get ulab to compile correctly against single floating point
all of the constants need to switch to single format. Conveniently
MicroPython has provided a macro to manage this switch. Use this
througout.
Unfortunately also introduces a bunch of whitespace changes because
there is a mass of trailing whitespace in the codebase and my editor is
(correctly) configured to remove this.
2020-07-24 11:58:45 +01:00
Roberto Colistete Jr
39afe5f2ad
numerical.c : fixed 'out' may be used uninitialized error in function 'numerical_sort_helper'
2020-07-23 18:18:29 -03:00
Zoltán Vörös
f8bf869a45
fixed indentation error in approx.c
2020-07-23 22:08:29 +02:00
Roberto Colistete Jr
c98cdfdb97
lingalg.norm : fixed comments again
2020-07-23 16:57:25 -03:00
Roberto Colistete Jr
2d12162d8f
lingalg.norm : moved after inv and fixed coments
2020-07-23 16:42:35 -03:00
Roberto Colistete Jr
7ad3542de6
lingalg.norm : fixed coments
2020-07-23 16:19:05 -03:00
Roberto Colistete Jr
0064995d2c
lingalg.norm : added coments and v0.54.0 to ulab-change-log
2020-07-23 16:15:51 -03:00
Roberto Colistete Jr
86581222c4
fix lingalg.norm to new folder structure
2020-07-23 16:07:11 -03:00
Zoltán Vörös
ab085333ca
Merge pull request #150 from v923z/create-rename
...
renamed create.c/h, moved stubs from ulab.c to ulab_create.c
2020-07-23 19:13:52 +02:00
Zoltán Vörös
fe8a10dd94
renamed create.c/h, moved stubs from ulab.c to ulab_create.c
2020-07-23 19:10:50 +02:00
20243311e1
Remove trace of 'extras' module
...
.. this caused a build error in circuitpython:
../../extmod/ulab/code/ulab.c:162:9: error: "ULAB_EXTRAS_MODULE" is not defined, evaluates to 0 [-Werror=undef]
162 | #if ULAB_EXTRAS_MODULE
| ^~~~~~~~~~~~~~~~~~
2020-07-23 12:01:58 -05:00
Zoltán Vörös
f6fd605300
Merge pull request #149 from v923z/documentation
...
Documentation
2020-07-23 19:01:15 +02:00
Zoltán Vörös
a3678b0de7
re-arranged functions in compare.c
2020-07-23 18:56:18 +02:00
Zoltán Vörös
e91e2db0dd
re-arranged functions in approx.c
2020-07-23 18:54:03 +02:00
Zoltán Vörös
ac38e8bc5a
re-arranged functions in poly.c
2020-07-23 18:51:57 +02:00
Zoltán Vörös
9cf30ad9f2
re-arranged functions in linalg.c
2020-07-23 18:50:47 +02:00
Zoltán Vörös
2b55b79471
re-arranged functions in numerical.c
2020-07-23 18:47:14 +02:00
Zoltán Vörös
e5341bcf35
added STATIC to create.c
2020-07-23 18:23:52 +02:00
Zoltán Vörös
c93faa9a9c
fixed docs in approx.c
2020-07-22 21:56:06 +02:00
Zoltán Vörös
b6252474e9
fixed docs in fft.c
2020-07-22 21:53:10 +02:00
23e1ef3b11
Add newlines where required in .rst files
2020-07-22 14:05:46 -05:00
Zoltán Vörös
4759264994
added user/ files
2020-07-22 20:34:48 +02:00
Zoltán Vörös
80503300ad
re-organised code, so that circuitpython documentation can automatically be generated
2020-07-22 20:19:14 +02:00
Zoltán Vörös
651f2029af
Merge pull request #147 from v923z/documentation
...
Documentation
2020-07-22 19:18:29 +02:00
Zoltán Vörös
cc721aa216
added stubs to vectorise.c
2020-07-22 19:13:09 +02:00
Zoltán Vörös
d6ae0bcdde
added stubs to poly.c
2020-07-22 18:56:28 +02:00
Zoltán Vörös
f1dab38726
added stubs to numerical.c
2020-07-22 18:52:51 +02:00
Zoltán Vörös
8b268aedd1
added stubs to linalg.c
2020-07-22 18:44:45 +02:00
Zoltán Vörös
b60e14d380
fixed arange
2020-07-22 18:31:40 +02:00
Roberto Colistete Jr
8d439c3332
added linalg.norm : for vector or matrix
2020-07-22 04:45:51 -03:00
Zoltán Vörös
b3e76e1f0a
Merge pull request #143 from rcolistete/dot_vectors
...
linalg.dot : also accepts 2 vectors of same dimension
2020-07-22 08:37:12 +02:00
Roberto Colistete Jr
a68b7daa32
linalg.dot : changed error message: vectors must have same lengths
2020-07-22 03:34:39 -03:00
Roberto Colistete Jr
0d80175933
linalg.dot : also accepts 2 vectors of same dimension
2020-07-21 19:28:55 -03:00
Roberto Colistete Jr
f7358cd65f
fix arange : inserted missing MICROPY_FLOAT_C_FUN(ceil) in code/create.c
2020-07-21 12:35:38 -03:00
Zoltán Vörös
3a5d17c10e
added stubs to filter.c
2020-07-20 22:35:35 +02:00
Zoltán Vörös
3acd543630
added stubs to fft.c
2020-07-20 22:33:36 +02:00
Zoltán Vörös
5e72d76b6e
added stubs to compare.c
2020-07-20 22:27:48 +02:00
Zoltán Vörös
4194cce461
added stubs to approx.c
2020-07-20 22:08:56 +02:00
Zoltán Vörös
3b041e1059
found and fixed small error in create.h
2020-07-20 20:48:38 +02:00
Zoltán Vörös
161d8b0ed0
removed unused one constant in create.c
2020-07-20 20:41:34 +02:00
Zoltán Vörös
eea4c15ad0
found and fixed small bug in dtype assignment
2020-07-20 20:29:55 +02:00
Zoltán Vörös
c6f2c928b6
fixed dtype inconsistency in arange
2020-07-20 20:22:12 +02:00
Zoltán Vörös
e202d38b0e
fixed argument parsing error in arange
2020-07-20 18:31:46 +02:00
Zoltán Vörös
932e0a2b91
first implementation of arange
2020-07-19 22:19:57 +02:00
Zoltán Vörös
4581034325
no functional changes
2020-07-16 22:28:20 +02:00
Zoltán Vörös
13ef14c29a
even more linting
2020-07-16 22:27:49 +02:00
Zoltán Vörös
7739ae21f8
even more linting
2020-07-16 22:27:01 +02:00
Zoltán Vörös
49be9e0ba7
more linting
2020-07-16 22:07:00 +02:00
Zoltán Vörös
bdaa4b3984
fixed linting issues
2020-07-16 22:05:33 +02:00
Zoltán Vörös
33451ee285
Merge branch 'master' into trapz
2020-07-16 21:18:09 +02:00
Zoltán Vörös
dfe560150a
first implementation of trapz
2020-07-16 21:12:46 +02:00
Zoltán Vörös
f5c15f0c4c
reverted changes in master
2020-07-16 21:10:14 +02:00
Zoltán Vörös
0443a2a3ed
fixed small bug in trapz
2020-07-16 20:55:42 +02:00
Zoltán Vörös
059994774d
first implementation of trapz
2020-07-16 20:52:53 +02:00
Zoltán Vörös
f171235a95
Merge pull request #136 from rcolistete/fix_gcc-arm_v10.1
...
Fix Incompatibility between gcc-arm 10.1 and ulab + MicroPython
2020-07-16 08:49:37 +02:00
Roberto Colistete Junior
e75729cb27
Update vectorise.h
2020-07-16 03:38:15 -03:00
Roberto Colistete Junior
3bb1417211
Update extras.h
2020-07-16 03:37:35 -03:00
Roberto Colistete Junior
40503d0f7e
not compatible with '_thread' module
...
ulab not compatible with enabling '_thread' module from the make command :
- building ulab with thread enabled in MicroPython :
`$ make -j8 CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1' BOARD=PYBV11 USER_C_MODULES=../../../ulab all`
yields a firmware with '_thread' module but without 'ulab' module, because 'CFLAGS_EXTRA' is used in the make command and in 'ulab/code/micropython.mk', so the value of the last is ignored;
- the solution is to use 'override' and '+=' in in last line of 'ulab/code/micropython.mk' :
`override CFLAGS_EXTRA += -DMODULE_ULAB_ENABLED=1`
2020-07-14 10:55:10 -03:00
Zoltán Vörös
fe7aa27238
fixed argmin/argmax error in issue #129
2020-06-29 21:46:45 +02:00
Zoltán Vörös
526ffb4c78
updated readme, version number and change log
2020-06-19 22:06:47 +02:00
Zoltán Vörös
17c6d605ca
added zi keyword argument to sosfilt
2020-06-18 22:24:26 +02:00
Zoltán Vörös
f9cf519843
first implementation of sosfilt
2020-06-17 22:24:17 +02:00
Zoltán Vörös
37140d531e
added mp_obj_slice_indices to ndarray.c, so that it compiles for openmv
2020-06-16 19:32:41 +02:00
Zoltán Vörös
1231ac877e
version that actually compiles in openmv
2020-06-15 22:46:46 +02:00
Zoltán Vörös
a73201a5a4
fixes compilation error (compatibility with older versions of micropython) in openmv
2020-06-12 07:50:37 +02:00
Jeff Epler
0394801933
Merge pull request #122 from jepler/circuitpy-is-int
...
Updates needed to build latest code on CircuitPython
2020-06-01 10:26:07 -05:00
cbdd1295c1
Mark parameters as unused
...
As far as I can tell, these are not checked for the sake of efficiency.
This silences compiler diagnostics when building CircuitPython
```
../../extmod/ulab/code/approx.c:25:12: error: no previous prototype for ‘approx_python_call’ [-Werror=missing-prototypes]
mp_float_t approx_python_call(const mp_obj_type_t *type, mp_obj_t fun, mp_float_t x, mp_obj_t *fargs, uint8_t nparams) {
^~~~~~~~~~~~~~~~~~
```
2020-06-01 09:00:42 -05:00
a2aa5d3a58
approx: Mark functions as stat if they are used only in this file
...
This fixes the diagnostic when building circuitpython:
```
../../extmod/ulab/code/approx.c:25:12: error: no previous prototype for ‘approx_python_call’ [-Werror=missing-prototypes]
mp_float_t approx_python_call(const mp_obj_type_t *type, mp_obj_t fun, mp_float_t x, mp_obj_t *fargs, uint8_t nparams) {
^~~~~~~~~~~~~~~~~~
```
2020-06-01 08:59:35 -05:00
1f3836d16f
ndarray: Let mp_obj_is_int work on circuitpython
2020-06-01 08:29:34 -05:00
Zoltán Vörös
666dc77fad
fixes min/max error from adafruit/circuitpython #2984
2020-06-01 08:42:43 +02:00
Zoltán Vörös
077bcc51ab
Merge branch 'master' into approx
2020-05-19 20:53:33 +02:00
Zoltán Vörös
78438727c4
Merge branch 'master' into print
2020-05-19 20:44:54 +02:00
Zoltán Vörös
f00d5dc6de
fix for issue 117
2020-05-19 08:56:34 +02:00
Zoltán Vörös
8631b771d2
cleaned up documentation on approx sub-module
2020-05-18 19:44:26 +02:00
Zoltán Vörös
e2cae23253
vectorize can now take scalars
2020-05-06 23:49:07 +02:00
Zoltán Vörös
6590acc6c4
added vectorisation of generic python function
2020-05-06 23:29:27 +02:00
Zoltán Vörös
d5e59cc21f
no functional change, backup
2020-05-06 21:22:54 +02:00
Zoltán Vörös
8f5edbb808
bumped ulab version number to 0.45
2020-05-05 21:16:10 +02:00
Zoltán Vörös
35cdc9f976
began work with curve_fit
2020-05-05 21:13:53 +02:00
Zoltán Vörös
5c027e44c1
added function wrapper approx_python_call
2020-05-03 17:05:27 +02:00
Zoltán Vörös
2ead6cbc21
added equal/not_equal to compare.c
2020-05-03 11:00:41 +02:00
Zoltán Vörös
70666817ce
added set_printoptions/get_printoptions functions
2020-05-01 11:53:39 +02:00
Zoltán Vörös
6615290fdf
add approx sub-module with fmin, newton, and bisect functions
2020-04-30 22:33:21 +02:00
a7502f6243
ulab.h: Actually allow excluding modules
2020-04-26 20:37:14 -05:00
Zoltán Vörös
a081c28998
Merge branch 'master' into minimax
2020-04-21 23:27:31 +02:00
Zoltán Vörös
855384f579
implemented minimum/maximum and clip in the compare module
2020-04-21 22:35:17 +02:00
Zoltán Vörös
fb05e2585c
pulling in jepler's argument handling improvements
2020-04-20 23:20:30 +02:00
Zoltán Vörös
c9519e59a8
Merge pull request #103 from v923z/revert-101-polyfit-argument-checking
...
Revert "polyfit: Argument handling improvements"
2020-04-20 23:05:01 +02:00
Zoltán Vörös
3c1fb52efb
Merge pull request #104 from v923z/compile
...
fix compilation errors due to casting of floats
2020-04-20 23:03:12 +02:00
Zoltán Vörös
a0e5f3a474
fix compilation errors due to casting of floats
2020-04-20 22:55:21 +02:00
Zoltán Vörös
f014128595
backup commit
2020-04-20 20:54:24 +02:00
Zoltán Vörös
d29cc8632e
Revert "polyfit: Argument handling improvements"
2020-04-20 16:20:44 +02:00
d0b11a6081
polyfit: Argument handling improvements
...
* In the 3-args case, the lengths of the arguments were not checked
* in the 3-args case, the type of the 2nd argument was not checked
* gcc falsely diagnosed a `maybe-uninitialized` variable because it
did not see that the branches of the if() statement were mutually
exclusive
It's this third issue that originally drew my attention to this code,
adafruit/circuitpython#2787
2020-04-20 07:58:30 -05:00
Zoltán Vörös
d1f2d80581
fixed compilation error in issue #98
2020-04-18 09:05:47 +02:00
Zoltán Vörös
2b7d96f25d
fix indexing error in linalg.dot
2020-04-14 09:05:22 +02:00
Jeff Epler
22813d6736
Merge pull request #91 from v923z/argmax
...
fixed argmin/argmax function for iterables
2020-04-13 15:33:48 -05:00
Zoltán Vörös
e83ef7a31d
fixed another indexing error in argmin/argmax
2020-04-13 21:56:55 +02:00
Zoltán Vörös
1a4ac564d4
fixed indexing error in argmin/argmax
2020-04-13 21:27:41 +02:00
Zoltán Vörös
78ae57005c
argmin/argmax raises ValueError with empty iterables
2020-04-12 19:32:08 +02:00
Zoltán Vörös
84150d4166
fix transpose function to conform to numpy
2020-04-09 12:38:19 +02:00
Zoltán Vörös
7ec8a25a84
fixed argmin/argmax function for iterables
2020-04-07 23:06:41 +02:00
Zoltán Vörös
ab9a26dc98
fix error in argsort
2020-04-07 22:34:00 +02:00
86e7155ab7
generate_slice: Properly fix -Wsign-compare diagnostic
...
Instead of making the local unsigned--it must be permitted to
contain negative values--make the function parameter signed.
2020-04-06 16:38:51 -05:00
f1f10c27a8
Fix -Wsign-compare diagnostics
...
.. by adding casts or changing the type of a local variable.
2020-04-06 08:38:43 -05:00
daf4b07ef7
Fix -Wunused-parameter diagnostics
...
Here we actually get bugs fixed! At many sites, mp_parse_arg_all's
first argument was the number of positional arguments required, rather
than the number actually supplied.
This fixes e.g., the bug where the linspace third positional argument
was not used as the "num" argmuent, and where too many positional args
were not treated as an error:
>>> ulab.linspace(0, 1, 9)
array([0.0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0], dtype=float)
>>> ulab.linspace(0, 1, 1, 1)
TypeError: extra positional arguments given
In the case of argmin/argmax of an iterable, it is now signaled to the user
that only the axis=None case is supported, instead of giving a wrong
result.
2020-04-06 08:33:18 -05:00
22605c6fe9
Fix -Wshadow diagnostics
...
A declaration of a local variable can "shadow" a parameter or another
local variable declared in an outer scope.
Since this can create confusion about which variable is referred to, it
is better to fix these diagnostics.
A variety of changes were made:
- Add curly braces to reduce the scope of a variable (ndarray_unary_op)
so that its scope has ended before the next scope where it is used
- be consistent about whether a variable is declared with for-loop scope
or not (ndarray_print_row)
- remove a declaration so that the outer variable is used, after verifying
this will function properly (insert_slice_list)
- rename a variable introduced by a macro (RUN_SUM, RUN_STD) so it does
not shadow another variable
2020-04-06 08:12:47 -05:00
8aebfd9f4e
remove unused function get_nditerable_len
2020-04-06 08:06:33 -05:00
be1e2b28e0
Fix -Wmissing-prototypes diagnostics
...
These functions need prototypes in a header, as they are defined in one
source file and used in another.
2020-04-06 08:05:43 -05:00
11ed69dacf
Fix -Wmissing-prototypes diagnostics
...
This diagnostic flag, enabled by default in CircuitPython, requires that
nonstatic functions have a previous prototype. Since placing prototypes
in header files is the only way that mismatched arguments between function
definition and use sites can be detected, this is a valuable warning.
In the case of ulab, the majority of the changes required were to mark
functions as "static" that were used only in a single C source file.
2020-04-06 08:05:20 -05:00
59cc5ed6c6
circuitpython compatibility
2020-04-06 07:38:12 -05:00
Zoltán Vörös
1001ed44f5
fixed small glitch in == and !=
2020-04-06 09:08:44 +02:00
Zoltán Vörös
c69f2d9256
implemented the ==, and != binary operators
2020-04-04 22:14:36 +02:00
Zoltán Vörös
ceaede8cb8
added trace to linalg, trimmed other code
2020-04-03 12:07:11 +02:00
Zoltán Vörös
32e0bf5bde
Merge branch 'master' into sort
2020-04-02 21:26:06 +02:00
Zoltán Vörös
89d73974e3
another attempt at fixing issue #79
2020-04-02 21:22:45 +02:00
Zoltán Vörös
b4f83997e7
Merge branch 'master' into power
2020-04-02 19:08:00 +02:00
Jeff Epler
0d5dc6b0d4
Merge pull request #78 from v923z/argmax
...
contraction returns scalar, if dimension is 0
2020-04-02 08:56:08 -05:00
Zoltán Vörös
2e27a356f5
added unistd.h to ndarray.c to fix issue #73
2020-04-02 11:04:23 +02:00
Zoltán Vörös
a3d77a3fa1
updated docs for ndarray_make_new_core
2020-04-02 09:52:04 +02:00
Zoltán Vörös
1648325d69
added fast ndarray initialisation option
2020-04-02 09:41:13 +02:00
Zoltán Vörös
04422f3da5
fixed indexing error in sort function
2020-04-01 23:43:31 +02:00
Zoltán Vörös
c2c525247c
contraction returns scalar, if dimension is 0
2020-04-01 22:56:07 +02:00
Zoltán Vörös
2517d8be25
incremented version number, modified change log
2020-03-31 23:14:54 +02:00
Zoltán Vörös
3153c86f09
fixed empty array error
2020-03-31 23:02:14 +02:00
Zoltán Vörös
ae0dfbc126
fixed binary error with empty arrays
2020-03-31 22:52:06 +02:00
Zoltán Vörös
a2d52b6454
implemented the ** operator, and the reversed binary operators
2020-03-31 21:38:47 +02:00
53c158bde3
ndarray.c: circuitpython needs translate() for mp_raise
2020-03-30 15:34:01 -05:00
cbe41034a3
ndarray.h: provide mp_obj_is_bool for circuitpython
2020-03-30 15:33:45 -05:00
Zoltán Vörös
b3562ae78c
Boolean indexing raises TypeError, if index is not of Boolean type
2020-03-30 12:58:04 +02:00
Zoltán Vörös
ea4a7422ef
fixing Boolean indexing issue
2020-03-30 12:45:54 +02:00
3dc52575f0
slice_length: avoid implementation-defined division by negative number
...
In CircuitPython (only), a the slice assignment to [-1👎 -3] of an
ndarray of length 1 caused a crash. This appears to be because in
CircuitPython, the internal pointer of an empty array was NULL rather than
pointing at some memory which happened to be valid and assignable.
This appears to be a corner case of how integer promotion rules work in C.
The expression `slice.stop - slice.start + (slice.step + correction)`
is type `unsigned long` and on a LP64 platform its value is
18446744073709551614. This led to the function returning that this slice
had length 1 instead, during the automated tests.
By casting to signed types capable of holding indices and sizes, the
problem is corrected on both platforms.
2020-03-16 22:09:39 -05:00
Zoltán Vörös
94e5b304d2
added arctan2 to vectorise.c
2020-03-16 19:36:37 +01:00
Zoltán Vörös
49e2e68f9b
added around to vectorise.c, and implemented array initialiation from another ndarray
2020-03-12 17:28:23 +01:00
Zoltán Vörös
3e53136a93
ndarrays can now be initialised from ndarrays
2020-03-12 07:17:54 +01:00
Zoltán Vörös
037cd6e733
re-named spectrum->spectrogram, updated manual
2020-03-10 21:11:44 +01:00
Jeff Epler
1095994a4a
Merge pull request #59 from v923z/cholesky
...
added Cholesky decomposition to linalg.c, updated documentation
2020-03-10 14:51:48 -05:00
Zoltán Vörös
525fbb6527
added Cholesky decomposition to linalg.c, updated documentation
2020-03-10 20:40:11 +01:00
Zoltán Vörös
5d0eab244b
added function declarations to linalg.h
2020-03-09 21:22:31 +01:00
Zoltán Vörös
6b3d43846f
moved spectrum to extras module
2020-03-09 20:47:58 +01:00
Jeff Epler
f9fabc5079
Fix handling of negative indices
...
I don't know why, but mp_seq_get_fast_slice_indexes adjusts "stop" in a
surprising way, and that led to the (remaining) differences in slicing
between ulab and built-in lists.
// If the index is negative then stop points to the last item, not after it
if (indexes->step < 0) {
indexes->stop++;
}
Call the underlying routine, mp_obj_slice_indices, instead.
2020-02-29 17:00:42 -06:00
Jeff Epler
585513ce76
Return empty slices as empty ndarrays, not exceptions
...
This matches the behavior of built-in lists as well as numpy
2020-02-29 16:57:59 -06:00
Jeff Epler
66b89de8c7
Always include creation functions
2020-02-27 14:07:04 -06:00
Zoltán Vörös
bee25781b9
added new source file...
2020-02-27 20:46:52 +01:00
Zoltán Vörös
47bf2ec9a7
created new create sub-module for ndarray initialisation functions
2020-02-27 20:39:13 +01:00
Jeff Epler
aa5ef4afb9
Enable sort method in circuitpython
2020-02-27 10:06:33 -06:00