Mostly by providing a "numpy shim" for CircuitPython, try to make the numpy tests run on all three systems. (a "scipy shim" might also be useful?) However, there are test failures. Is it worth working through them and getting this to a point where it could be included?
168 lines
6.7 KiB
Python
168 lines
6.7 KiB
Python
try:
|
|
import numpy as np
|
|
except:
|
|
import ulab as np
|
|
|
|
print(len(np.array([1, 2, 3, 4, 5], dtype=np.uint8)))
|
|
print(len(np.array([[1, 2, 3],[4, 5, 6]])))
|
|
|
|
print(~np.array([0, -1, -100], dtype=np.uint8))
|
|
print(~np.array([0, -1, -100], dtype=np.uint16))
|
|
print(~np.array([0, -1, -100], dtype=np.int8))
|
|
print(~np.array([0, -1, -100], dtype=np.int16))
|
|
|
|
print(abs(np.array([0, -1, -100], dtype=np.uint8)))
|
|
print(abs(np.array([0, -1, -100], dtype=np.uint16)))
|
|
print(abs(np.array([0, -1, -100], dtype=np.int8)))
|
|
print(abs(np.array([0, -1, -100], dtype=np.int16)))
|
|
print(abs(np.array([0, -1, -100], dtype=np.float)))
|
|
|
|
print(-(np.array([0, -1, -100], dtype=np.uint8)))
|
|
print(-(np.array([0, -1, -100], dtype=np.uint16)))
|
|
print(-(np.array([0, -1, -100], dtype=np.int8)))
|
|
print(-(np.array([0, -1, -100], dtype=np.int16)))
|
|
print(-(np.array([0, -1, -100], dtype=np.float)))
|
|
|
|
print(+(np.array([0, -1, -100], dtype=np.uint8)))
|
|
print(+(np.array([0, -1, -100], dtype=np.uint16)))
|
|
print(+(np.array([0, -1, -100], dtype=np.int8)))
|
|
print(+(np.array([0, -1, -100], dtype=np.int16)))
|
|
print(+(np.array([0, -1, -100], dtype=np.float)))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) > np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) > np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) > np.array([4,5,6], dtype=np.int16))
|
|
print(np.array([1,2,3], dtype=np.float) < np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) < np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) < np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) >= np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) >= np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) >= np.array([4,5,6], dtype=np.int16))
|
|
print(np.array([1,2,3], dtype=np.float) <= np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) <= np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) <= np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) > 4)
|
|
print(np.array([1,2,3], dtype=np.float) > 4.0)
|
|
print(np.array([1,2,3], dtype=np.float) < 4)
|
|
print(np.array([1,2,3], dtype=np.float) < 4.0)
|
|
|
|
print(np.array([1,2,3], dtype=np.float) == np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) == np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) == np.array([4,5,6], dtype=np.int16))
|
|
print(np.array([1,2,3], dtype=np.float) != np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) != np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) != np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) == 4)
|
|
print(np.array([1,2,3], dtype=np.float) == 4.0)
|
|
print(np.array([1,2,3], dtype=np.float) != 4)
|
|
print(np.array([1,2,3], dtype=np.float) != 4.0)
|
|
|
|
print(np.array([1,2,3], dtype=np.float) - np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) - np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) - np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) + np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) + np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) + np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) * np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) * np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) * np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) ** np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) ** np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) ** np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) / np.array([4,5,6], dtype=np.float))
|
|
print(np.array([1,2,3], dtype=np.float) / np.array([4,5,6], dtype=np.uint16))
|
|
print(np.array([1,2,3], dtype=np.float) / np.array([4,5,6], dtype=np.int16))
|
|
|
|
print(np.array([1,2,3], dtype=np.float) - 4)
|
|
print(np.array([1,2,3], dtype=np.float) - 4.0)
|
|
print(np.array([1,2,3], dtype=np.float) + 4)
|
|
print(np.array([1,2,3], dtype=np.float) + 4.0)
|
|
|
|
print(np.array([1,2,3], dtype=np.float) * 4)
|
|
print(np.array([1,2,3], dtype=np.float) * 4.0)
|
|
print(np.array([1,2,3], dtype=np.float) ** 4)
|
|
print(np.array([1,2,3], dtype=np.float) ** 4.0)
|
|
|
|
print(np.array([1,2,3], dtype=np.float) / 4)
|
|
print(np.array([1,2,3], dtype=np.float) / 4.0)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a -= np.array([4,5,6], dtype=np.float)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a -= np.array([4,5,6], dtype=np.uint16)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a -= np.array([4,5,6], dtype=np.int16)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a += np.array([4,5,6], dtype=np.float)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a += np.array([4,5,6], dtype=np.uint16)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a += np.array([4,5,6], dtype=np.int16)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a *= np.array([4,5,6], dtype=np.float)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a *= np.array([4,5,6], dtype=np.uint16)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a *= np.array([4,5,6], dtype=np.int16)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
#a /= np.array([4,5,6])
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a **= np.array([4,5,6], dtype=np.float)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a **= np.array([4,5,6], dtype=np.uint16)
|
|
print(a)
|
|
|
|
a = np.array([1,2,3], dtype=np.float)
|
|
a **= np.array([4,5,6], dtype=np.int16)
|
|
print(a)
|
|
|
|
print(np.array([1,2,3],dtype=np.uint8) + np.array([4,5,6],dtype=np.uint8))
|
|
print(np.array([1,2,3],dtype=np.uint8) + np.array([4,5,6],dtype=np.int8))
|
|
print(np.array([1,2,3],dtype=np.int8) + np.array([4,5,6],dtype=np.int8))
|
|
print(np.array([1,2,3],dtype=np.uint8) + np.array([4,5,6],dtype=np.uint16))
|
|
print(np.array([1,2,3],dtype=np.int8) + np.array([4,5,6],dtype=np.uint16))
|
|
print(np.array([1,2,3],dtype=np.uint8) + np.array([4,5,6],dtype=np.int16))
|
|
print(np.array([1,2,3],dtype=np.int8) + np.array([4,5,6],dtype=np.int16))
|
|
print(np.array([1,2,3],dtype=np.uint16) + np.array([4,5,6],dtype=np.uint16))
|
|
print(np.array([1,2,3],dtype=np.int16) + np.array([4,5,6],dtype=np.int16))
|
|
print(np.array([1,2,3],dtype=np.int16) + np.array([4,5,6],dtype=np.uint16))
|
|
|
|
print(np.array([1,2,3],dtype=np.uint8) + np.array([4,5,6],dtype=np.float))
|
|
print(np.array([1,2,3],dtype=np.int8) + np.array([4,5,6],dtype=np.float))
|
|
print(np.array([1,2,3],dtype=np.uint16) + np.array([4,5,6],dtype=np.float))
|
|
print(np.array([1,2,3],dtype=np.int16) + np.array([4,5,6],dtype=np.float))
|
|
print(np.array([1,2,3],dtype=np.int16) + np.array([4,5,6],dtype=np.float))
|
|
|
|
a = np.array([1, 2, 3, 4, 5], dtype=np.uint8)
|
|
for i, _a in enumerate(a):
|
|
print("element %d in a:"%i, _a)
|
|
|