dpnp.copysign
- dpnp.copysign(x1, x2, out=None, where=True, order='K', dtype=None, subok=True, **kwargs)
Composes a floating-point value with the magnitude of x1_i and the sign of x2_i for each element of input arrays x1 and x2.
For full documentation refer to
numpy.copysign
.- Parameters:
x1 ({dpnp.ndarray, usm_ndarray, scalar}) -- First input array, expected to have a real floating-point data type. Both inputs x1 and x2 can not be scalars at the same time.
x2 ({dpnp.ndarray, usm_ndarray, scalar}) -- Second input array, also expected to have a real floating-point data type. Both inputs x1 and x2 can not be scalars at the same time. If
x1.shape != x2.shape
, they must be broadcastable to a common shape (which becomes the shape of the output).out ({None, dpnp.ndarray, usm_ndarray}, optional) -- Output array to populate. Array must have the correct shape and the expected data type. Default:
None
.order ({"C", "F", "A", "K"}, optional) -- Memory layout of the newly output array, if parameter out is
None
. Default:"K"
.
- Returns:
out -- An array containing the element-wise results. The data type of the returned array is determined by the Type Promotion Rules.
- Return type:
dpnp.ndarray
Limitations
Parameters where and subok are supported with their default values. Keyword argument kwargs is currently unsupported. Otherwise
NotImplementedError
exception will be raised.See also
dpnp.negative
Return the numerical negative of each element of x.
dpnp.positive
Return the numerical positive of each element of x.
Examples
>>> import dpnp as np >>> np.copysign(np.array(1.3), np.array(-1)) array(-1.3) >>> 1 / np.copysign(np.array(0), 1) array(inf) >>> 1 / np.copysign(np.array(0), -1) array(-inf)
>>> x = np.array([-1, 0, 1]) >>> np.copysign(x, -1.1) array([-1., -0., -1.]) >>> np.copysign(x, np.arange(3) - 1) array([-1., 0., 1.])