comparisons.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. from __future__ import annotations
  2. from typing import cast, Any
  3. import numpy as np
  4. c16 = np.complex128()
  5. f8 = np.float64()
  6. i8 = np.int64()
  7. u8 = np.uint64()
  8. c8 = np.complex64()
  9. f4 = np.float32()
  10. i4 = np.int32()
  11. u4 = np.uint32()
  12. dt = np.datetime64(0, "D")
  13. td = np.timedelta64(0, "D")
  14. b_ = np.bool()
  15. b = bool()
  16. c = complex()
  17. f = float()
  18. i = int()
  19. SEQ = (0, 1, 2, 3, 4)
  20. AR_b: np.ndarray[Any, np.dtype[np.bool]] = np.array([True])
  21. AR_u: np.ndarray[Any, np.dtype[np.uint32]] = np.array([1], dtype=np.uint32)
  22. AR_i: np.ndarray[Any, np.dtype[np.int_]] = np.array([1])
  23. AR_f: np.ndarray[Any, np.dtype[np.float64]] = np.array([1.0])
  24. AR_c: np.ndarray[Any, np.dtype[np.complex128]] = np.array([1.0j])
  25. AR_S: np.ndarray[Any, np.dtype[np.bytes_]] = np.array([b"a"], "S")
  26. AR_T = cast(np.ndarray[Any, np.dtypes.StringDType], np.array(["a"], "T"))
  27. AR_U: np.ndarray[Any, np.dtype[np.str_]] = np.array(["a"], "U")
  28. AR_m: np.ndarray[Any, np.dtype[np.timedelta64]] = np.array([np.timedelta64("1")])
  29. AR_M: np.ndarray[Any, np.dtype[np.datetime64]] = np.array([np.datetime64("1")])
  30. AR_O: np.ndarray[Any, np.dtype[np.object_]] = np.array([1], dtype=object)
  31. # Arrays
  32. AR_b > AR_b
  33. AR_b > AR_u
  34. AR_b > AR_i
  35. AR_b > AR_f
  36. AR_b > AR_c
  37. AR_u > AR_b
  38. AR_u > AR_u
  39. AR_u > AR_i
  40. AR_u > AR_f
  41. AR_u > AR_c
  42. AR_i > AR_b
  43. AR_i > AR_u
  44. AR_i > AR_i
  45. AR_i > AR_f
  46. AR_i > AR_c
  47. AR_f > AR_b
  48. AR_f > AR_u
  49. AR_f > AR_i
  50. AR_f > AR_f
  51. AR_f > AR_c
  52. AR_c > AR_b
  53. AR_c > AR_u
  54. AR_c > AR_i
  55. AR_c > AR_f
  56. AR_c > AR_c
  57. AR_S > AR_S
  58. AR_S > b""
  59. AR_T > AR_T
  60. AR_T > AR_U
  61. AR_T > ""
  62. AR_U > AR_U
  63. AR_U > AR_T
  64. AR_U > ""
  65. AR_m > AR_b
  66. AR_m > AR_u
  67. AR_m > AR_i
  68. AR_b > AR_m
  69. AR_u > AR_m
  70. AR_i > AR_m
  71. AR_M > AR_M
  72. AR_O > AR_O
  73. 1 > AR_O
  74. AR_O > 1
  75. # Time structures
  76. dt > dt
  77. td > td
  78. td > i
  79. td > i4
  80. td > i8
  81. td > AR_i
  82. td > SEQ
  83. # boolean
  84. b_ > b
  85. b_ > b_
  86. b_ > i
  87. b_ > i8
  88. b_ > i4
  89. b_ > u8
  90. b_ > u4
  91. b_ > f
  92. b_ > f8
  93. b_ > f4
  94. b_ > c
  95. b_ > c16
  96. b_ > c8
  97. b_ > AR_i
  98. b_ > SEQ
  99. # Complex
  100. c16 > c16
  101. c16 > f8
  102. c16 > i8
  103. c16 > c8
  104. c16 > f4
  105. c16 > i4
  106. c16 > b_
  107. c16 > b
  108. c16 > c
  109. c16 > f
  110. c16 > i
  111. c16 > AR_i
  112. c16 > SEQ
  113. c16 > c16
  114. f8 > c16
  115. i8 > c16
  116. c8 > c16
  117. f4 > c16
  118. i4 > c16
  119. b_ > c16
  120. b > c16
  121. c > c16
  122. f > c16
  123. i > c16
  124. AR_i > c16
  125. SEQ > c16
  126. c8 > c16
  127. c8 > f8
  128. c8 > i8
  129. c8 > c8
  130. c8 > f4
  131. c8 > i4
  132. c8 > b_
  133. c8 > b
  134. c8 > c
  135. c8 > f
  136. c8 > i
  137. c8 > AR_i
  138. c8 > SEQ
  139. c16 > c8
  140. f8 > c8
  141. i8 > c8
  142. c8 > c8
  143. f4 > c8
  144. i4 > c8
  145. b_ > c8
  146. b > c8
  147. c > c8
  148. f > c8
  149. i > c8
  150. AR_i > c8
  151. SEQ > c8
  152. # Float
  153. f8 > f8
  154. f8 > i8
  155. f8 > f4
  156. f8 > i4
  157. f8 > b_
  158. f8 > b
  159. f8 > c
  160. f8 > f
  161. f8 > i
  162. f8 > AR_i
  163. f8 > SEQ
  164. f8 > f8
  165. i8 > f8
  166. f4 > f8
  167. i4 > f8
  168. b_ > f8
  169. b > f8
  170. c > f8
  171. f > f8
  172. i > f8
  173. AR_i > f8
  174. SEQ > f8
  175. f4 > f8
  176. f4 > i8
  177. f4 > f4
  178. f4 > i4
  179. f4 > b_
  180. f4 > b
  181. f4 > c
  182. f4 > f
  183. f4 > i
  184. f4 > AR_i
  185. f4 > SEQ
  186. f8 > f4
  187. i8 > f4
  188. f4 > f4
  189. i4 > f4
  190. b_ > f4
  191. b > f4
  192. c > f4
  193. f > f4
  194. i > f4
  195. AR_i > f4
  196. SEQ > f4
  197. # Int
  198. i8 > i8
  199. i8 > u8
  200. i8 > i4
  201. i8 > u4
  202. i8 > b_
  203. i8 > b
  204. i8 > c
  205. i8 > f
  206. i8 > i
  207. i8 > AR_i
  208. i8 > SEQ
  209. u8 > u8
  210. u8 > i4
  211. u8 > u4
  212. u8 > b_
  213. u8 > b
  214. u8 > c
  215. u8 > f
  216. u8 > i
  217. u8 > AR_i
  218. u8 > SEQ
  219. i8 > i8
  220. u8 > i8
  221. i4 > i8
  222. u4 > i8
  223. b_ > i8
  224. b > i8
  225. c > i8
  226. f > i8
  227. i > i8
  228. AR_i > i8
  229. SEQ > i8
  230. u8 > u8
  231. i4 > u8
  232. u4 > u8
  233. b_ > u8
  234. b > u8
  235. c > u8
  236. f > u8
  237. i > u8
  238. AR_i > u8
  239. SEQ > u8
  240. i4 > i8
  241. i4 > i4
  242. i4 > i
  243. i4 > b_
  244. i4 > b
  245. i4 > AR_i
  246. i4 > SEQ
  247. u4 > i8
  248. u4 > i4
  249. u4 > u8
  250. u4 > u4
  251. u4 > i
  252. u4 > b_
  253. u4 > b
  254. u4 > AR_i
  255. u4 > SEQ
  256. i8 > i4
  257. i4 > i4
  258. i > i4
  259. b_ > i4
  260. b > i4
  261. AR_i > i4
  262. SEQ > i4
  263. i8 > u4
  264. i4 > u4
  265. u8 > u4
  266. u4 > u4
  267. b_ > u4
  268. b > u4
  269. i > u4
  270. AR_i > u4
  271. SEQ > u4