jax.numpy.modf(x, out=None)[source]

Return the fractional and integral parts of an array, element-wise.

LAX-backend implementation of modf(). Original docstring below.

modf(x[, out1, out2], / [, out=(None, None)], *, where=True, casting=’same_kind’, order=’K’, dtype=None, subok=True[, signature, extobj])

The fractional and integral parts are negative if the given number is negative.

  • x (array_like) – Input array.

  • out (ndarray, None, or tuple of ndarray and None, optional) – A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.


  • y1 (ndarray) – Fractional part of x. This is a scalar if x is a scalar.

  • y2 (ndarray) – Integral part of x. This is a scalar if x is a scalar.


For integer input the return values are floats.

See also


divmod(x, 1) is equivalent to modf with the return values switched, except it always has a positive remainder.


>>> np.modf([0, 3.5])
(array([ 0. ,  0.5]), array([ 0.,  3.]))
>>> np.modf(-0.5)
(-0.5, -0)