
    ph)                     r    S SK Jr   " S S\5      r " S S\5      rS rS rS rS	 rS
 r	S r
S rS rS rg)    )no_picklingc                   :    \ rS rSrSrS rS rS rS rS r	\
rSrg	)
_ExpandedFactor0   zA factor, with an additional annotation for whether it is coded
full-rank (includes_intercept=True) or not.

These objects are treated as immutable.c                     Xl         X l        g Nincludes_interceptfactor)selfr
   r   s      hC:\Users\julio\OneDrive\Documentos\Trabajo\IdeasFrscas\Cabanna\env\Lib\site-packages\patsy/redundancy.py__init___ExpandedFactor.__init__6   s    "4    c                 N    [        [        U R                  U R                  45      $ r   )hashr   r
   r   r   s    r   __hash___ExpandedFactor.__hash__:   s    _d&=&=t{{KLLr   c                     [        U[        5      =(       a9    UR                  U R                  :H  =(       a    UR                  U R                  :H  $ r   )
isinstancer   r
   r   r   others     r   __eq___ExpandedFactor.__eq__=   s?    uo. ,((D,C,CC,+	
r   c                     X:X  + $ r    r   s     r   __ne___ExpandedFactor.__ne__D         r   c                 R    U R                   (       a  SnOSnU R                  < U< 3$ )N+-r	   )r   suffixs     r   __repr___ExpandedFactor.__repr__G   s$    ""FFf--r   )r   r
   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r%   r   __getstate____static_attributes__r   r   r   r   r   0   s(    /
M
!. Lr   r   c                   F    \ rS rSrSrS rS rS rS rS r	S r
S	 r\rS
rg)_SubtermQ   zAlso immutable.c                 $    [        U5      U l        g r   )	frozensetefactors)r   r3   s     r   r   _Subterm.__init__T   s    !(+r   c                     [        U R                  5      [        UR                  5      -
  S:H  =(       a%    U R                  R                  UR                  5      $ )N   )lenr3   
issupersetr   s     r   
can_absorb_Subterm.can_absorbW   sI    4==!CNN%
 
 <==++ENN;	<r   c                 :   U R                   R                  UR                   5      n[        U5      S:X  d   e[        U5      S   nUR                  (       a   e[        UR                   5      nUR                  [        SUR                  5      5        [        U5      $ )Nr6   r   T)
r3   
differencer7   listr
   setaddr   r   r/   )r   r   diffefactornew_factorss        r   absorb_Subterm.absorb]   sv    }}''74yA~~t*Q-----%..)gnn=>$$r   c                 8    [        [        U R                  45      $ r   )r   r/   r3   r   s    r   r   _Subterm.__hash__f   s    Xt}}-..r   c                 b    [        U[        5      =(       a    U R                  U R                  :H  $ r   )r   r/   r3   r   s     r   r   _Subterm.__eq__i   s!    %*Mt}}/MMr   c                     X:X  + $ r   r   r   s     r   r   _Subterm.__ne__l   r    r   c                 d    U R                   R                  < S[        U R                  5      < S3$ )N())	__class__r'   r=   r3   r   s    r   r%   _Subterm.__repr__o   s     >>22D4GHHr   )r3   N)r'   r(   r)   r*   r+   r   r9   rC   r   r   r   r%   r   r,   r-   r   r   r   r/   r/   Q   s1    ,<%/N!I Lr   r/   c           
          / nU  HW  n/ nU H2  nUS   S;   d   eUR                  [        US   S:H  US S 5      5        M4     UR                  [        U5      5        MY     U$ )N)r"   r#   r"   )appendr   r/   )short_subtermssubtermssubtermfactorsfactor_names        r   _expand_test_abbrevsrX   x   sp    H!"Kr?j000NN?;r?c+A;sPRCSTU # 	)* " Or   c                     [        SS//5      S   n [        / SQ/5      S   n[        / /5      S   n[        SS//5      S   n[        S//5      S   n[        S//5      S   n[        SS//5      S   nXX5U4 H  nU R                  U5      (       d  M   e   U R                  U5      (       d   eU R                  U5      U:X  d   eg )	Na-b-r   )rZ   r[   c-r\   zd-a+b+)rX   r9   rC   )s_abs_abcs_nulls_cds_as_aps_abpbads           r   test__Subtermrg      s    $/2D "4!56q9E!2$'*F$/2D
x
(
+C$)!,D 4,03Ed%/??3'''' 0??3;;su$$$r   c           	   #     #    S n[        [        U 5      5      n[        U" U5      5      nUR                  5         UR                  [        S9  U H%  n[	        U VVs/ s H  u  pVUPM	     snn5      v   M'     g s  snnf 7f)Nc              3   p   #    U (       d  Sv   g U S   n[        U SS  5       H  nUv   U4U-   v   M     g 7f)Nr   r   r6   )_subsets_sorted)seqobjsubsets      r   helper_subsets_sorted.<locals>.helper   s<     Ha&C)#ab'2fvo% 3s   46)key)r=   	enumeratesortr7   tuple)tuplrn   expandedexpanded_subsetsrm   idxrl   s          r   rj   rj      sr     & IdO$HF8,- c""626ZcS6233 #2s   AB A:+B c            	          [        [        S5      5      / SQ:X  d   e[        [        S5      5      / SQ:X  d   e[        [        [        [        S5      5      5      5      S:X  d   eg )Nr6      )r   r6   rz   ry   r6   rz      )r   r{   r|   )r~   ry   )r6   r~   )rz   r~   r}          )r=   rj   r7   ranger   r   r   test__subsets_sortedr      s_    '(,DDDD	*+ 	0 	 	 	 tOE!H-./4777r   c                     [        U 5       Hc  u  p[        XS-   S  5       HJ  u  p4UR                  U5      (       d  M  UR                  U5      nXPUS-   U-   '   U R                  U5            g   Me     g)Nr6   TF)rq   r9   rC   pop)rT   short_ishort_subtermlong_ilong_subtermnew_subterms         r   _simplify_one_subtermr      sx     #,H"5$-h{}.E$F F&&}55*11-@1<1v-.W% %G #6 r   c                 L    [        U 5      (       a   [        U 5      (       a  M  g g r   )r   )rT   s    r   _simplify_subtermsr      s    

)
)  
)
)r   c                      S n U " S/S/5        U " SS/S/5        U " / SQS/5        U " / SQSS/5        U " / S	QS
S/5        g )Nc                 p    [        U 5      n [        U5      n[        SU SU5        [        U 5        X:X  d   eg )Nztesting if:z->)rX   printr   )givenexpecteds     r   t"test__simplify_subterms.<locals>.t   s8    $U+'1mUD(35!   r   rZ   r   )r]   )r   r   r[   rZ   r[   )r]   r^   )r   r   r   r   )r   r   r   r   )rZ   r^   r   )r   s    r   test__simplify_subtermsr      sT    ! wi'r7mgY*\N;!G\#:;&,(?@r   c           
         U R                    Vs/ s H  o3U;  d  M
  UPM     nn/ n[        U5       HA  n[        U Vs/ s H  n[        SU5      PM     sn5      nXr;  d  M0  UR	                  U5        MC     UR                  U5        [        U5        / nU HA  n0 n	UR                   H  n
U
R                  XR                  '   M     UR	                  U	5        MC     U$ s  snf s  snf )NF)
rV   rj   r/   r   rR   updater   r3   r
   r   )termnumeric_factorsused_subtermsfcategorical_factorsrT   rm   rU   factor_codingsfactor_codingru   s              r   pick_contrasts_for_termr      s    &*llOl6N1lO H!"56vFv!OE15vFG'OOG$ 7 "x N((H-5-H-HM//* )m,	 
 # P Gs   	CCC"
c                     SSK Jn   [        5       n[        U " / 5      [        5       U5      nU0 /:X  d   e[        U " SS/5      [        S/5      U5      nUSS0/:X  d   e[        U " SS/5      [        5       U5      nUSSS./:X  d   e[        U5      n[        U " S	S
/5      [        5       U5      nUS
S0SSS./:X  d   e[        U " S
S	/5      [        5       U5      nUS	S0SSS./:X  d   eg )Nr   )TermaxFbT)r   r   cd)r   r   )
patsy.descr   r>   r   )r   usedcodingsused_snapshots       r   test_pick_contrasts_for_termr     s   5D%d2ht<Grd??%dC:&6SE
DIGU|n$$$%dC:&6tDGT.////IM%dC:&6tDGU|5t%<==== &dC:&6}MGU|4e%<====r   N)
patsy.utilr   objectr   r/   rX   rg   rj   r   r   r   r   r   r   r   r   r   <module>r      sT   V #
f B!v !N%$408

AF*>r   