mod.pyi 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. from typing import Any
  2. import numpy as np
  3. f8 = np.float64()
  4. i8 = np.int64()
  5. u8 = np.uint64()
  6. f4 = np.float32()
  7. i4 = np.int32()
  8. u4 = np.uint32()
  9. td = np.timedelta64(0, "D")
  10. b_ = np.bool_()
  11. b = bool()
  12. f = float()
  13. i = int()
  14. AR_b: np.ndarray[Any, np.dtype[np.bool_]]
  15. AR_m: np.ndarray[Any, np.dtype[np.timedelta64]]
  16. # Time structures
  17. reveal_type(td % td) # E: timedelta64
  18. reveal_type(AR_m % td) # E: Any
  19. reveal_type(td % AR_m) # E: Any
  20. reveal_type(divmod(td, td)) # E: Tuple[{int64}, timedelta64]
  21. reveal_type(divmod(AR_m, td)) # E: Tuple[ndarray[Any, dtype[signedinteger[typing._64Bit]]], ndarray[Any, dtype[timedelta64]]]
  22. reveal_type(divmod(td, AR_m)) # E: Tuple[ndarray[Any, dtype[signedinteger[typing._64Bit]]], ndarray[Any, dtype[timedelta64]]]
  23. # Bool
  24. reveal_type(b_ % b) # E: {int8}
  25. reveal_type(b_ % i) # E: {int_}
  26. reveal_type(b_ % f) # E: {float64}
  27. reveal_type(b_ % b_) # E: {int8}
  28. reveal_type(b_ % i8) # E: {int64}
  29. reveal_type(b_ % u8) # E: {uint64}
  30. reveal_type(b_ % f8) # E: {float64}
  31. reveal_type(b_ % AR_b) # E: ndarray[Any, dtype[{int8}]]
  32. reveal_type(divmod(b_, b)) # E: Tuple[{int8}, {int8}]
  33. reveal_type(divmod(b_, i)) # E: Tuple[{int_}, {int_}]
  34. reveal_type(divmod(b_, f)) # E: Tuple[{float64}, {float64}]
  35. reveal_type(divmod(b_, b_)) # E: Tuple[{int8}, {int8}]
  36. reveal_type(divmod(b_, i8)) # E: Tuple[{int64}, {int64}]
  37. reveal_type(divmod(b_, u8)) # E: Tuple[{uint64}, {uint64}]
  38. reveal_type(divmod(b_, f8)) # E: Tuple[{float64}, {float64}]
  39. reveal_type(divmod(b_, AR_b)) # E: ndarray[Any, dtype[{int8}]], ndarray[Any, dtype[{int8}]]]
  40. reveal_type(b % b_) # E: {int8}
  41. reveal_type(i % b_) # E: {int_}
  42. reveal_type(f % b_) # E: {float64}
  43. reveal_type(b_ % b_) # E: {int8}
  44. reveal_type(i8 % b_) # E: {int64}
  45. reveal_type(u8 % b_) # E: {uint64}
  46. reveal_type(f8 % b_) # E: {float64}
  47. reveal_type(AR_b % b_) # E: ndarray[Any, dtype[{int8}]]
  48. reveal_type(divmod(b, b_)) # E: Tuple[{int8}, {int8}]
  49. reveal_type(divmod(i, b_)) # E: Tuple[{int_}, {int_}]
  50. reveal_type(divmod(f, b_)) # E: Tuple[{float64}, {float64}]
  51. reveal_type(divmod(b_, b_)) # E: Tuple[{int8}, {int8}]
  52. reveal_type(divmod(i8, b_)) # E: Tuple[{int64}, {int64}]
  53. reveal_type(divmod(u8, b_)) # E: Tuple[{uint64}, {uint64}]
  54. reveal_type(divmod(f8, b_)) # E: Tuple[{float64}, {float64}]
  55. reveal_type(divmod(AR_b, b_)) # E: ndarray[Any, dtype[{int8}]], ndarray[Any, dtype[{int8}]]]
  56. # int
  57. reveal_type(i8 % b) # E: {int64}
  58. reveal_type(i8 % i) # E: {int64}
  59. reveal_type(i8 % f) # E: {float64}
  60. reveal_type(i8 % i8) # E: {int64}
  61. reveal_type(i8 % f8) # E: {float64}
  62. reveal_type(i4 % i8) # E: {int64}
  63. reveal_type(i4 % f8) # E: {float64}
  64. reveal_type(i4 % i4) # E: {int32}
  65. reveal_type(i4 % f4) # E: {float32}
  66. reveal_type(i8 % AR_b) # E: ndarray[Any, dtype[signedinteger[Any]]]
  67. reveal_type(divmod(i8, b)) # E: Tuple[{int64}, {int64}]
  68. reveal_type(divmod(i8, i)) # E: Tuple[{int64}, {int64}]
  69. reveal_type(divmod(i8, f)) # E: Tuple[{float64}, {float64}]
  70. reveal_type(divmod(i8, i8)) # E: Tuple[{int64}, {int64}]
  71. reveal_type(divmod(i8, f8)) # E: Tuple[{float64}, {float64}]
  72. reveal_type(divmod(i8, i4)) # E: Tuple[{int64}, {int64}]
  73. reveal_type(divmod(i8, f4)) # E: Tuple[{float64}, {float64}]
  74. reveal_type(divmod(i4, i4)) # E: Tuple[{int32}, {int32}]
  75. reveal_type(divmod(i4, f4)) # E: Tuple[{float32}, {float32}]
  76. reveal_type(divmod(i8, AR_b)) # E: Tuple[ndarray[Any, dtype[signedinteger[Any]]], ndarray[Any, dtype[signedinteger[Any]]]]
  77. reveal_type(b % i8) # E: {int64}
  78. reveal_type(i % i8) # E: {int64}
  79. reveal_type(f % i8) # E: {float64}
  80. reveal_type(i8 % i8) # E: {int64}
  81. reveal_type(f8 % i8) # E: {float64}
  82. reveal_type(i8 % i4) # E: {int64}
  83. reveal_type(f8 % i4) # E: {float64}
  84. reveal_type(i4 % i4) # E: {int32}
  85. reveal_type(f4 % i4) # E: {float32}
  86. reveal_type(AR_b % i8) # E: ndarray[Any, dtype[signedinteger[Any]]]
  87. reveal_type(divmod(b, i8)) # E: Tuple[{int64}, {int64}]
  88. reveal_type(divmod(i, i8)) # E: Tuple[{int64}, {int64}]
  89. reveal_type(divmod(f, i8)) # E: Tuple[{float64}, {float64}]
  90. reveal_type(divmod(i8, i8)) # E: Tuple[{int64}, {int64}]
  91. reveal_type(divmod(f8, i8)) # E: Tuple[{float64}, {float64}]
  92. reveal_type(divmod(i4, i8)) # E: Tuple[{int64}, {int64}]
  93. reveal_type(divmod(f4, i8)) # E: Tuple[{float64}, {float64}]
  94. reveal_type(divmod(i4, i4)) # E: Tuple[{int32}, {int32}]
  95. reveal_type(divmod(f4, i4)) # E: Tuple[{float32}, {float32}]
  96. reveal_type(divmod(AR_b, i8)) # E: Tuple[ndarray[Any, dtype[signedinteger[Any]]], ndarray[Any, dtype[signedinteger[Any]]]]
  97. # float
  98. reveal_type(f8 % b) # E: {float64}
  99. reveal_type(f8 % i) # E: {float64}
  100. reveal_type(f8 % f) # E: {float64}
  101. reveal_type(i8 % f4) # E: {float64}
  102. reveal_type(f4 % f4) # E: {float32}
  103. reveal_type(f8 % AR_b) # E: ndarray[Any, dtype[floating[Any]]]
  104. reveal_type(divmod(f8, b)) # E: Tuple[{float64}, {float64}]
  105. reveal_type(divmod(f8, i)) # E: Tuple[{float64}, {float64}]
  106. reveal_type(divmod(f8, f)) # E: Tuple[{float64}, {float64}]
  107. reveal_type(divmod(f8, f8)) # E: Tuple[{float64}, {float64}]
  108. reveal_type(divmod(f8, f4)) # E: Tuple[{float64}, {float64}]
  109. reveal_type(divmod(f4, f4)) # E: Tuple[{float32}, {float32}]
  110. reveal_type(divmod(f8, AR_b)) # E: Tuple[ndarray[Any, dtype[floating[Any]]], ndarray[Any, dtype[floating[Any]]]]
  111. reveal_type(b % f8) # E: {float64}
  112. reveal_type(i % f8) # E: {float64}
  113. reveal_type(f % f8) # E: {float64}
  114. reveal_type(f8 % f8) # E: {float64}
  115. reveal_type(f8 % f8) # E: {float64}
  116. reveal_type(f4 % f4) # E: {float32}
  117. reveal_type(AR_b % f8) # E: ndarray[Any, dtype[floating[Any]]]
  118. reveal_type(divmod(b, f8)) # E: Tuple[{float64}, {float64}]
  119. reveal_type(divmod(i, f8)) # E: Tuple[{float64}, {float64}]
  120. reveal_type(divmod(f, f8)) # E: Tuple[{float64}, {float64}]
  121. reveal_type(divmod(f8, f8)) # E: Tuple[{float64}, {float64}]
  122. reveal_type(divmod(f4, f8)) # E: Tuple[{float64}, {float64}]
  123. reveal_type(divmod(f4, f4)) # E: Tuple[{float32}, {float32}]
  124. reveal_type(divmod(AR_b, f8)) # E: Tuple[ndarray[Any, dtype[floating[Any]]], ndarray[Any, dtype[floating[Any]]]]