jax.numpy.can_cast#

jax.numpy.can_cast(from_, to, casting='safe')#

如果数据类型之间可以根据转换规则进行转换,则返回 True。

参数:
  • from (dtypedtype 指定符NumPy 标量数组) – 要转换的数据类型、NumPy 标量或数组。

  • to (dtypedtype 指定符) – 要转换成的数据类型。

  • casting ({'no', 'equiv', 'safe', 'same_kind', 'unsafe'}, 可选的) –

    控制可能发生的数据类型转换。

    • “no”表示数据类型根本不应转换。

    • “equiv”表示只允许字节顺序更改。

    • “safe”表示只允许保留值的转换。

    • “same_kind”表示只允许安全转换或同类转换,例如从 float64 到 float32 的转换。

    • “unsafe”表示可以进行任何数据转换。

返回:

out – 如果可以根据转换规则进行转换,则为 True。

返回类型:

bool

注意事项

版本 2.0 变更:此函数不再支持 Python 标量,并且不适用于 0 维数组和 NumPy 标量的任何基于值的逻辑。

另请参阅

dtype, result_type

示例

基本示例

>>> import numpy as np
>>> np.can_cast(np.int32, np.int64)
True
>>> np.can_cast(np.float64, complex)
True
>>> np.can_cast(complex, float)
False
>>> np.can_cast('i8', 'f8')
True
>>> np.can_cast('i8', 'f4')
False
>>> np.can_cast('i4', 'S4')
False