
    .CcR                     R    d dl mZ d dlZd dlmZmZmZ d dlm	Z	 d Z
d Zd Zd ZdS )	    )print_functionN)CenterStandardizecenter)atleast_2d_column_defaultc                 
   t          j                  t          j        |          }g|f|fd D             |fd D             |ft          j                  g|fd D             |ft          j                  d d d f         gt          |          fd D             t          |          fg}|r|t          j        d d d         f          gt          j        ||d d d         f          ffdt          t                              D             t          j        ||d d d         f          fgz  }ddlm} |rKdd l	j
        j        f}t          j        dd	t                    
          |j        d	k    r
                    |          }	n                    |          }	|
                              g|	ffdt                    D             |	fgz  }|rt          j        d d d         f          t          j        ||d d d         f          }
                    |
          }|                              g|ffdt          t                              D             |fgz  }|D ]\  }}t          |            |             }|D ]} |j        |g|R i | |                                 g }|D ]\} |j        |g|R i |}j        |j        k    r$|j        t          j        |          j        k    sJ |                    |           ]|rHt)          |d         |          r2                    |          }t          j        |j                  sJ n`|d         j        dk    rt          j        |          }n:|d         j        d	k    rt          j        |          }nt          j        |          }|j        d         t                    k    sJ t          j        ||          sJ t          j        |d                   j        dk    rt          j        |          }nz|r,t)          |d         |          r                    |          }nLt          j        |d                   j        d	k    rt          j        |          }nt          j        |          } |j        |g|R i |}|r2t)          |d         |          rt          j        |j                  sJ j        |j        k    r|j        |j        k    sJ t          j        ||          sJ d S )Nc                     g | ]}|gS  r
   .0ns     0lib/python3.11/site-packages/patsy/test_state.py
<listcomp>z"check_stateful.<locals>.<listcomp>   s    			!1#			    c                 6    g | ]}t          j        |          S r
   nparrayr   s     r   r   z"check_stateful.<locals>.<listcomp>   s     	%	%	%!"(1++	%	%	%r   c                 8    g | ]}t          j        |g          S r
   r   r   s     r   r   z"check_stateful.<locals>.<listcomp>   s"    	'	'	'A"(A3--	'	'	'r   c                 :    g | ]}t          j        |gg          S r
   r   r   s     r   r   z"check_stateful.<locals>.<listcomp>   s$    	)	)	)a"(QC5//	)	)	)r   c                 ^    g | ])}t          j        |         | d z
           gg          *S )   r   )r   iinputs     r   r   z"check_stateful.<locals>.<listcomp>%   s9    QQQ!"(U1XuaRT{3455QQQr   r   have_pandasr   )numindexc                 H    g | ]\  }}                     |g|g           S )r   )Series)r   xidxpandass      r   r   z"check_stateful.<locals>.<listcomp>6   sA     8 8 81c mmQCum-- 8 8 8r   c                 b    g | ]+}                     |d d f         g|         g          ,S )Nr   )	DataFrame)r   r   input_2d_2colr%   pandas_indexs     r   r   z"check_stateful.<locals>.<listcomp>D   sZ     . . . ""M!QQQ$$7#8*6q/): # < < . . .r   )r   asarrayr   r   column_stackrangelen
patsy.utilr   r%   r"   r'   linspacendimzipprintmemorize_chunkmemorize_finish	transformappend
isinstanceconcatarray_equalr    concatenate	row_stackshapeallclose)clsaccepts_multicolumnr   outputargskwargs
test_casesr   pandas_type	output_1doutput_2d_2coloutput_2col_dataframe	input_obj
output_objtinput_chunkall_outputsoutput_chunkall_output1	all_inputall_output2r(   r%   r)   s     `                  @@@r   check_statefulrQ   
   sh   JuEZF &			u			v&	%	%u	%	%	%v.
