3
���h�J � @ sj d Z ddgZddlZddlmZ ddlmZ ddlmZ dd lm Z
dd
lmZmZ ddl
mZmZ ddlm
Z
d
d� Zdd� ZG dd� d�Ze
je
je
je
je
je
jiZdZe
jee
jdejd�d�e
jee
jdejd�d�e
j ee
j!dejd�d�e
j"ee
j#dejd�d�iZ$i Z%dd� Z&i Z'dd � Z(d!d"� Z)d#d$� Z*ed%�G d&d� d��Z+ed%�G d'd� d��Z,dS )(zJMachine limits for Float32 and Float64 and (long double) if available...
�finfo�iinfo� N� )�MachAr)�
set_module)�numeric)�numerictypes)�array�inf)�log10�exp2)�umathc C s | j dkr| j� } d| _| S )zfix rank-0 --> rank-1r r )r )�ndim�copy�shape)�a� r �5/tmp/pip-build-5_djhm0z/numpy/numpy/core/getlimits.py�_fr0 s
r c C s | j dkr| j� } f | _| S )zfix rank > 0 --> rank-0r )�sizer r )r r r r �_fr1 s
r c @ s e Zd ZdZdd� ZdS )�
MachArLikez$ Object to simulate MachAr instance c
s� t � ��fdd�� � fdd�}��fdd�} �d | _||� | _| _||�| _||� | _| _||� | _| _�d |�| _ | j
j|� tt
| j� �| _|� d�| j �| _| | j�| _| | j�| _| | j�| _| | j�| _| | j�| _d S )Nc s t | g� �S )N)r )�v)�ftyper r �<lambda>' |