Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement docs for ufunc. Update docs for logic element-wise functions. #1967

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@

from sphinx.ext.autodoc import FunctionDocumenter

from dpnp.dpnp_algo.dpnp_elementwise_common import DPNPBinaryFunc, DPNPUnaryFunc
from dpnp.dpnp_algo.dpnp_elementwise_common import (
DPNPBinaryFunc,
DPNPUnaryFunc,
binary_ufunc,
ufunc,
unary_ufunc,
)

try:
import comparison_generator
Expand Down Expand Up @@ -202,7 +208,10 @@

# -- Options for todo extension ----------------------------------------------
def _can_document_member(member, *args, **kwargs):
if isinstance(member, (DPNPBinaryFunc, DPNPUnaryFunc)):
if isinstance(
member,
(DPNPBinaryFunc, DPNPUnaryFunc, ufunc, unary_ufunc, binary_ufunc),
):
return True
return orig(member, *args, **kwargs)

Expand Down
44 changes: 43 additions & 1 deletion doc/reference/ufunc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,49 @@ Universal Functions (ufunc)

.. https://docs.scipy.org/doc/numpy/reference/ufuncs.html

DPNP provides universal functions (a.k.a. ufuncs) to support various element-wise operations.
A universal function (or ufunc for short) is a function that operates on ndarrays in an element-by-element fashion, \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need \ here? Is it helps somehow to format the output? (and in what way?)
I don't see that we used it previously somewhere and so wonder why do we need it here.

supporting array broadcasting, type casting, and several other standard features. That is, a ufunc is a “vectorized” \
wrapper for a function that takes a fixed number of specific inputs and produces a fixed number of specific outputs. \
For full documentation refer to :obj:`numpy.ufunc`.

ufuncs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we put here a link to :class:ufunc like in numpy with more detailed description of the attributes?

------
.. autosummary::
:toctree: generated/

dpnp.ufunc

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if about Optional keyword arguments section present in numpy? Should we add it also?

Attributes
~~~~~~~~~~

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to specify index directive? (applicable to different place on the page)

.. index::
   pair: ufunc; attributes

There are some informational attributes that universal functions
possess. None of the attributes can be set.

============ =================================================================
**__doc__** A docstring for each ufunc. The first part of the docstring is
dynamically generated from the number of outputs, the name, and
the number of inputs. The second part of the docstring is
provided at creation time and stored with the ufunc.

**__name__** The name of the ufunc.
============ =================================================================

.. autosummary::
:toctree: generated/
:nosignatures:

dpnp.ufunc.nin
dpnp.ufunc.nout
dpnp.ufunc.nargs
dpnp.ufunc.types
dpnp.ufunc.ntypes

Methods
~~~~~~~
.. autosummary::
:toctree: generated/

dpnp.ufunc.outer

Available ufuncs
----------------
Expand Down
Loading
Loading