ufunclike.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from __future__ import annotations
  2. from typing import Any
  3. import numpy as np
  4. class Object:
  5. def __ceil__(self) -> Object:
  6. return self
  7. def __floor__(self) -> Object:
  8. return self
  9. def __ge__(self, value: object) -> bool:
  10. return True
  11. def __array__(self) -> np.ndarray[Any, np.dtype[np.object_]]:
  12. ret = np.empty((), dtype=object)
  13. ret[()] = self
  14. return ret
  15. AR_LIKE_b = [True, True, False]
  16. AR_LIKE_u = [np.uint32(1), np.uint32(2), np.uint32(3)]
  17. AR_LIKE_i = [1, 2, 3]
  18. AR_LIKE_f = [1.0, 2.0, 3.0]
  19. AR_LIKE_O = [Object(), Object(), Object()]
  20. AR_U: np.ndarray[Any, np.dtype[np.str_]] = np.zeros(3, dtype="U5")
  21. np.fix(AR_LIKE_b)
  22. np.fix(AR_LIKE_u)
  23. np.fix(AR_LIKE_i)
  24. np.fix(AR_LIKE_f)
  25. np.fix(AR_LIKE_O)
  26. np.fix(AR_LIKE_f, out=AR_U)
  27. np.isposinf(AR_LIKE_b)
  28. np.isposinf(AR_LIKE_u)
  29. np.isposinf(AR_LIKE_i)
  30. np.isposinf(AR_LIKE_f)
  31. np.isposinf(AR_LIKE_f, out=AR_U)
  32. np.isneginf(AR_LIKE_b)
  33. np.isneginf(AR_LIKE_u)
  34. np.isneginf(AR_LIKE_i)
  35. np.isneginf(AR_LIKE_f)
  36. np.isneginf(AR_LIKE_f, out=AR_U)