HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/numpy/lib/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/numpy/lib/__pycache__/_version.cpython-36.pyc
3

���h��@s$dZddlZdgZGdd�d�ZdS)aUtility to compare (NumPy) version strings.

The NumpyVersion class allows properly comparing numpy version strings.
The LooseVersion and StrictVersion classes that distutils provides don't
work; they don't recognize anything like alpha/beta/rc/dev versions.

�N�NumpyVersionc@sheZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)raParse and compare numpy version strings.

    NumPy has the following versioning scheme (numbers given are examples; they
    can be > 9) in principle):

    - Released version: '1.8.0', '1.8.1', etc.
    - Alpha: '1.8.0a1', '1.8.0a2', etc.
    - Beta: '1.8.0b1', '1.8.0b2', etc.
    - Release candidates: '1.8.0rc1', '1.8.0rc2', etc.
    - Development versions: '1.8.0.dev-f1234afa' (git commit hash appended)
    - Development versions after a1: '1.8.0a1.dev-f1234afa',
                                     '1.8.0b2.dev-f1234afa',
                                     '1.8.1rc1.dev-f1234afa', etc.
    - Development versions (no git hash available): '1.8.0.dev-Unknown'

    Comparing needs to be done against a valid version string or other
    `NumpyVersion` instance. Note that all development versions of the same
    (pre-)release compare equal.

    .. versionadded:: 1.9.0

    Parameters
    ----------
    vstring : str
        NumPy version string (``np.__version__``).

    Examples
    --------
    >>> from numpy.lib import NumpyVersion
    >>> if NumpyVersion(np.__version__) < '1.7.0':
    ...     print('skip')
    >>> # skip

    >>> NumpyVersion('1.7')  # raises ValueError, add ".0"
    Traceback (most recent call last):
        ...
    ValueError: Not a valid numpy version string

    cCs�||_tjd|�}|std��|j�|_dd�|jjd�D�\|_|_|_	t
|�|j�krbd|_nvtjd||j�d��}tjd||j�d��}tjd	||j�d��}d
d�|||gD�}|r�|dj�|_nd|_t
tjd
|��|_dS)Nz\d[.]\d+[.]\d+z Not a valid numpy version stringcSsg|]}t|��qS�)�int)�.0�xrr�3/tmp/pip-build-5_djhm0z/numpy/numpy/lib/_version.py�
<listcomp>>sz)NumpyVersion.__init__.<locals>.<listcomp>�.�finalza\dzb\dzrc\dcSsg|]}|dk	r|�qS)Nr)r�mrrrrFsr�z.dev)�vstring�re�match�
ValueError�group�version�split�major�minor�bugfix�len�end�pre_release�bool�search�
is_devversion)�selfr
Zver_main�alpha�beta�rcZpre_relrrr�__init__7s"
zNumpyVersion.__init__cCst|j|jkrZ|j|jkrB|j|jkr*d}qX|j|jkr<d}qXd}qp|j|jkrTd}qpd}n|j|jkrld}nd}|S)zCompare major.minor.bugfixr����r#r#)rrr)r�other�vercmprrr�_compare_versionNszNumpyVersion._compare_versioncCsL|j|jkrd}n6|jdkr"d}n&|jdkr2d}n|j|jkrDd}nd}|S)zCompare alpha/beta/rc/final.rr
r"r#r#)r)rr$r%rrr�_compare_pre_releasecs

z!NumpyVersion._compare_pre_releasecCsrt|ttf�std��t|t�r(t|�}|j|�}|dkrn|j|�}|dkrn|j|jkr^d}n|jrjd}nd}|S)Nz,Invalid object to compare with NumpyVersion.rr"r#)�
isinstance�strrrr&r'r)rr$r%rrr�_comparers


zNumpyVersion._comparecCs|j|�dkS)Nr)r*)rr$rrr�__lt__�szNumpyVersion.__lt__cCs|j|�dkS)Nr)r*)rr$rrr�__le__�szNumpyVersion.__le__cCs|j|�dkS)Nr)r*)rr$rrr�__eq__�szNumpyVersion.__eq__cCs|j|�dkS)Nr)r*)rr$rrr�__ne__�szNumpyVersion.__ne__cCs|j|�dkS)Nr)r*)rr$rrr�__gt__�szNumpyVersion.__gt__cCs|j|�dkS)Nr)r*)rr$rrr�__ge__�szNumpyVersion.__ge__cCs
d|jS)NzNumpyVersion(%s))r
)rrrrZ__repr�szNumpyVersion.__reprN)�__name__�
__module__�__qualname__�__doc__r!r&r'r*r+r,r-r.r/r0Z_NumpyVersion__reprrrrrrs')r4r�__all__rrrrr�<module>s