circuitpython-ulab/tests/numpy/operators.py
Jeff Epler 196104084b tests: try to fit mp, cp, and py3 into one mold
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?
2020-11-23 15:17:00 -06:00

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)