
    J/Ph                     F    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 )    N)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     P/var/www/html/test/jupyter/venv/lib/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    RRR1E!HeQBFm4566RRRr   r   have_pandasr   )numindexc                 H    g | ]\  }}                     |g|g           S )r   )Series)r   xidxpandass      r   r   z"check_stateful.<locals>.<listcomp>>   sA        C MM1#cUM33  r   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>Q   sT        ((-111*=)>|TUFW(XX  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vstack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_statefulrP      sS   JuEZF &			u			v&	%	%u	%	%	%v.
(5//	F#	'	'	'	'	'0
(5//!!!T'
"	#%>v%F%FG	)	)5	)	)	)+DV+L+LM!J$  
%ttt!5667" 677 SRRRc%jj@Q@QRRR" 677

 
	

 '&&&&& (}f&67{1aSZZ888;!fLAAII((|(DDImmEm667C   $'|$<$<   	
 	

  	OUE$$B$K,@AAM_ffTTrTl-CDDN$*$4$4^<$4$X$X! %%m<%HHI)     !&s5zz!2!2   * J ", )4 )4	:iCEE$ 	; 	;KA[:4:::6::::	$ 	- 	-K&1;{DTDDDVDDLzV[((#(BJ{,C,C,HHHHH|,,,, 	1:k!nkBB 	1 --44K>+"3\BBBBBB^ A%%(;//KK^ A%%.55KK)K00K #s5zz1111 {;
33333:il##(A--++II 	-Z	!kBB 	-i00IIZ	!%%*a// y11II	),,I!ak)=d===f== 	C:ilK@@ 	C>+"3\BBBBB:$$#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   rS   r   rS               ?rX   rY   )g?g333333$g      @      (@)g      gL)g@gfffff"@)rP   r   r	   r   r   test_Centerr[      se    64JJJ77764/E/E/EFFF64!8!8!8:U:U:UVVVVVr   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 )NrR   rU   rV   rW   )g      ?g       @g      @)dtyper   r   )abcr   r   rS      rT      x1x2)
         )columnsr   r   )r   r<   r   r]   floatr   float32r-   r   r$   r!   r&   r6   r8   r   rh   )r   r$   sdfs_cdf_cs         r   test_stateful_transform_wrapperrp      sk   ;viii((***55555;vlll++-C-C-CDDDDD///""(BHUOO;;;;"(???"*===>>D

I I     )))"bhuoo5555&&&&&& =MM)))???M;;VaVaV$tTl,,,  
 
 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      re   )rr      re   g      ?r   )rZ   g      &@g      $@rf   rS   )ddofg      #@g2^^@g-@F)rescalert   )r   rt   )r   ru   rt   )rP   r   r   sqrtlistr+   arange)r20s    r   test_Standardizerz      s4   ;q"g2w777;r2hB888T<<<"''*:*:A@P@P?P)Q   T---0@0@!bggFVFVEV/W   uRyy//CTAr7RWQZZ!^bgajj[1_$EA    T3bimmc&9=O%O P PWX    T3bimmc&9=O%O P PWX    T3bimmc&9 ; ;UQR    RYr]]//00    ;c3ueRSTTTTTTr   )numpyr   patsy.stater   r   r   r-   r   rP   r[   rp   rz   r	   r   r   <module>r}      s   
     3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0v4 v4 v4rW W W= = =:(U (U (U (U (Ur   