diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2022-06-19 19:47:51 +0530 |
|---|---|---|
| committer | Raghuram Subramani <raghus2247@gmail.com> | 2022-06-19 19:47:51 +0530 |
| commit | 4fd287655a72b9aea14cdac715ad5b90ed082ed2 (patch) | |
| tree | 65d393bc0e699dd12d05b29ba568e04cea666207 /circuitpython/extmod/ulab/tests/2d/numpy/numericals.py | |
| parent | 0150f70ce9c39e9e6dd878766c0620c85e47bed0 (diff) | |
add circuitpython code
Diffstat (limited to 'circuitpython/extmod/ulab/tests/2d/numpy/numericals.py')
| -rw-r--r-- | circuitpython/extmod/ulab/tests/2d/numpy/numericals.py | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/circuitpython/extmod/ulab/tests/2d/numpy/numericals.py b/circuitpython/extmod/ulab/tests/2d/numpy/numericals.py new file mode 100644 index 0000000..909929f --- /dev/null +++ b/circuitpython/extmod/ulab/tests/2d/numpy/numericals.py @@ -0,0 +1,214 @@ +import math +try: + from ulab import numpy as np +except ImportError: + import numpy as np + +print("Testing np.min:") +print(np.min([1])) +print(np.min(np.array([1], dtype=np.float))) +a = np.array([[1,2,3],[4,5,6],[7,8,9]], dtype=np.uint8) +print(np.min(a)) +print(np.min(a, axis=0)) +print(np.min(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint8) +print(np.min(a)) +print(np.min(a, axis=0)) +print(np.min(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int8) +print(np.min(a)) ## Problem here +print(np.min(a, axis=0)) +print(np.min(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint16) +print(np.min(a)) +print(np.min(a, axis=0)) +print(np.min(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int16) +print(np.min(a)) +print(np.min(a, axis=0)) +print(np.min(a, axis=1)) +a = np.array([range(2**56-3, 2**56),range(2**16-3, 2**16),range(2**8-3, 2**8)], dtype=np.float) +print(np.min(a)) +print(np.min(a, axis=0)) +print(np.min(a, axis=1)) + +print("Testing np.max:") +print(np.max([1])) +print(np.max(np.array([1], dtype=np.float))) +a = np.array([[1,2,3],[4,5,6],[7,8,9]], dtype=np.uint8) +print(np.max(a)) +print(np.max(a, axis=0)) +print(np.max(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint8) +print(np.max(a)) +print(np.max(a, axis=0)) +print(np.max(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int8) +print(np.max(a)) ## Problem here +print(np.max(a, axis=0)) +print(np.max(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint16) +print(np.max(a)) +print(np.max(a, axis=0)) +print(np.max(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int16) +print(np.max(a)) +print(np.max(a, axis=0)) +print(np.max(a, axis=1)) +a = np.array([range(2**56-3, 2**56),range(2**16-3, 2**16),range(2**8-3, 2**8)], dtype=np.float) +print(np.max(a)) +print(np.max(a, axis=0)) +print(np.max(a, axis=1)) + +print("Testing np.argmin:") +print(np.argmin([1])) +print(np.argmin(np.array([1], dtype=np.float))) +a = np.array([[1,2,3],[4,5,6],[7,8,9]], dtype=np.uint8) +print(np.argmin(a)) +print(np.argmin(a, axis=0)) +print(np.argmin(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint8) +print(np.argmin(a)) +print(np.argmin(a, axis=0)) +print(np.argmin(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int8) +print(np.argmin(a)) ## Problem here +print(np.argmin(a, axis=0)) +print(np.argmin(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint16) +print(np.argmin(a)) +print(np.argmin(a, axis=0)) +print(np.argmin(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int16) +print(np.argmin(a)) +print(np.argmin(a, axis=0)) +print(np.argmin(a, axis=1)) +a = np.array([range(2**56-3, 2**56),range(2**16-3, 2**16),range(2**8-3, 2**8)], dtype=np.float) +print(np.argmin(a)) +print(np.argmin(a, axis=0)) +print(np.argmin(a, axis=1)) + +print("Testing np.argmax:") +print(np.argmax([1])) +print(np.argmax(np.array([1], dtype=np.float))) +a = np.array([[1,2,3],[4,5,6],[7,8,9]], dtype=np.uint8) +print(np.argmax(a)) +print(np.argmax(a, axis=0)) +print(np.argmax(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint8) +print(np.argmax(a)) +print(np.argmax(a, axis=0)) +print(np.argmax(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int8) +print(np.argmax(a)) ## Problem here +print(np.argmax(a, axis=0)) +print(np.argmax(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.uint16) +print(np.argmax(a)) +print(np.argmax(a, axis=0)) +print(np.argmax(a, axis=1)) +a = np.array([range(255-5, 255),range(240-5, 240),range(250-5,250)], dtype=np.int16) +print(np.argmax(a)) +print(np.argmax(a, axis=0)) +print(np.argmax(a, axis=1)) +a = np.array([range(2**56-3, 2**56),range(2**16-3, 2**16),range(2**8-3, 2**8)], dtype=np.float) +print(np.argmax(a)) +print(np.argmax(a, axis=0)) +print(np.argmax(a, axis=1)) + +print("Testing np.minimum:") +print(np.minimum(10, 9)) +print(np.minimum(10.0, 9.0)) +a = np.array([range(255-3, 255),range(240-3, 240),range(250-3,250)], dtype=np.float) +b = np.array([range(2**56-3, 2**56),range(2**16-3, 2**16),range(2**8-3, 2**8)], dtype=np.float) +print(np.minimum(a, b)) + +print("Testing np.maximum:") +print(np.maximum(a, b)) +print(np.maximum(10, 9)) +print(np.maximum(10.0, 9.0)) +a = np.array([range(255-3, 255),range(240-3, 240),range(250-3,250)], dtype=np.float) +b = np.array([range(2**56-3, 2**56),range(2**16-3, 2**16),range(2**8-3, 2**8)], dtype=np.float) +print(np.maximum(a, b)) + +print("Testing np.sort:") +a = np.array([range(255-3, 255),range(240-3, 240),range(250-3,250)], dtype=np.uint8) +b = np.array([range(2**56-3, 2**56),range(2**16-3, 2**16),range(2**8-3, 2**8)], dtype=np.float) +print(np.sort(a, axis=None)) +print(np.sort(b, axis=None)) +print(np.sort(a, axis=0)) +print(np.sort(b, axis=0)) +print(np.sort(a, axis=1)) +print(np.sort(b, axis=1)) + +print("Testing np.sum:") +a = np.array([253, 254, 255], dtype=np.uint8) +print(np.sum(a)) +print(np.sum(a, axis=0)) +a = np.array([range(255-3, 255),range(240-3, 240),range(250-3,250)], dtype=np.float) +print(np.sum(a)) +print(np.sum(a, axis=0)) +print(np.sum(a, axis=1)) + +print("Testing np.mean:") +a = np.array([253, 254, 255], dtype=np.uint8) +print(np.mean(a)) +print(np.mean(a, axis=0)) +a = np.array([range(255-3, 255),range(240-3, 240),range(250-3,250)], dtype=np.float) +#print(np.mean(a)) +print(math.isclose(np.mean(a), 246.3333333333333, rel_tol=1e-06, abs_tol=1e-06)) +#print(np.mean(a, axis=0)) +result = np.mean(a, axis=0) +ref_result = [245.33333333, 246.33333333, 247.33333333] +for p, q in zip(list(result), ref_result): + print(math.isclose(p, q, rel_tol=1e-06, abs_tol=1e-06)) + +#print(np.mean(a, axis=1)) +result = np.mean(a, axis=1) +ref_result = [253., 238., 248.] +for p, q in zip(list(result), ref_result): + print(math.isclose(p, q, rel_tol=1e-06, abs_tol=1e-06)) + +print("Testing np.std:") +a = np.array([253, 254, 255], dtype=np.uint8) +#print(np.std(a)) +print(math.isclose(np.std(a), 0.816496580927726, rel_tol=1e-06, abs_tol=1e-06)) +print(math.isclose(np.std(a, axis=0), 0.816496580927726, rel_tol=1e-06, abs_tol=1e-06)) +a = np.array([range(255-3, 255),range(240-3, 240),range(250-3,250)], dtype=np.float) +#print(np.std(a)) +print(math.isclose(np.std(a), 6.289320754704403, rel_tol=1e-06, abs_tol=1e-06)) +#print(np.std(a, axis=0)) +result = np.std(a, axis=0) +ref_result = [6.23609564, 6.23609564, 6.23609564] +for p, q in zip(list(result), ref_result): + print(math.isclose(p, q, rel_tol=1e-06, abs_tol=1e-06)) + +#print(np.std(a, axis=1)) +result = np.std(a, axis=1) +ref_result = [0.81649658, 0.81649658, 0.81649658] +for p, q in zip(list(result), ref_result): + print(math.isclose(p, q, rel_tol=1e-06, abs_tol=1e-06)) + +print("Testing np.median:") +a = np.array([253, 254, 255], dtype=np.uint8) +print(np.median(a)) +print(np.median(a, axis=0)) +a = np.array([range(255-3, 255),range(240-3, 240),range(250-3,250)], dtype=np.float) +print(np.median(a)) +print(np.median(a, axis=0)) +print(np.median(a, axis=1)) +print("Testing np.roll:") ## Here is problem +print(np.arange(10)) +print(np.roll(np.arange(10), 2)) +print(np.roll(np.arange(10), -2)) +a = np.array([1, 2, 3, 4, 5, 6, 7, 8]) +print(np.roll(a, 2)) +print(np.roll(a, -2)) +print("Testing np.clip:") +print(np.clip(5, 3, 6)) ## Here is problem +print(np.clip(7, 3, 6)) +print(np.clip(1, 3, 6)) +a = np.array([1,2,3,4,5,6,7], dtype=np.int8) +print(np.clip(a, 3, 5)) +a = np.array([1,2,3,4,5,6,7], dtype=np.float) +print(np.clip(a, 3, 5)) |
