Repository navigation
Description
- 🤖 type-test generation for
ndarray(binary) operators #487- fix failing arithmetic
ndarraybinop tests - fix failing modular
ndarraybinop tests - ✅ fix failing
ndarraybitwise binop tests #513
- fix failing arithmetic
- generate
ndarraybinop type-tests for abstract scalar types #488 - generate
ndarraybinop type-tests for scalars #489 -
generatendarraybinop type-tests for array-likes #490 - generate
ndarrayunop type-tests #492
promotion tables
add
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | M8 | S | T | U | V | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | M8 | ||||
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | M8 | ||||
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | M8 | ||||
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | M8 | ||||
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | M8 | ||||
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | M8 | ||||
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | M8 | ||||
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | M8 | ||||
| u8 | u8 | f8 | f8 | f8 | f8 | u8 | u8 | u8 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | M8 | ||||
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | ||||||
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | ||||||
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | ||||||
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | c32 | c32 | c32 | O | ||||||
| c8 | c8 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c32 | c8 | c16 | c32 | O | ||||||
| c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c32 | c16 | c16 | c32 | O | ||||||
| c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | O | ||||||
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | |||
| m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | M8 | ||||||||||||
| M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | |||||||||||||
| S | O | S | |||||||||||||||||||||
| T | T | T | |||||||||||||||||||||
| U | O | T | U | ||||||||||||||||||||
| V | O |
sub
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | M8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | ||
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | |
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | |
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | |
| u8 | u8 | f8 | f8 | f8 | f8 | u8 | u8 | u8 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | |
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | ||
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | ||
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | ||
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | c32 | c32 | c32 | O | ||
| c8 | c8 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c32 | c8 | c16 | c32 | O | ||
| c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c32 | c16 | c16 | c32 | O | ||
| c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | O | ||
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | ||
| m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | |||||||||
| M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | M8 | m8 |
mul
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | T | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | T |
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | T |
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | T |
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | T |
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | T |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | T |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | T |
| u8 | u8 | f8 | f8 | f8 | f8 | u8 | u8 | u8 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | T |
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | m8 | |
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | c32 | c32 | c32 | O | m8 | |
| c8 | c8 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c32 | c8 | c16 | c32 | O | ||
| c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c32 | c16 | c16 | c32 | O | ||
| c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | O | ||
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | ||
| m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | ||||||
| T | T | T | T | T | T | T | T | T |
matmul
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| u8 | u8 | f8 | f8 | f8 | f8 | u8 | u8 | u8 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | c32 | c32 | c32 | O | |
| c8 | c8 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c32 | c8 | c16 | c32 | O | |
| c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c32 | c16 | c16 | c32 | O | |
| c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | O | |
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O |
| m8 | O |
pow
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| u8 | u8 | f8 | f8 | f8 | f8 | u8 | u8 | u8 | u8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | c32 | c32 | c32 | O | |
| c8 | c8 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c32 | c8 | c16 | c32 | O | |
| c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c32 | c16 | c16 | c32 | O | |
| c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | O | |
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O |
| m8 | O |
truediv
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | m8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i1 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i2 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| i4 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| i8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| u1 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| u2 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| u4 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| u8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | c8 | c16 | c32 | O | |
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | c16 | c16 | c32 | O | |
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | c32 | c32 | c32 | O | |
| c8 | c8 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c16 | c8 | c8 | c16 | c32 | c8 | c16 | c32 | O | |
| c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c16 | c32 | c16 | c16 | c32 | O | |
| c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | c32 | O | |
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | |
| m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | f8 |
floordiv
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | O | m8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | O | |
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f2 | f4 | f8 | f16 | O | |
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f4 | f4 | f8 | f16 | O | |
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | f8 | f8 | f8 | f8 | f16 | O | |
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | f8 | f8 | f8 | f8 | f16 | O | |
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | O | |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | f4 | f4 | f8 | f16 | O | |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | f8 | f8 | f8 | f16 | O | |
| u8 | u8 | f8 | f8 | f8 | f8 | u8 | u8 | u8 | u8 | f8 | f8 | f8 | f16 | O | |
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | O | |
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | O | |
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | O | |
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | O | |
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | |
| m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | m8 | i8 |
mod
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | O | m8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | O | |
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f2 | f4 | f8 | f16 | O | |
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | f8 | f4 | f4 | f8 | f16 | O | |
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | f8 | f8 | f8 | f8 | f16 | O | |
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | f8 | f8 | f8 | f8 | f16 | O | |
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | O | |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | f4 | f4 | f8 | f16 | O | |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | f8 | f8 | f8 | f16 | O | |
| u8 | u8 | f8 | f8 | f8 | f8 | u8 | u8 | u8 | u8 | f8 | f8 | f8 | f16 | O | |
| f2 | f2 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f8 | f2 | f4 | f8 | f16 | O | |
| f4 | f4 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f8 | f4 | f4 | f8 | f16 | O | |
| f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f16 | O | |
| f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | f16 | O | |
| O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | |
| m8 | m8 |
lshift, rshift
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | O | m8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | O | |
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | O | ||
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | O | ||
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | O | ||
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | O | ||
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | O | |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | O | |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | O | |
| u8 | u8 | u8 | u8 | u8 | u8 | O | |||||
| O | O | O | O | O | O | O | O | O | O | O | O |
| m8 | O |
and, xor, or
| b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | O | m8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | O | |
| i1 | i1 | i1 | i2 | i4 | i8 | i2 | i4 | i8 | O | ||
| i2 | i2 | i2 | i2 | i4 | i8 | i2 | i4 | i8 | O | ||
| i4 | i4 | i4 | i4 | i4 | i8 | i4 | i4 | i8 | O | ||
| i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | i8 | O | ||
| u1 | u1 | i2 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | O | |
| u2 | u2 | i4 | i4 | i4 | i8 | u2 | u2 | u4 | u8 | O | |
| u4 | u4 | i8 | i8 | i8 | i8 | u4 | u4 | u4 | u8 | O | |
| u8 | u8 | u8 | u8 | u8 | u8 | O | |||||
| O | O | O | O | O | O | O | O | O | O | O | O |
| m8 | O |
non-trivial promotion sub-tables
add, mul, matmul
| i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| i1 | i2 | i4 | i8 | f8 | ||||||||||
| i2 | i4 | i8 | f8 | f4 | ||||||||||
| i4 | i8 | f8 | f8 | f8 | c16 | |||||||||
| i8 | f8 | f8 | f8 | c16 | ||||||||||
| u1 | i2 | |||||||||||||
| u2 | i4 | i4 | f4 | |||||||||||
| u4 | i8 | i8 | i8 | f8 | f8 | c16 | ||||||||
| u8 | f8 | f8 | f8 | f8 | f8 | f8 | c16 | |||||||
| f2 | f4 | f8 | f8 | f4 | f8 | f8 | ||||||||
| f4 | f8 | f8 | f8 | f8 | ||||||||||
| f8 | c16 | |||||||||||||
| f16 | c32 | c32 | ||||||||||||
| c8 | c16 | c16 | c16 | c16 | c16 | c32 | ||||||||
| c16 | c32 |
sub
| i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | M8 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| i1 | i2 | i4 | i8 | f8 | |||||||||||
| i2 | i4 | i8 | f8 | f4 | |||||||||||
| i4 | i8 | f8 | f8 | f8 | c16 | ||||||||||
| i8 | f8 | f8 | f8 | c16 | |||||||||||
| u1 | i2 | ||||||||||||||
| u2 | i4 | i4 | f4 | ||||||||||||
| u4 | i8 | i8 | i8 | f8 | f8 | c16 | |||||||||
| u8 | f8 | f8 | f8 | f8 | f8 | f8 | c16 | ||||||||
| f2 | f4 | f8 | f8 | f4 | f8 | f8 | |||||||||
| f4 | f8 | f8 | f8 | f8 | |||||||||||
| f8 | c16 | ||||||||||||||
| f16 | c32 | c32 | |||||||||||||
| c8 | c16 | c16 | c16 | c16 | c16 | c32 | |||||||||
| c16 | c32 | ||||||||||||||
| M8 | m8 |
pow
| lhs | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | ||||||||||||||
| i1 | i2 | i4 | i8 | f8 | |||||||||||
| i2 | i4 | i8 | f8 | f4 | |||||||||||
| i4 | i8 | f8 | f8 | f8 | c16 | ||||||||||
| i8 | f8 | f8 | f8 | c16 | |||||||||||
| u1 | i2 | ||||||||||||||
| u2 | i4 | i4 | f4 | ||||||||||||
| u4 | i8 | i8 | i8 | f8 | f8 | c16 | |||||||||
| u8 | f8 | f8 | f8 | f8 | f8 | f8 | c16 | ||||||||
| f2 | f4 | f8 | f8 | f4 | f8 | f8 | |||||||||
| f4 | f8 | f8 | f8 | f8 | |||||||||||
| f8 | c16 | ||||||||||||||
| f16 | c32 | c32 | |||||||||||||
| c8 | c16 | c16 | c16 | c16 | c16 | c32 | |||||||||
| c16 | c32 |
truediv
| lhs | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | f8 | f16 | c8 | c16 | m8 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | |||||||
| i1 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | |||||||
| i2 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f4 | ||||||
| i4 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | c16 | ||||
| i8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | c16 | ||||
| u1 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | |||||||
| u2 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f4 | ||||||
| u4 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | c16 | ||||
| u8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | f8 | c16 | ||||
| f2 | f4 | f8 | f8 | f4 | f8 | f8 | ||||||||||
| f4 | f8 | f8 | f8 | f8 | ||||||||||||
| f8 | c16 | |||||||||||||||
| f16 | c32 | c32 | ||||||||||||||
| c8 | c16 | c16 | c16 | c16 | c16 | c32 | ||||||||||
| c16 | c32 | |||||||||||||||
| m8 | f8 |
floordiv
| lhs | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 | m8 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | |||||||||||
| i1 | i2 | i4 | i8 | f8 | ||||||||
| i2 | i4 | i8 | f8 | f4 | ||||||||
| i4 | i8 | f8 | f8 | f8 | ||||||||
| i8 | f8 | f8 | f8 | |||||||||
| u1 | i2 | |||||||||||
| u2 | i4 | i4 | f4 | |||||||||
| u4 | i8 | i8 | i8 | f8 | f8 | |||||||
| u8 | f8 | f8 | f8 | f8 | f8 | f8 | ||||||
| f2 | f4 | f8 | f8 | f4 | f8 | f8 | ||||||
| f4 | f8 | f8 | f8 | f8 | ||||||||
| m8 | i8 |
mod
| lhs | b1 | i1 | i2 | i4 | i8 | u1 | u2 | u4 | u8 | f2 | f4 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| b1 | i1 | ||||||||||
| i1 | i2 | i4 | i8 | f8 | |||||||
| i2 | i4 | i8 | f8 | f4 | |||||||
| i4 | i8 | f8 | f8 | f8 | |||||||
| i8 | f8 | f8 | f8 | ||||||||
| u1 | i2 | ||||||||||
| u2 | i4 | i4 | f4 | ||||||||
| u4 | i8 | i8 | i8 | f8 | f8 | ||||||
| u8 | f8 | f8 | f8 | f8 | f8 | f8 | |||||
| f2 | f4 | f8 | f8 | f4 | f8 | f8 | |||||
| f4 | f8 | f8 | f8 | f8 |
lshift, rshift
| lhs | b1 | i1 | i2 | i4 | u1 | u2 | u4 |
|---|---|---|---|---|---|---|---|
| b1 | i1 | ||||||
| i1 | i2 | i4 | i8 | ||||
| i2 | i4 | i8 | |||||
| i4 | i8 | ||||||
| u1 | i2 | ||||||
| u2 | i4 | i4 | |||||
| u4 | i8 | i8 | i8 |
and, xor, or
| lhs | i1 | i2 | i4 | u1 | u2 | u4 |
|---|---|---|---|---|---|---|
| i1 | i2 | i4 | i8 | |||
| i2 | i4 | i8 | ||||
| i4 | i8 | |||||
| u1 | i2 | |||||
| u2 | i4 | i4 | ||||
| u4 | i8 | i8 | i8 |
Activity
ndarrayunop type-tests #492ndarraybinop type-tests for array-likes #490ndarraybinop type-tests for abstract scalar types #488ndarraybinop type-tests for scalars #489[-]Overview: `ndarray` binop overhaul[/-][+]Overview: `ndarray` operator method overhaul[/+]ndarrayiop tests #494ndarrayiop tests #494