(5//	F#	'	'	'	'	'0
(5//!!!T'
"	#%>v%F%FG	)	)5	)	)	)+DV+L+LM!
J$  oueDDbDk2334_ffTTrTl3446 RQQQuSZZ?P?PQQQ&&2,!788:	 	
 '&&&&& }f&67{1aSZZ888;! 	EfLAAII((|(DDImmEm667C8 8 8 8!%668 8 8	 	
  	OUE$$B$K,@AAM_ffTTrTl-CDDN$*$4$4^;G %5 %I %I!""="EEF&(. . . . . . U,,. . . '(	 	J ", )4 )4	:iCEE$ 	; 	;KA[:4:::6::::	$ 	- 	-K&1;{DTDDDVDDLzV[( I#(BJ{,C,C,HHHHH|,,,, 	4:k!nkBB 	4 --44K>+"3\BBBBBB^ A% 	4(;//KK^ A% 	4.55KK,{33K #s5zz1111 {;
33333:il##(A- 
	0++II 	0Z	!kBB 	0i00IIZ	!%%*a/ 	0 y11IIY//I!ak)=d===f== 	C:ilK@@ 	C>+"3\BBBBB:$ 	6#y~5555{;
333333S)4 )4r   c                      t          t          dg dg d           t          t          dg dg d           t          t          dg dg d           d S )NTr         r   r   r   r   rT   r   rT               ?rY   rZ   )g?g333333$g      @      (@)g      gL)g@gfffff"@)rQ   r   r
   r   r   test_Centerr\   t   so    64JJJ77764/E/E/EFFF64***...0 0 0 0 0r   c                  z   t          j        t          g d          g d          sJ t          j        t          g d          g d          sJ t          g d          j        t          j        t                    k    sJ t          t          j        g dt           j                            j        t          j        t           j                  k    sJ t          g d          j        t          j        t                    k    sJ ddlm}  | r#dd l	}|
                    g dg d	
          }|                    ddgddgddggddgg d          }t          |          }t          ||j
                  sJ t          j        |j        g d	          sJ t          j        |g d          sJ t          |          }t          ||j                  sJ t          j        |j        g d          sJ t          j        |j        ddg          sJ t          j        |ddgddgddgg          sJ d S d S )NrS   rV   rW   rX   )g      ?g       @g      @)dtyper   r   )abcr   r   rT      rU      x1x2)
         )columnsr    r   )r   r=   r   r^   floatr   float32r.   r   r%   r"   r'   r7   r9   r    ri   )r   r%   sdfs_cdf_cs         r   test_stateful_transform_wrapperrq   {   sd   ;viii((***55555;vlll++-C-C-CDDDDD///""(BHUOO;;;;28OOO2:>>>??Ex
##$ % % %)))"bhuoo5555&&&&&& =MM)))???M;;1v1v1v6'+Tl$0LL  2 2 Qii#v}-----~ci99999{3


+++++bzz$ 011111~dj,,,77777~dlT4L99999{42r(QFQF!;<<<<<= = 	=<r   c            
      \   t          t          dddgddg           t          t          dddgddg           t          t          dg dt          j        d          dt          j        d           g           t          t          dg d	t          j        d          dt          j        d           g           t	          t          d
                    } t          t          dddgt          j        d          dz  t          j        d           dz  gd           t          t          d| t	          t          j        d
          dz
  dz            d           t          t          d| t	          t          j        d
          dz
  dz            d           t          t          d| t	          t          j        d
          dz
            dd           t          t          d| t	          t          j        d
          dz            dd           t          t          d| | ddd           d S )NTr   r      rf   )rs      rf   g      ?r   )r[   g      &@g      $@rg   rT   )ddofg      #@g2^^@g-@F)rescaleru   )r   ru   )r   rv   ru   )rQ   r   r   sqrtlistr,   arange)r20s    r   test_Standardizer{      s9   ;q"g2w777;r2hB888;<<GDMM1rwt}}n57 7 7 ;%%%GDMM1rwt}}n57 7 7 uRyy//C;q"g

1rwqzzk!m/L    ;2,0BBCC    ;2,0BBCC    ;2,.. q* * * * ;	"(::;;a) ) ) ) ;Q8 8 8 8 8 8r   )
__future__r   numpyr   patsy.stater   r   r   r.   r   rQ   r\   rq   r{   r
   r   r   <module>r      s   
 & % % % % %     3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0h4 h4 h4T0 0 0= = =2)8 )8 )8 )8 )8r   