Skip to content

Commit 75b76dd

Browse files
Add support for numpy array attributes (#7)
Add support for numpy array attributes
1 parent 294fd32 commit 75b76dd

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

nada_algebra/array.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,23 @@ class NadaArray:
3232
inner: np.ndarray
3333

3434
SUPPORTED_OPERATIONS = {
35+
"base",
3536
"compress",
3637
"copy",
3738
"cumprod",
3839
"cumsum",
40+
"data",
41+
"dtype",
42+
"diagonal",
43+
"fill",
44+
"flags",
45+
"flat",
46+
"flatten",
47+
"item",
48+
"itemset",
49+
"itemsize",
50+
"nbytes",
51+
"ndim",
3952
"diagonal",
4053
"fill",
4154
"flatten",
@@ -49,6 +62,7 @@ class NadaArray:
4962
"resize",
5063
"shape",
5164
"size",
65+
"strides",
5266
"squeeze",
5367
"sum",
5468
"swapaxes",
@@ -82,7 +96,6 @@ def __setitem__(self, key, value):
8296
value: The value to set.
8397
"""
8498
if isinstance(value, NadaArray):
85-
# print("NadaArray")
8699
self.inner[key] = value.inner
87100
else:
88101
self.inner[key] = value

tests/nada-tests/src/supported_operations.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ def nada_main():
77

88
a = na.array([3, 3], parties[0], "A")
99

10+
assert isinstance(a.data, memoryview)
11+
assert a.dtype == NadaType
12+
assert a.flags["WRITEABLE"]
13+
assert isinstance(na.NadaArray(a.flat), na.NadaArray)
14+
assert a.itemsize == 8
15+
assert a.nbytes == 72
16+
assert a.ndim == 2
17+
assert a.strides == (24, 8)
18+
1019
try:
1120
a.argsort()
1221
raise Exception("Unsopported operation `argsort` occurred")

tests/test_all.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
"vstack",
1616
"reveal",
1717
"matrix_multiplication",
18+
"generate_array",
19+
"supported_operations",
1820
"get_item",
1921
"get_attr",
2022
"set_item",

0 commit comments

Comments
 (0)