123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418 |
- # -*- coding: utf-8 -*-
- """
- =========
- Constants
- =========
- .. currentmodule:: numpy
- NumPy includes several constants:
- %(constant_list)s
- """
- #
- # Note: the docstring is autogenerated.
- #
- from __future__ import division, absolute_import, print_function
- import textwrap, re
- # Maintain same format as in numpy.add_newdocs
- constants = []
- def add_newdoc(module, name, doc):
- constants.append((name, doc))
- add_newdoc('numpy', 'Inf',
- """
- IEEE 754 floating point representation of (positive) infinity.
- Use `inf` because `Inf`, `Infinity`, `PINF` and `infty` are aliases for
- `inf`. For more details, see `inf`.
- See Also
- --------
- inf
- """)
- add_newdoc('numpy', 'Infinity',
- """
- IEEE 754 floating point representation of (positive) infinity.
- Use `inf` because `Inf`, `Infinity`, `PINF` and `infty` are aliases for
- `inf`. For more details, see `inf`.
- See Also
- --------
- inf
- """)
- add_newdoc('numpy', 'NAN',
- """
- IEEE 754 floating point representation of Not a Number (NaN).
- `NaN` and `NAN` are equivalent definitions of `nan`. Please use
- `nan` instead of `NAN`.
- See Also
- --------
- nan
- """)
- add_newdoc('numpy', 'NINF',
- """
- IEEE 754 floating point representation of negative infinity.
- Returns
- -------
- y : float
- A floating point representation of negative infinity.
- See Also
- --------
- isinf : Shows which elements are positive or negative infinity
- isposinf : Shows which elements are positive infinity
- isneginf : Shows which elements are negative infinity
- isnan : Shows which elements are Not a Number
- isfinite : Shows which elements are finite (not one of Not a Number,
- positive infinity and negative infinity)
- Notes
- -----
- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic
- (IEEE 754). This means that Not a Number is not equivalent to infinity.
- Also that positive infinity is not equivalent to negative infinity. But
- infinity is equivalent to positive infinity.
- Examples
- --------
- >>> np.NINF
- -inf
- >>> np.log(0)
- -inf
- """)
- add_newdoc('numpy', 'NZERO',
- """
- IEEE 754 floating point representation of negative zero.
- Returns
- -------
- y : float
- A floating point representation of negative zero.
- See Also
- --------
- PZERO : Defines positive zero.
- isinf : Shows which elements are positive or negative infinity.
- isposinf : Shows which elements are positive infinity.
- isneginf : Shows which elements are negative infinity.
- isnan : Shows which elements are Not a Number.
- isfinite : Shows which elements are finite - not one of
- Not a Number, positive infinity and negative infinity.
- Notes
- -----
- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic
- (IEEE 754). Negative zero is considered to be a finite number.
- Examples
- --------
- >>> np.NZERO
- -0.0
- >>> np.PZERO
- 0.0
- >>> np.isfinite([np.NZERO])
- array([ True])
- >>> np.isnan([np.NZERO])
- array([False])
- >>> np.isinf([np.NZERO])
- array([False])
- """)
- add_newdoc('numpy', 'NaN',
- """
- IEEE 754 floating point representation of Not a Number (NaN).
- `NaN` and `NAN` are equivalent definitions of `nan`. Please use
- `nan` instead of `NaN`.
- See Also
- --------
- nan
- """)
- add_newdoc('numpy', 'PINF',
- """
- IEEE 754 floating point representation of (positive) infinity.
- Use `inf` because `Inf`, `Infinity`, `PINF` and `infty` are aliases for
- `inf`. For more details, see `inf`.
- See Also
- --------
- inf
- """)
- add_newdoc('numpy', 'PZERO',
- """
- IEEE 754 floating point representation of positive zero.
- Returns
- -------
- y : float
- A floating point representation of positive zero.
- See Also
- --------
- NZERO : Defines negative zero.
- isinf : Shows which elements are positive or negative infinity.
- isposinf : Shows which elements are positive infinity.
- isneginf : Shows which elements are negative infinity.
- isnan : Shows which elements are Not a Number.
- isfinite : Shows which elements are finite - not one of
- Not a Number, positive infinity and negative infinity.
- Notes
- -----
- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic
- (IEEE 754). Positive zero is considered to be a finite number.
- Examples
- --------
- >>> np.PZERO
- 0.0
- >>> np.NZERO
- -0.0
- >>> np.isfinite([np.PZERO])
- array([ True])
- >>> np.isnan([np.PZERO])
- array([False])
- >>> np.isinf([np.PZERO])
- array([False])
- """)
- add_newdoc('numpy', 'e',
- """
- Euler's constant, base of natural logarithms, Napier's constant.
- ``e = 2.71828182845904523536028747135266249775724709369995...``
- See Also
- --------
- exp : Exponential function
- log : Natural logarithm
- References
- ----------
- https://en.wikipedia.org/wiki/E_%28mathematical_constant%29
- """)
- add_newdoc('numpy', 'inf',
- """
- IEEE 754 floating point representation of (positive) infinity.
- Returns
- -------
- y : float
- A floating point representation of positive infinity.
- See Also
- --------
- isinf : Shows which elements are positive or negative infinity
- isposinf : Shows which elements are positive infinity
- isneginf : Shows which elements are negative infinity
- isnan : Shows which elements are Not a Number
- isfinite : Shows which elements are finite (not one of Not a Number,
- positive infinity and negative infinity)
- Notes
- -----
- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic
- (IEEE 754). This means that Not a Number is not equivalent to infinity.
- Also that positive infinity is not equivalent to negative infinity. But
- infinity is equivalent to positive infinity.
- `Inf`, `Infinity`, `PINF` and `infty` are aliases for `inf`.
- Examples
- --------
- >>> np.inf
- inf
- >>> np.array([1]) / 0.
- array([ Inf])
- """)
- add_newdoc('numpy', 'infty',
- """
- IEEE 754 floating point representation of (positive) infinity.
- Use `inf` because `Inf`, `Infinity`, `PINF` and `infty` are aliases for
- `inf`. For more details, see `inf`.
- See Also
- --------
- inf
- """)
- add_newdoc('numpy', 'nan',
- """
- IEEE 754 floating point representation of Not a Number (NaN).
- Returns
- -------
- y : A floating point representation of Not a Number.
- See Also
- --------
- isnan : Shows which elements are Not a Number.
- isfinite : Shows which elements are finite (not one of
- Not a Number, positive infinity and negative infinity)
- Notes
- -----
- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic
- (IEEE 754). This means that Not a Number is not equivalent to infinity.
- `NaN` and `NAN` are aliases of `nan`.
- Examples
- --------
- >>> np.nan
- nan
- >>> np.log(-1)
- nan
- >>> np.log([-1, 1, 2])
- array([ NaN, 0. , 0.69314718])
- """)
- add_newdoc('numpy', 'newaxis',
- """
- A convenient alias for None, useful for indexing arrays.
- See Also
- --------
- `numpy.doc.indexing`
- Examples
- --------
- >>> newaxis is None
- True
- >>> x = np.arange(3)
- >>> x
- array([0, 1, 2])
- >>> x[:, newaxis]
- array([[0],
- [1],
- [2]])
- >>> x[:, newaxis, newaxis]
- array([[[0]],
- [[1]],
- [[2]]])
- >>> x[:, newaxis] * x
- array([[0, 0, 0],
- [0, 1, 2],
- [0, 2, 4]])
- Outer product, same as ``outer(x, y)``:
- >>> y = np.arange(3, 6)
- >>> x[:, newaxis] * y
- array([[ 0, 0, 0],
- [ 3, 4, 5],
- [ 6, 8, 10]])
- ``x[newaxis, :]`` is equivalent to ``x[newaxis]`` and ``x[None]``:
- >>> x[newaxis, :].shape
- (1, 3)
- >>> x[newaxis].shape
- (1, 3)
- >>> x[None].shape
- (1, 3)
- >>> x[:, newaxis].shape
- (3, 1)
- """)
- add_newdoc('numpy', 'pi',
- """
- ``pi = 3.1415926535897932384626433...``
- References
- ----------
- https://en.wikipedia.org/wiki/Pi
- """)
- add_newdoc('numpy', 'euler_gamma',
- """
- ``γ = 0.5772156649015328606065120900824024310421...``
- References
- ----------
- https://en.wikipedia.org/wiki/Euler-Mascheroni_constant
- """)
- if __doc__:
- constants_str = []
- constants.sort()
- for name, doc in constants:
- s = textwrap.dedent(doc).replace("\n", "\n ")
- # Replace sections by rubrics
- lines = s.split("\n")
- new_lines = []
- for line in lines:
- m = re.match(r'^(\s+)[-=]+\s*$', line)
- if m and new_lines:
- prev = textwrap.dedent(new_lines.pop())
- new_lines.append('%s.. rubric:: %s' % (m.group(1), prev))
- new_lines.append('')
- else:
- new_lines.append(line)
- s = "\n".join(new_lines)
- # Done.
- constants_str.append(""".. data:: %s\n %s""" % (name, s))
- constants_str = "\n".join(constants_str)
- __doc__ = __doc__ % dict(constant_list=constants_str)
- del constants_str, name, doc
- del line, lines, new_lines, m, s, prev
- del constants, add_newdoc
|