You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: spec/API_specification/type_promotion.md
+39-39Lines changed: 39 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -18,59 +18,59 @@ In code, use the data type objects specified in {ref}`data-types` (e.g., `int16`
18
18
19
19
<!-- Note: please keep table columns aligned -->
20
20
21
-
- signed integer type promotion table:
21
+
### Signed integer type promotion table
22
22
23
-
|| i1 | i2 | i4 | i8 |
24
-
| ------ | -- | -- | -- | -- |
25
-
|**i1**| i1 | i2 | i4 | i8 |
26
-
|**i2**| i2 | i2 | i4 | i8 |
27
-
|**i4**| i4 | i4 | i4 | i8 |
28
-
|**i8**| i8 | i8 | i8 | i8 |
23
+
|| i1 | i2 | i4 | i8 |
24
+
| ------ | -- | -- | -- | -- |
25
+
|**i1**| i1 | i2 | i4 | i8 |
26
+
|**i2**| i2 | i2 | i4 | i8 |
27
+
|**i4**| i4 | i4 | i4 | i8 |
28
+
|**i8**| i8 | i8 | i8 | i8 |
29
29
30
-
where
30
+
where
31
31
32
-
-**i1**: 8-bit signed integer (i.e., `int8`)
33
-
-**i2**: 16-bit signed integer (i.e., `int16`)
34
-
-**i4**: 32-bit signed integer (i.e., `int32`)
35
-
-**i8**: 64-bit signed integer (i.e., `int64`)
32
+
-**i1**: 8-bit signed integer (i.e., `int8`)
33
+
-**i2**: 16-bit signed integer (i.e., `int16`)
34
+
-**i4**: 32-bit signed integer (i.e., `int32`)
35
+
-**i8**: 64-bit signed integer (i.e., `int64`)
36
36
37
-
- unsigned integer type promotion table:
37
+
### Unsigned integer type promotion table
38
38
39
-
|| u1 | u2 | u4 | u8 |
40
-
| ------ | -- | -- | -- | -- |
41
-
|**u1**| u1 | u2 | u4 | u8 |
42
-
|**u2**| u2 | u2 | u4 | u8 |
43
-
|**u4**| u4 | u4 | u4 | u8 |
44
-
|**u8**| u8 | u8 | u8 | u8 |
39
+
|| u1 | u2 | u4 | u8 |
40
+
| ------ | -- | -- | -- | -- |
41
+
|**u1**| u1 | u2 | u4 | u8 |
42
+
|**u2**| u2 | u2 | u4 | u8 |
43
+
|**u4**| u4 | u4 | u4 | u8 |
44
+
|**u8**| u8 | u8 | u8 | u8 |
45
45
46
-
where
46
+
where
47
47
48
-
-**u1**: 8-bit unsigned integer (i.e., `uint8`)
49
-
-**u2**: 16-bit unsigned integer (i.e., `uint16`)
50
-
-**u4**: 32-bit unsigned integer (i.e., `uint32`)
51
-
-**u8**: 64-bit unsigned integer (i.e., `uint64`)
48
+
-**u1**: 8-bit unsigned integer (i.e., `uint8`)
49
+
-**u2**: 16-bit unsigned integer (i.e., `uint16`)
50
+
-**u4**: 32-bit unsigned integer (i.e., `uint32`)
51
+
-**u8**: 64-bit unsigned integer (i.e., `uint64`)
52
52
53
-
- mixed unsigned and signed integer type promotion table:
53
+
### Mixed unsigned and signed integer type promotion table
54
54
55
-
|| u1 | u2 | u4 |
56
-
| ------ | -- | -- | -- |
57
-
|**i1**| i2 | i4 | i8 |
58
-
|**i2**| i2 | i4 | i8 |
59
-
|**i4**| i4 | i4 | i8 |
55
+
|| u1 | u2 | u4 |
56
+
| ------ | -- | -- | -- |
57
+
|**i1**| i2 | i4 | i8 |
58
+
|**i2**| i2 | i4 | i8 |
59
+
|**i4**| i4 | i4 | i8 |
60
60
61
-
- floating-point type promotion table:
61
+
### Floating-point type promotion table
62
62
63
-
|| f4 | f8 |
64
-
| ------ | -- | -- |
65
-
|**f4**| f4 | f8 |
66
-
|**f8**| f8 | f8 |
63
+
|| f4 | f8 |
64
+
| ------ | -- | -- |
65
+
|**f4**| f4 | f8 |
66
+
|**f8**| f8 | f8 |
67
67
68
-
where
68
+
where
69
69
70
-
-**f4**: single-precision (32-bit) floating-point number (i.e., `float32`)
71
-
-**f8**: double-precision (64-bit) floating-point number (i.e., `float64`)
70
+
-**f4**: single-precision (32-bit) floating-point number (i.e., `float32`)
71
+
-**f8**: double-precision (64-bit) floating-point number (i.e., `float64`)
72
72
73
-
## Notes
73
+
###Notes
74
74
75
75
- Type promotion rules **strictly** apply when determining the common result type for two **array** operands during an arithmetic operation, regardless of array dimension. Accordingly, zero-dimensional arrays are subject to the same type promotion rules as dimensional arrays.
76
76
- Type promotion of non-numerical data types to numerical data types is unspecified (e.g., `bool` to `intxx` or `floatxx`).
0 commit comments