
    h                     r   S SK rS\S\4S jr\R                  " \5      rS\R                  S\R                  4S jrS\R                  S\R                  4S jrS\R                  S\R                  4S jr	S	\S\4S
 jr
S\S\4S jr\R                  " \5      rS	\R                  S\R                  4S jrg)    Nvalreturnc                 ~    SS[         R                  " [         R                  " U 5      * 5      -   -  nU S:  a  SU-
  $ U$ )N      ?r   )npexpabs)r   vs     h/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/aionnxml/_common_classifier.pycompute_logisticr      s9    sRVVRVVC[L))*AaC!G&Q&    valuesc                 @   U R                  5       n[        R                  " U* 5      nSn[        [	        U 5      5       HA  nX   nUS:  d  US:  a  [        R                  " XQ-
  5      X'   OX==   U-  ss'   X0U   -  nMC     US:X  a  SU SS& U $ U SS=== U-  sss& U $ )z*
The function modifies the input inplace.
r   gHz>gHz      ?N)maxr   r   rangelen)r   v_maxexp_neg_v_maxsir
   s         r   compute_softmax_zeror      s     JJLEFFE6NM	A3v;Iy=A
Nqy)FII&I	AY   	Avq	 M 	q	Q	Mr   c                 z    [        U R                  5      S:X  a  [        U 5        U $ U  H  n[        U5        M     U $ )Modifications in place.   )r   shaper   )r   rows     r   softmax_zeror   #   s7    
6<<AV$S! Mr   c                 2   [        U R                  5      S:X  a>  U R                  SSS9nX-  n [        R                  " X S9  U R                  SSS9nX-  n U $ U R                  5       n[        R                  " X-
  5      U SS& U R                  5       nX-  n U $ )r      r   )axiskeepdims)outN)r   r   r   r   r   sum)r   r   r   this_sums       r   softmaxr&   -   s    
6<<A

A
.
v"JJAJ*JJLEv~&F1Izz|H
FMr   xc                    U S:  a  SOSnSU -
  SU -   -  n U S:X  a  g[         R                  " U 5      nS[         R                  S-  -  SU-  -   nSU-  nU* [         R                  " X3-  U-
  5      -   nU[         R                  " U5      -  n U $ )	Nr   g      r   r   g       @g7A`?r   gΎZ5@)r   logpisqrt)r'   sgnr)   r
   v2v3s         r   erf_invr/   =   s    a%$SC	qQUAAv
&&)Cruuu}c	)A	s	B
bggaebj!	!BbggbkAHr   c                 *    S[        U S-  S-
  5      -  $ )Ng'e?r    r   )r/   )r   s    r   compute_probitr1   J   s    a!,,,r   c                 n    SS[         R                  " U * 5      -   -  R                  U R                  5      $ )Nr   )r   r   astypedtype)r'   s    r   expitr5   Q   s+    3#$,,QWW55r   )numpyr   floatr   	vectorizelogisticndarrayr   r   r&   r/   r1   probitr5    r   r   <module>r=      s    '% 'E '
 <<() 

 * 

 BJJ 2::  
u 
 
- -% - 
n	%6RZZ 6BJJ 6r   