Skip to content
Snippets Groups Projects
Commit 41a208bc authored by Matthias Diener's avatar Matthias Diener
Browse files

implemented ravel()

parent 315fd5c8
No related branches found
No related tags found
No related merge requests found
...@@ -148,6 +148,28 @@ class _PytatoFakeNumpyNamespace(BaseFakeNumpyNamespace): ...@@ -148,6 +148,28 @@ class _PytatoFakeNumpyNamespace(BaseFakeNumpyNamespace):
import pytato as pt import pytato as pt
return rec_multimap_array_container(pt.arctan2, y, x) return rec_multimap_array_container(pt.arctan2, y, x)
def ravel(self, a, order="C"):
def _rec_ravel(a):
import pytato as pt
if order in "FC":
return pt.reshape(a, (-1,), order=order)
elif order == "A":
if a.flags.f_contiguous:
return pt.reshape(a, (-1,), order="F")
elif a.flags.c_contiguous:
return pt.reshape(a, (-1,), order="C")
else:
raise ValueError("For `order='A'`, array should be either"
" F-contiguous or C-contiguous.")
elif order == "K":
raise NotImplementedError("PytatoArrayContext.np.ravel not "
"implemented for 'order=K'")
else:
raise ValueError("`order` can be one of 'F', 'C', 'A' or 'K'. "
f"(got {order})")
return rec_map_array_container(_rec_ravel, a)
# }}} # }}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment