
    M/Phd                        d dl Z d dlZd dlmZ d dlmZ d dlmZ ddl	m
Z ej        dej        fej        dej        fej        d	ej        fgZej        d
fej        dfej        d
fej        d
fgZdej        ej        gZe j                            de          e j                            de          d                         Ze j                            de          d             ZdS )    N)assert_allclose)norms)_approx_fprime_scalar   )results_norms)g      ?g      @g       @)   )gQ? )gffffff?intdtypecasec                    | \  }}}|t           j        fv r|t          j        k    rd S  || t          j        g d|          }                    |          }                    |          }                    |          }                    |          }	t          ||j        dd           t          ||j        dd           t          ||j        dd           t          |	|j        dd           t          j
        |d          }
|j        |
k    sJ |j        |
k    sJ |j        |
k    sJ |	j        |
k    sJ t          |j                  }t          ||j        dd           t          |j                  }t          ||j        dd           g d	}|D ]/fd
|D             }t          |t          |                     0d S )N	iir   r         	   r   -q=g#B;rtolatolfloatư>:0yE>)weightsrhopsi	psi_derivc                 B    g | ]} t                    |          S r	   )getattr).0ximethnorms     c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/robust/tests/test_norms.py
<listcomp>ztest_norm.<locals>.<listcomp>E   s.    444B#d##B''444    )r   HuberTnp
complex128arrayr   r   r   r   r   promote_typesr   r   r!   )r   r   nclsargsresxr   r   r   r   dtype2psidpsiddmethodsresmr$   r%   s                  @@r&   	test_normr7      s
    OD$~%2="8"84;D
000>>>All1ooG
((1++C
((1++Cq!!IGS[u5AAAACu59999Cu59999Is}5uEEEEeW--F=F""""99?f$$$$ DH--DD#'48888!!TX..EE3=t$???? 544G 2 244444!444gc40011112 2r(   c                    | \  }} || }t          j        g dt                    }|                    |          }|                    |          }|                    |          }|                    |          }t          |d         dd           t          j        t          j	        |dd                    dk              sJ t          j        t          j	        |d d                   dk              sJ t          ||dz   |dz   z  dd	
           t          ||j                  }	t          ||	dd
           t          ||j                  }
t          ||
dd	
           d S )Nr   r   r   r   r   )r   gJz5r   r   r   )r*   r,   r   r   r   r   r   r   alldiffr   )r   r.   r/   r%   r1   r   r   r   r   r3   r4   s              r&   test_norms_consistentr;   I   sb    JD$4;D
000>>>All1ooG
((1++C
((1++Cq!!I CFAE****6"'#abb'""a'(((((6"'#bqb'""a'((((( GcEka%i8t$OOOO DH--DCDt4444!!TX..EIu4d;;;;;;r(   )pytestnumpyr*   numpy.testingr   statsmodels.robustr   statsmodels.tools.numdiffr   resultsr   res_rHampel
res_hampelTukeyBiweightres_biweightr)   	res_hubercasesLeastSquaresTrimmedMean
AndrewWaveRamsayEnorms_otherfloat64r+   dtypesmarkparametrizer7   r;   r	   r(   r&   <module>rR      sp        ) ) ) ) ) ) $ $ $ $ $ $      , + + + + + \>5#34
$ 23
\8U_-	 

r
]B	 R]	+ &))'''2 '2 (' *)'2T --< < .-< < <r(   