Skip to content

Commit d0d26b4

Browse files
npolina4antonwolfy
andauthored
Fix dpnp.flatten (#1825)
* Fix dpnp.flatten * Fix docs * Update dpnp/dpnp_array.py Co-authored-by: Anton <[email protected]> * Update dpnp/dpnp_array.py Co-authored-by: Anton <[email protected]> * Update dpnp/dpnp_array.py Co-authored-by: Anton <[email protected]> --------- Co-authored-by: Anton <[email protected]>
1 parent 86c8640 commit d0d26b4

File tree

1 file changed

+27
-23
lines changed

1 file changed

+27
-23
lines changed

dpnp/dpnp_array.py

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -839,41 +839,45 @@ def flatten(self, order="C"):
839839
"""
840840
Return a copy of the array collapsed into one dimension.
841841
842+
For full documentation refer to :obj:`numpy.ndarray.flatten`.
843+
842844
Parameters
843845
----------
844-
order: {'C', 'F', 'A', 'K'}, optional
845-
'C' means to flatten in row-major (C-style) order.
846-
'F' means to flatten in column-major (Fortran- style) order.
847-
'A' means to flatten in column-major order if a is Fortran contiguous in memory, row-major order otherwise.
848-
'K' means to flatten a in the order the elements occur in memory. The default is 'C'.
846+
order : {"C", "F"}, optional
847+
Read the elements using this index order, and place the elements
848+
into the reshaped array using this index order.
849+
850+
- "C" means to read / write the elements using C-like index
851+
order, with the last axis index changing fastest, back to the
852+
first axis index changing slowest.
853+
- "F" means to read / write the elements using Fortran-like
854+
index order, with the first index changing fastest, and the
855+
last index changing slowest.
856+
857+
The default is ``"C"``.
849858
850859
Returns
851860
-------
852-
out: ndarray
861+
out: dpnp.ndarray
853862
A copy of the input array, flattened to one dimension.
854863
855864
See Also
856865
--------
857-
:obj:`dpnp.ravel`, :obj:`dpnp.flat`
866+
:obj:`dpnp.ravel` : Return a flattened array.
867+
:obj:`dpnp.flat` : A 1-D flat iterator over the array.
858868
859-
"""
860-
new_arr = self.__new__(dpnp_array)
861-
new_arr._array_obj = dpt.empty(
862-
self.shape,
863-
dtype=self.dtype,
864-
order=order,
865-
device=self._array_obj.sycl_device,
866-
usm_type=self._array_obj.usm_type,
867-
sycl_queue=self._array_obj.sycl_queue,
868-
)
869+
Examples
870+
--------
871+
>>> import dpnp as np
872+
>>> a = np.array([[1, 2], [3, 4]])
873+
>>> a.flatten()
874+
array([1, 2, 3, 4])
875+
>>> a.flatten("F")
876+
array([1, 3, 2, 4])
869877
870-
if self.size > 0:
871-
dpt._copy_utils._copy_from_usm_ndarray_to_usm_ndarray(
872-
new_arr._array_obj, self._array_obj
873-
)
874-
new_arr._array_obj = dpt.reshape(new_arr._array_obj, (self.size,))
878+
"""
875879

876-
return new_arr
880+
return self.reshape(-1, order=order, copy=True)
877881

878882
# 'getfield',
879883

0 commit comments

Comments
 (0)