
    Kh                         S r / SQrS\" 5       ;   a  \" S5      eSr " S S\5      r " S S\5      r " S	 S
\	5      r
 " S S\5      r " S S\5      r " S S\\5      r " S S\5      rg)a  
Exceptions and Warnings (:mod:`numpy.exceptions`)
=================================================

General exceptions used by NumPy.  Note that some exceptions may be module
specific, such as linear algebra errors.

.. versionadded:: NumPy 1.25

    The exceptions module is new in NumPy 1.25.  Older exceptions remain
    available through the main NumPy namespace for compatibility.

.. currentmodule:: numpy.exceptions

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

   ComplexWarning             Given when converting complex to real.
   VisibleDeprecationWarning  Same as a DeprecationWarning, but more visible.
   RankWarning                Issued when the design matrix is rank deficient.

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

    AxisError          Given when an axis was invalid.
    DTypePromotionError   Given when no common dtype could be found.
    TooHardError       Error specific to `numpy.shares_memory`.

)ComplexWarningVisibleDeprecationWarningModuleDeprecationWarningTooHardError	AxisErrorDTypePromotionError
_is_loadedz'Reloading numpy._globals is not allowedTc                       \ rS rSrSrSrg)r   0   z
The warning raised when casting a complex dtype to a real dtype.

As implemented, casting a complex number to a real discards its imaginary
part, but this behavior may not be what the user actually wants.

 N__name__
__module____qualname____firstlineno____doc____static_attributes__r       B/var/www/html/env/lib/python3.13/site-packages/numpy/exceptions.pyr   r   0        	r   r   c                       \ rS rSrSrSrg)r   ;   a  Module deprecation warning.

.. warning::

    This warning should not be used, since nose testing is not relevant
    anymore.

The nose tester turns ordinary Deprecation warnings into test failures.
That makes it hard to deprecate whole modules, because they get
imported by default. So this is a special Deprecation warning that the
nose tester will let pass without making tests fail.

r   Nr   r   r   r   r   r   ;   s     	r   r   c                       \ rS rSrSrSrg)r   L   zVisible deprecation warning.

By default, python will not show deprecation warnings, so this class
can be used when a very visible warning is helpful, for example because
the usage is most likely a user bug.

r   Nr   r   r   r   r   r   L   r   r   r   c                       \ rS rSrSrSrg)RankWarningW   z`Matrix rank warning.

Issued by polynomial functions when the design matrix is rank deficient.

r   Nr   r   r   r   r   r   W   s    
 	r   r   c                       \ rS rSrSrSrg)r   a   zmax_work was exceeded.

This is raised whenever the maximum number of candidate solutions
to consider specified by the ``max_work`` parameter is exceeded.
Assigning a finite number to max_work may have caused the operation
to fail.

r   Nr   r   r   r   r   r   a   s     	r   r   c                   ,    \ rS rSrSrSrSS jrS rSrg)	r   m   aY  Axis supplied was invalid.

This is raised whenever an ``axis`` parameter is specified that is larger
than the number of array dimensions.
For compatibility with code written against older numpy versions, which
raised a mixture of :exc:`ValueError` and :exc:`IndexError` for this
situation, this exception subclasses both to ensure that
``except ValueError`` and ``except IndexError`` statements continue
to catch ``AxisError``.

Parameters
----------
axis : int or str
    The out of bounds axis or a custom exception message.
    If an axis is provided, then `ndim` should be specified as well.
ndim : int, optional
    The number of array dimensions.
msg_prefix : str, optional
    A prefix for the exception message.

Attributes
----------
axis : int, optional
    The out of bounds axis or ``None`` if a custom exception
    message was provided. This should be the axis as passed by
    the user, before any normalization to resolve negative indices.

    .. versionadded:: 1.22
ndim : int, optional
    The number of array dimensions or ``None`` if a custom exception
    message was provided.

    .. versionadded:: 1.22


Examples
--------
>>> import numpy as np
>>> array_1d = np.arange(10)
>>> np.cumsum(array_1d, axis=1)
Traceback (most recent call last):
  ...
numpy.exceptions.AxisError: axis 1 is out of bounds for array of dimension 1

Negative axes are preserved:

>>> np.cumsum(array_1d, axis=-2)
Traceback (most recent call last):
  ...
numpy.exceptions.AxisError: axis -2 is out of bounds for array of dimension 1

The class constructor generally takes the axis and arrays'
dimensionality as arguments:

>>> print(np.exceptions.AxisError(2, 1, msg_prefix='error'))
error: axis 2 is out of bounds for array of dimension 1

Alternatively, a custom exception message can be passed:

>>> print(np.exceptions.AxisError('Custom error message'))
Custom error message

axisndim_msgNc                 h    X#s=L a  c  O  OXl         S U l        S U l        g X0l         Xl        X l        g )Nr$   r"   r#   )selfr"   r#   
msg_prefixs       r   __init__AxisError.__init__   s-    %%IDIDI"IIIr   c                     U R                   nU R                  nXs=L a  c   U R                  $   SU SU 3nU R                  b  U R                   SU 3nU$ )Nzaxis z) is out of bounds for array of dimension z: r!   )r'   r"   r#   msgs       r   __str__AxisError.__str__   sa    yyyy99   $HOCyy$2cU+Jr   r&   )NN)	r   r   r   r   r   	__slots__r)   r-   r   r   r   r   r   r   m   s    >@ )I	
r   r   c                       \ rS rSrSrSrg)r      a5  Multiple DTypes could not be converted to a common one.

This exception derives from ``TypeError`` and is raised whenever dtypes
cannot be converted to a single common one.  This can be because they
are of a different category/class or incompatible instances of the same
one (see Examples).

Notes
-----
Many functions will use promotion to find the correct result and
implementation.  For these functions the error will typically be chained
with a more specific error indicating that no implementation was found
for the input dtypes.

Typically promotion should be considered "invalid" between the dtypes of
two arrays when `arr1 == arr2` can safely return all ``False`` because the
dtypes are fundamentally different.

Examples
--------
Datetimes and complex numbers are incompatible classes and cannot be
promoted:

>>> import numpy as np
>>> np.result_type(np.dtype("M8[s]"), np.complex128)  # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
 ...
DTypePromotionError: The DType <class 'numpy.dtype[datetime64]'> could not
be promoted by <class 'numpy.dtype[complex128]'>. This means that no common
DType exists for the given inputs. For example they cannot be stored in a
single array unless the dtype is `object`. The full list of DTypes is:
(<class 'numpy.dtype[datetime64]'>, <class 'numpy.dtype[complex128]'>)

For example for structured dtypes, the structure can mismatch and the
same ``DTypePromotionError`` is given when two structured dtypes with
a mismatch in their number of fields is given:

>>> dtype1 = np.dtype([("field1", np.float64), ("field2", np.int64)])
>>> dtype2 = np.dtype([("field1", np.float64)])
>>> np.promote_types(dtype1, dtype2)  # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
 ...
DTypePromotionError: field names `('field1', 'field2')` and `('field1',)`
mismatch.

r   Nr   r   r   r   r   r      s    -\ 	r   r   N)r   __all__globalsRuntimeErrorr   RuntimeWarningr   DeprecationWarningr   UserWarningr   r   r   
ValueError
IndexErrorr   	TypeErrorr   r   r   r   <module>r;      s    F8 79
@
AA
	^ 		1 	"	 		. 			< 		X
J Xv/	) /	r   