Skip to content

Instantly share code, notes, and snippets.

@certik
Forked from anonymous/gist:4393819
Created December 28, 2012 01:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save certik/4393833 to your computer and use it in GitHub Desktop.
Save certik/4393833 to your computer and use it in GitHub Desktop.
NumPy 1.7.x
$ python print_coercion_tables.py
can cast
X ? b h i l q p B H I L Q P e f d g F D G S U V O M m
? 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
b 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1
h 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1
i 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1
l 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1
q 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1
p 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1
B 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
H 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1
I 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1
L 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1
Q 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1
P 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1
e 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0
f 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0
d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0
g 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0
F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0
D 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0
G 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0
S 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0
U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
V 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
O 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
M 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
m 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
In these tables, ValueError is '!', OverflowError is '@', TypeError is '#'
scalar + scalar
+ ? b h i l q p B H I L Q P e f d g F D G S U V O M m
? ? b h i l q l B H I L Q L e f d g F D G O O # O ! m
b b b h i l q l h i l d d d e f d g F D G O O # O ! m
h h h h i l q l h i l d d d f f d g F D G O O # O ! m
i i i i i l q l i i l d d d d d d g D D G O O # O ! m
l l l l l l q l l l l d d d d d d g D D G O O # O ! m
q q q q q q q q q q q d d d d d d g D D G O O # O ! m
p l l l l l q l l l l d d d d d d g D D G O O # O ! m
B B h h i l q l B H I L Q L e f d g F D G O O # O ! m
H H i i i l q l H H I L Q L f f d g F D G O O # O ! m
I I l l l l q l I I I L Q L d d d g D D G O O # O ! m
L L d d d d d d L L L L Q L d d d g D D G O O # O ! m
Q Q d d d d d d Q Q Q Q Q Q d d d g D D G O O # O ! m
P L d d d d d d L L L L Q L d d d g D D G O O # O ! m
e e e f d d d d e f d d d d e f d g F D G O O # O ! #
f f f f d d d d f f d d d d f f d g F D G O O # O ! #
d d d d d d d d d d d d d d d d d g D D G O O # O ! #
g g g g g g g g g g g g g g g g g g G G G O O # O ! #
F F F F D D D D F F D D D D F F D G F D G O O # O ! #
D D D D D D D D D D D D D D D D D G D D G O O # O ! #
G G G G G G G G G G G G G G G G G G G G G O O # O ! #
S O O O O O O O O O O O O O O O O O O O O O O # O ! O
U O O O O O O O O O O O O O O O O O O O O O O # O ! O
V # # # # # # # # # # # # # # # # # # # # # # # # ! #
O O O O O O O O O O O O O O O O O O O O O O O # O ! #
M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
m m m m m m m m m m m m m m # # # # # # # O O # # ! m
scalar + neg scalar
+ ? b h i l q p B H I L Q P e f d g F D G S U V O M m
? ? b h i l q l B H I L Q L e f d g F D G O O @ O ! m
b b b h i l q l h i l d d d e f d g F D G O O @ O ! m
h h h h i l q l h i l d d d f f d g F D G O O @ O ! m
i i i i i l q l i i l d d d d d d g D D G O O @ O ! m
l l l l l l q l l l l d d d d d d g D D G O O @ O ! m
q q q q q q q q q q q d d d d d d g D D G O O @ O ! m
p l l l l l q l l l l d d d d d d g D D G O O @ O ! m
B B h h i l q l B H I L Q L e f d g F D G O O @ O ! m
H H i i i l q l H H I L Q L f f d g F D G O O @ O ! m
I I l l l l q l I I I L Q L d d d g D D G O O @ O ! m
L L d d d d d d L L L L Q L d d d g D D G O O @ O ! m
Q Q d d d d d d Q Q Q Q Q Q d d d g D D G O O @ O ! m
P L d d d d d d L L L L Q L d d d g D D G O O @ O ! m
e e e f d d d d e f d d d d e f d g F D G O O @ O ! #
f f f f d d d d f f d d d d f f d g F D G O O @ O ! #
d d d d d d d d d d d d d d d d d g D D G O O @ O ! #
g g g g g g g g g g g g g g g g g g G G G O O @ O ! #
F F F F D D D D F F D D D D F F D G F D G O O @ O ! #
D D D D D D D D D D D D D D D D D G D D G O O @ O ! #
G G G G G G G G G G G G G G G G G G G G G O O @ O ! #
S O O O O O O O O O O O O O O O O O O O O O O @ O ! O
U O O O O O O O O O O O O O O O O O O O O O O @ O ! O
V # # # # # # # # # # # # # # # # # # # # # # @ # ! #
O O O O O O O O O O O O O O O O O O O O O O O @ O ! #
M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
m m m m m m m m m m m m m m # # # # # # # O O @ # ! m
array + scalar
+ ? b h i l q p B H I L Q P e f d g F D G S U V O M m
? ? b h i l q l B H I L Q L e f d g F D G O O # O ! m
b b b b b b b b b b b b b b e f d g F D G O O # O ! m
h h h h h h h h h h h h h h f f d g F D G O O # O ! m
i i i i i i i i i i i i i i d d d g D D G O O # O ! m
l l l l l l l l l l l l l l d d d g D D G O O # O ! m
q q q q q q q q q q q q q q d d d g D D G O O # O ! m
p l l l l l l l l l l l l l d d d g D D G O O # O ! m
B B B B B B B B B B B B B B e f d g F D G O O # O ! m
H H H H H H H H H H H H H H f f d g F D G O O # O ! m
I I I I I I I I I I I I I I d d d g D D G O O # O ! m
L L L L L L L L L L L L L L d d d g D D G O O # O ! m
Q Q Q Q Q Q Q Q Q Q Q Q Q Q d d d g D D G O O # O ! m
P L L L L L L L L L L L L L d d d g D D G O O # O ! m
e e e e e e e e e e e e e e e e e e F F F O O # O ! #
f f f f f f f f f f f f f f f f f f F F F O O # O ! #
d d d d d d d d d d d d d d d d d d D D D O O # O ! #
g g g g g g g g g g g g g g g g g g G G G O O # O ! #
F F F F F F F F F F F F F F F F F F F F F O O # O ! #
D D D D D D D D D D D D D D D D D D D D D O O # O ! #
G G G G G G G G G G G G G G G G G G G G G O O # O ! #
S O O O O O O O O O O O O O O O O O O O O O O # O ! O
U O O O O O O O O O O O O O O O O O O O O O O # O ! O
V # # # # # # # # # # # # # # # # # # # # # # # # # #
O O O O O O O O O O O O O O O O O O O O O O O # O ! #
M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
m m m m m m m m m m m m m m # # # # # # # O O # # ! m
array + neg scalar
+ ? b h i l q p B H I L Q P e f d g F D G S U V O M m
? ? b h i l q l B H I L Q L e f d g F D G O O @ O ! m
b b b b b b b b h i l d d d e f d g F D G O O @ O ! m
h h h h h h h h h i l d d d f f d g F D G O O @ O ! m
i i i i i i i i i i l d d d d d d g D D G O O @ O ! m
l l l l l l l l l l l d d d d d d g D D G O O @ O ! m
q q q q q q q q q q q d d d d d d g D D G O O @ O ! m
p l l l l l l l l l l d d d d d d g D D G O O @ O ! m
B B h h h h h h B H I L Q L e f d g F D G O O @ O ! m
H H i i i i i i H H I L Q L f f d g F D G O O @ O ! m
I I l l l l l l I I I L Q L d d d g D D G O O @ O ! m
L L d d d d d d L L L L Q L d d d g D D G O O @ O ! m
Q Q d d d d d d Q Q Q Q Q Q d d d g D D G O O @ O ! m
P L d d d d d d L L L L Q L d d d g D D G O O @ O ! m
e e e e e e e e e f d d d d e e e e F F F O O @ O ! #
f f f f f f f f f f d d d d f f f f F F F O O @ O ! #
d d d d d d d d d d d d d d d d d d D D D O O @ O ! #
g g g g g g g g g g g g g g g g g g G G G O O @ O ! #
F F F F F F F F F F D D D D F F F F F F F O O @ O ! #
D D D D D D D D D D D D D D D D D D D D D O O @ O ! #
G G G G G G G G G G G G G G G G G G G G G O O @ O ! #
S O O O O O O O O O O O O O O O O O O O O O O @ O ! O
U O O O O O O O O O O O O O O O O O O O O O O @ O ! O
V # # # # # # # # # # # # # # # # # # # # # # # # # #
O O O O O O O O O O O O O O O O O O O O O O O @ O ! #
M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
m m m m m m m m m m m m m m # # # # # # # O O @ # ! m
promote_types
+ ? b h i l q p B H I L Q P e f d g F D G S U V O M m
? ? b h i l q l B H I L Q L e f d g F D G S U # O ! m
b b b h i l q l h i l d d d e f d g F D G S U # O ! m
h h h h i l q l h i l d d d f f d g F D G S U # O ! m
i i i i i l q l i i l d d d d d d g D D G S U # O ! m
l l l l l l q l l l l d d d d d d g D D G S U # O ! m
q q q q q q q q q q q d d d d d d g D D G S U # O ! m
p l l l l l q l l l l d d d d d d g D D G S U # O ! m
B B h h i l q l B H I L Q L e f d g F D G S U # O ! m
H H i i i l q l H H I L Q L f f d g F D G S U # O ! m
I I l l l l q l I I I L Q L d d d g D D G S U # O ! m
L L d d d d d d L L L L Q L d d d g D D G S U # O ! m
Q Q d d d d d d Q Q Q Q Q Q d d d g D D G S U # O ! m
P L d d d d d d L L L L Q L d d d g D D G S U # O ! m
e e e f d d d d e f d d d d e f d g F D G S U # O ! m
f f f f d d d d f f d d d d f f d g F D G S U # O ! m
d d d d d d d d d d d d d d d d d g D D G S U # O ! m
g g g g g g g g g g g g g g g g g g G G G S U # O ! m
F F F F D D D D F F D D D D F F D G F D G S U # O ! #
D D D D D D D D D D D D D D D D D G D D G S U # O ! #
G G G G G G G G G G G G G G G G G G G G G S U # O ! #
S S S S S S S S S S S S S S S S S S S S S S U # O ! #
U U U U U U U U U U U U U U U U U U U U U U U # O ! #
V # # # # # # # # # # # # # # # # # # # # # # V O ! #
O O O O O O O O O O O O O O O O O O O O O O O O O ! O
M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
m m m m m m m m m m m m m m # # # # # # # # # # O ! m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment