From e0e1a420cc64a4c6d32f8cc77606547b1161da08 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni <kaushikcfd@gmail.com> Date: Sun, 15 Aug 2021 18:07:10 -0500 Subject: [PATCH] Define ArrayContext.permits_advanced_indexing --- arraycontext/context.py | 8 ++++++++ arraycontext/impl/pyopencl/__init__.py | 4 ++++ arraycontext/impl/pytato/__init__.py | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/arraycontext/context.py b/arraycontext/context.py index 31ceb40..379c8e9 100644 --- a/arraycontext/context.py +++ b/arraycontext/context.py @@ -361,6 +361,14 @@ class ArrayContext(ABC): def supports_nonscalar_broadcasting(self): pass + @abstractproperty + def permits_advanced_indexing(self): + """ + *True* only if the arrays support :mod:`numpy`'s advanced indexing + semantics. + """ + pass + # }}} # vim: foldmethod=marker diff --git a/arraycontext/impl/pyopencl/__init__.py b/arraycontext/impl/pyopencl/__init__.py index cd9c02a..18836ef 100644 --- a/arraycontext/impl/pyopencl/__init__.py +++ b/arraycontext/impl/pyopencl/__init__.py @@ -282,6 +282,10 @@ class PyOpenCLArrayContext(ArrayContext): def supports_nonscalar_broadcasting(self): return False + @property + def permits_advanced_indexing(self): + return False + # }}} # vim: foldmethod=marker diff --git a/arraycontext/impl/pytato/__init__.py b/arraycontext/impl/pytato/__init__.py index 0f5ad12..9631430 100644 --- a/arraycontext/impl/pytato/__init__.py +++ b/arraycontext/impl/pytato/__init__.py @@ -231,3 +231,7 @@ class PytatoPyOpenCLArrayContext(ArrayContext): @property def supports_nonscalar_broadcasting(self): return True + + @property + def permits_advanced_indexing(self): + return True -- GitLab