o
    toi                     @  sr   d dl mZ d dlZdddZeeZdd
dZdddZdddZ	dddZ
dddZeeZdddZdS )    )annotationsNvalfloatreturnc                 C  s.   ddt t |    }| dk rd| S |S )N      ?r   )npexpabs)r   v r   b/home/ubuntu/.local/lib/python3.10/site-packages/onnx/reference/ops/aionnxml/_common_classifier.pycompute_logistic   s   r   values
np.ndarrayc                 C  s   |   }t| }d}t| D ]$\}}|dks|dk r&t|| | |< n| |  |9  < || | 7 }q|dkrAd| dd< | S | dd  |  < | S )z(The function modifies the input inplace.r   gHz>gHz      ?N)maxr   r   	enumerate)r   v_maxexp_neg_v_maxsir
   r   r   r   compute_softmax_zero   s   r   c                 C  s0   t | jdkrt|  | S | D ]}t| q| S )Modifications in place.   )lenshaper   )r   rowr   r   r   softmax_zero!   s   
r   c                 C  s~   t | jdkr&| jddd}| |8 } tj| | d | jddd}| | } | S |  }t| | | dd< |  }| | } | S )r      r   )axiskeepdims)outN)r   r   r   r   r   sum)r   r   r   this_sumr   r   r   softmax+   s   r$   xc                 C  sz   | dk rdnd}d|  d|   } | dkrdS t | }dt jd  d|  }d| }| t || |  }|t | S )	Nr   g      r   r   g       @g7A`?r   gΎZ5@)r   logpisqrt)r%   sgnr&   r
   v2v3r   r   r   erf_inv;   s   
r,   c                 C  s   dt | d d  S )Ng'e?r   r   )r,   )r   r   r   r   compute_probitG   s   r-   c                 C  s   ddt |    | jS )Nr   )r   r   astypedtype)r%   r   r   r   expitN   s   r0   )r   r   r   r   )r   r   r   r   )r%   r   r   r   )r%   r   r   r   )
__future__r   numpyr   r   	vectorizelogisticr   r   r$   r,   r-   probitr0   r   r   r   r   <module>   s   








