()
| 80 | |
| 81 | |
| 82 | def _get_cancast_table(): |
| 83 | table = textwrap.dedent(""" |
| 84 | X ? b h i l q B H I L Q e f d g F D G S U V O M m |
| 85 | ? # = = = = = = = = = = = = = = = = = = = = = . = |
| 86 | b . # = = = = . . . . . = = = = = = = = = = = . = |
| 87 | h . ~ # = = = . . . . . ~ = = = = = = = = = = . = |
| 88 | i . ~ ~ # = = . . . . . ~ ~ = = ~ = = = = = = . = |
| 89 | l . ~ ~ ~ # # . . . . . ~ ~ = = ~ = = = = = = . = |
| 90 | q . ~ ~ ~ # # . . . . . ~ ~ = = ~ = = = = = = . = |
| 91 | B . ~ = = = = # = = = = = = = = = = = = = = = . = |
| 92 | H . ~ ~ = = = ~ # = = = ~ = = = = = = = = = = . = |
| 93 | I . ~ ~ ~ = = ~ ~ # = = ~ ~ = = ~ = = = = = = . = |
| 94 | L . ~ ~ ~ ~ ~ ~ ~ ~ # # ~ ~ = = ~ = = = = = = . ~ |
| 95 | Q . ~ ~ ~ ~ ~ ~ ~ ~ # # ~ ~ = = ~ = = = = = = . ~ |
| 96 | e . . . . . . . . . . . # = = = = = = = = = = . . |
| 97 | f . . . . . . . . . . . ~ # = = = = = = = = = . . |
| 98 | d . . . . . . . . . . . ~ ~ # = ~ = = = = = = . . |
| 99 | g . . . . . . . . . . . ~ ~ ~ # ~ ~ = = = = = . . |
| 100 | F . . . . . . . . . . . . . . . # = = = = = = . . |
| 101 | D . . . . . . . . . . . . . . . ~ # = = = = = . . |
| 102 | G . . . . . . . . . . . . . . . ~ ~ # = = = = . . |
| 103 | S . . . . . . . . . . . . . . . . . . # = = = . . |
| 104 | U . . . . . . . . . . . . . . . . . . . # = = . . |
| 105 | V . . . . . . . . . . . . . . . . . . . . # = . . |
| 106 | O . . . . . . . . . . . . . . . . . . . . = # . . |
| 107 | M . . . . . . . . . . . . . . . . . . . . = = # . |
| 108 | m . . . . . . . . . . . . . . . . . . . . = = . # |
| 109 | """).strip().split("\n") |
| 110 | dtypes = [type(np.dtype(c)) for c in table[0][2::2]] |
| 111 | |
| 112 | convert_cast = {".": Casting.unsafe, "~": Casting.same_kind, |
| 113 | "=": Casting.safe, "#": Casting.equiv, |
| 114 | " ": -1} |
| 115 | |
| 116 | cancast = {} |
| 117 | for from_dt, row in zip(dtypes, table[1:]): |
| 118 | cancast[from_dt] = {} |
| 119 | for to_dt, c in zip(dtypes, row[2::2]): |
| 120 | cancast[from_dt][to_dt] = convert_cast[c] |
| 121 | |
| 122 | return cancast |
| 123 | |
| 124 | CAST_TABLE = _get_cancast_table() |
| 125 |
no test coverage detected