
    !gd                     <   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j0                  ej2                  gZe j6                  j9                  de      e j6                  j9                  de      d               Ze j6                  j9                  de      d        Zy)    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y  || }t        j                  g d|      }|j                  |      }|j                  |      }|j                  |      }	|j                  |      }
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 ]7  }|D cg c]  } t        ||      |       }}t        |t        ||             9 y c c}w )
N	iir   r         	   r   -q=g#B;rtolatolfloatư>:0yE>)weightsrhopsi	psi_deriv)r   HuberTnp
complex128arrayr   r   r   r   r   promote_typesr   r   getattr)r   r   nclsargsresnormxr   r   r   r   dtype2psidpsiddmethodsmethxiresms                     `/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/robust/tests/test_norms.py	test_normr3      s    OD$~%2=="8;D
0>All1oG
((1+C
((1+Cq!IGS[[u5ACu59Cu59Is}}5uEeW-F==F"""9999??f$$$ DHH-DD#''48!!TXX.EE3==t$? 5G 2234B#d#B'44gc40124s   9G-c                    | \  }} || }t        j                  g dt              }|j                  |      }|j	                  |      }|j                  |      }|j                  |      }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	
       y )Nr   r   r   r   r   )r   gJz5r   r   r   )r!   r#   r   r   r   r   r   r   alldiffr   )r   r&   r'   r)   r*   r   r   r   r   r,   r-   s              r2   test_norms_consistentr7   I   s    JD$;D
0>All1oG
((1+C
((1+Cq!I CFAE*66"''#ab'"a'(((66"''#bq'"a'((( GcEka%i8t$O DHH-DCDt4!!TXX.EIu4d;    )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parametrizer3   r7   r	   r8   r2   <module>rO      s     ) $ , \\>5#3#34
$ 2 23
\\8U__-	 

r
]]B	 R]]	+ &)''2 ( *'2T -< .<r8   