
    VfdQ                        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   g-q=g#B;rtolatolfloatư>:0yE>)weightsrhopsi	psi_derivc                 B    g | ]} t                    |          S r	   )getattr).0ximethnorms     Clib/python3.11/site-packages/statsmodels/robust/tests/test_norms.py
<listcomp>ztest_norm.<locals>.<listcomp>F   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_normr6      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                    }|                    |          }|                    |          }|                    |          }|                    |          }|d         dk    sJ 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   gJz5r   r   r   )r)   r+   r   r   r   r   r   alldiffr   r   )r   r-   r.   r$   r0   r   r   r   r   r2   r3   s              r%   test_norms_consistentr:   J   sZ    JD$4;D
000>>>All1ooG
((1++C
((1++Cq!!I q6Q;;;;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parametrizer6   r:   r	   r'   r%   <module>rQ      sp        ) ) ) ) ) ) $ $ $ $ $ $      , + + + + + \>5#34
$ 23
\8U_-	 

r
]B	 R]	+ &))'''2 '2 (' *)'2T --< < .-< < <r'   