blob: bd055673b41bf01a2d7ce3b0c47337b36a6763dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
import numpy as np
# Construction
class C:
def __complex__(self):
return 3j
class B:
def __int__(self):
return 4
class A:
def __float__(self):
return 4.0
np.complex64(3j)
np.complex64(C())
np.complex128(3j)
np.complex128(C())
np.int8(4)
np.int16(3.4)
np.int32(4)
np.int64(-1)
np.uint8(B())
np.uint32()
np.float16(A())
np.float32(16)
np.float64(3.0)
np.bytes_(b"hello")
np.str_("hello")
# Protocols
float(np.int8(4))
int(np.int16(5))
np.int8(np.float32(6))
# TODO(alan): test after https://github.com/python/typeshed/pull/2004
# complex(np.int32(8))
abs(np.int8(4))
# Array-ish semantics
np.int8().real
np.int16().imag
np.int32().data
np.int64().flags
np.uint8().itemsize * 2
np.uint16().ndim + 1
np.uint32().strides
np.uint64().shape
# Time structures
np.datetime64()
np.datetime64(0, "D")
np.datetime64("2019")
np.datetime64("2019", "D")
np.timedelta64()
np.timedelta64(0)
np.timedelta64(0, "D")
dt_64 = np.datetime64(0, "D")
td_64 = np.timedelta64(1, "h")
dt_64 + td_64
dt_64 - dt_64
dt_64 - td_64
td_64 + td_64
td_64 - td_64
td_64 / 1.0
td_64 / td_64
td_64 % td_64
np.void(1)
np.void(np.int64(1))
np.void(True)
np.void(np.bool_(True))
np.void(b"test")
np.void(np.bytes_("test"))
|