Ë
    täiK+  ã                   óŠ   — d dl mZmZmZmZmZmZmZ d dlm	Z	m
Z
mZmZmZ ddlmZ d„ Zed„ «       Z ed«      Zdd„Zd	„ Zd
„ Zy)é    )ÚcacheitÚDummyÚNeÚIntegerÚRationalÚSÚWild)ÚbinomialÚsinÚcosÚ	PiecewiseÚAbsé   )Ú	integratec                 ó"   — t        | t        «      S )N)Ú
isinstancer   )Úns    úk/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/sympy/integrals/trigonometry.pyÚ_integer_instancer      s   € Ü�aœÓ!Ð!ó    c                 óÄ   — t        d| g¬«      }dD �cg c]  }t        || gt        g¬«      ‘Œ c}\  }}t        || z  «      |z  t        || z  «      |z  z  }||||fS c c}w )NÚa)ÚexcludeÚnm)r   Ú
properties)r	   r   r   r   )Úxr   Úsr   ÚmÚpats         r   Ú_pat_sincosr       su   € äˆS˜1˜#Ô€AáóÙ�Aô �˜Q˜CÔ->Ð,?Ö@Øñ�D€A€qä
ˆa�‰c‹(�A‰+œ˜A˜a™C› !™Ñ
#€CØ��1�aˆ<Ðùòs   “AÚuc                 ó 
  — t        |«      \  }}}}| j                  d«      } | j                  |«      }|€y||   ||   }}|j                  r|j                  r|S |j                  r|nt        j
                  }||   }|j                  s|j                  röt        }	|j                  |j                  }}
|
rA|r?|dk  r
|dkD  rd}d}
n0|dk  r
|dkD  rd}
d}n!|dk  r|dk  r||kD  }
||kD   }n||k  }
||k   }|
r'd|	dz  z
  |dz
  dz  z   |	|z  z  }t        ||z  «      }n'|r%|	|z  d|	dz  z
  |dz
  dz  z  z  }t        ||z  «      }t        |	«      }|j                  |	«      }|dk(  rt        ||z  t        |d«      f|df«      S ||z  S t        |«      t        |«      kD  }
t        |«      t        |«      kD  }t        j
                  }|
rà|dkD  rRt        d|dz  dz   «      D ];  }|t        j                   |z  t#        |dz  |«      z  t%        |d|z  z   |«      z  z  }Œ= �n‘|dk(  rt%        ||«      }�n~t'        d	|dz   «      t        |«      |dz   z  z  t        |«      |dz
  z  z  t'        |dz
  |dz   «      t)        t        |«      |dz   z  t        |«      |dz
  z  z  |«      z  z   }�n|rà|dkD  rRt        d|dz  dz   «      D ];  }|t        j                   |z  t#        |dz  |«      z  t+        |d|z  z   |«      z  z  }Œ= �n¯|dk(  rt+        ||«      }�nœt'        d|dz   «      t        |«      |dz
  z  z  t        |«      |dz   z  z  t'        |dz
  |dz   «      t)        t        |«      |dz
  z  t        |«      |dz   z  z  |«      z  z   }�n&||k(  r-t        t        d|z  «      t        j,                  z  |z  |«      }nô|| k(  rî|dk  rut'        d|dz   «      t        |«      |dz
  z  z  t        |«      |dz   z  z  t'        |dz
  |dz   «      t        t        |«      |dz
  z  t        |«      |dz   z  z  |«      z  z   }ntt'        d	|dz   «      t        |«      |dz   z  z  t        |«      |dz
  z  z  t'        |dz
  |dz   «      t        t        |«      |dz   z  t        |«      |dz
  z  z  |«      z  z   }|dk(  r0t        |j                  |||z  «      |z  t        |d«      f|df«      S |j                  |||z  «      |z  S )
a´  
    Integrate f = Mul(trig) over x.

    Examples
    ========

    >>> from sympy import sin, cos, tan, sec
    >>> from sympy.integrals.trigonometry import trigintegrate
    >>> from sympy.abc import x

    >>> trigintegrate(sin(x)*cos(x), x)
    sin(x)**2/2

    >>> trigintegrate(sin(x)**2, x)
    x/2 - sin(x)*cos(x)/2

    >>> trigintegrate(tan(x)*sec(x), x)
    1/cos(x)

    >>> trigintegrate(sin(x)*tan(x), x)
    -log(sin(x) - 1)/2 + log(sin(x) + 1)/2 - sin(x)

    References
    ==========

    .. [1] https://en.wikibooks.org/wiki/Calculus/Integration_techniques

    See Also
    ========

    sympy.integrals.integrals.Integral.doit
    sympy.integrals.integrals.Integral
    ÚsincosNr   TFr   é   Ú	piecewiseéÿÿÿÿ)r    ÚrewriteÚmatchÚis_zeror   ÚZeroÚis_oddÚ_ur   r   r   Úsubsr   r   r   ÚrangeÚNegativeOner
   Ú_sin_pow_integrater   ÚtrigintegrateÚ_cos_pow_integrateÚHalf)Úfr   Úcondsr   r   r   r   ÚMÚzzr!   Ún_Úm_ÚffÚuuÚfiÚfxÚresÚis                     r   r1   r1      sS  € ôD ˜q“>�L€CˆˆAˆqà	�	‰	�(Ó€AØ	�‰�‹€Aà€yØàˆQ‰4��1‘€q€AØ‡y‚y�Q—Y’YØˆØ�iŠi‰œQŸV™V€Bà	ˆ!‰€Aà‡x‚x�1—8’8ÜˆØ—‘˜1Ÿ8™8ˆBˆñ ‘"ð �1Šu˜˜QšØ�Ø‘Ø�Q’˜1˜qš5Ø�Ø‘ð �a’%˜A šEØ˜‘U�Ø˜a™%�[‘ð ˜!‘e�Ø˜a™%�[�ñ Ø�q˜!‘t‘8  A¡ q™yÑ)Ð)¨A¨q©DÑ0ˆBÜ�Q�q‘S“‰Bñ Ø�A‘˜˜Q ™T™ a¨!¡e¨Q¡YÑ/Ñ/ˆBÜ�Q�q‘S“ˆBä�r˜1ÓˆØ�W‰W�Q˜‹^ˆØ�KÒÜ˜b 1™f¤b¨¨A£hÐ/°"°d°Ó<Ð<Ø�A‰vˆô" ˆa‹&”3�q“6‰/€BÜ
ˆa‹&”3�q“6‰/€BÜ
�&‰&€Cá	ð ˆqŠ5Ü˜1˜a ™d Q™hÖ'�ØœŸ™ qÑ(¬8°A°q±D¸!Ó+<Ñ<Ü*¨1¨q°©s©7°AÓ6ñ7ñ 8‘ò (ð �!ŠVÜ$ Q¨Ó*ŠCô& ˜B  A¡Ó&¬¨Q«°!°a±%©Ñ8¼3¸q»6ÀAÈÁE¹?ÑJÜ˜A ™E 1 q¡5Ó)Ü ¤ Q£¨!¨a©%¡´°Q³¸!¸a¹%±Ñ!@À!ÓDñEñEŠCñ 
ð ˆqŠ5ô ˜1˜a ™d Q™hÖ'�ØœŸ™ qÑ(¬8°A°q±D¸!Ó+<Ñ<Ü*¨1¨q°©s©7°AÓ6ñ7ñ 8‘ò (ð �!ŠVô % Q¨Ó*ŠCô& ˜A˜q 1™uÓ%¬¨A«°°Q±©Ñ7¼¸A»ÀÀQÁ¹ÑGÜ˜A ™E 1 q¡5Ó)Ü ¤ Q£¨!¨a©%¡´°Q³¸!¸a¹%±Ñ!@À!ÓDñEñEŠCð
 �Š6äœS  1¡›X¤a§f¡f™_¨qÑ0°!Ó4‰CØ�A�2ŠgØ�1Šuô
    1 q¡5Ó)¬C°«F°Q¸±U©OÑ;¼cÀ!»fÀqÈ1Áu¹oÑMÜ  A¡ q¨1¡uÓ-Ü ¤ Q£¨!¨a©%¡´3°q³6¸AÀ¹E±?Ñ!BÀAÓFñGñG‘ô    A¨¡EÓ*¬S°«V°a¸!±e©_Ñ<¼sÀ1»vÈÈAÉ¹ÑNÜ  A¡ q¨1¡uÓ-Ü ¤ Q£¨!¨a©%¡´°Q³¸!¸a¹%±Ñ!@À!ÓDñEñE�ð �ÒÜ˜#Ÿ(™( 1 a¨¡cÓ*¨QÑ.´°1°a³Ð9¸BÀ¸:ÓFÐFØ�8‰8�A�q˜‘sÓ˜aÑÐr   c                 óª  — | dkD  r[| dk(  rt        |«       S t        d| «      t        |«      z  t        |«      | dz
  z  z  t        | dz
  | «      t        | dz
  |«      z  z   S | dk  rm| dk(  rt	        dt        |«      z  |«      S t        d| dz   «      t        |«      z  t        |«      | dz   z  z  t        | dz   | dz   «      t        | dz   |«      z  z   S |S )Nr   r   r&   r$   )r   r   r   r0   r1   ©r   r   s     r   r0   r0   û   sò   € Øˆ1‚uØ�Š6ä˜“F�7ˆNô ˜˜Q“¤# a£&Ñ(¬3¨q«6°A¸±E©?Ñ:Ü˜˜Q™ Ó"Ô%7¸¸A¹¸qÓ%AÑAñBð 	Cð 	ˆ1‚uØ�Š7ô ! ¤3 q£6¡¨1Ó-Ð-ô ˜˜A ™EÓ"¤S¨£VÑ+¬c°!«f°q¸1±u©oÑ=Ü˜˜Q™  A¡Ó&Ô);¸AÀ¹EÀ1Ó)EÑEñFð 	Gð ˆr   c                 ó¨  — | dkD  rZ| dk(  rt        |«      S t        d| «      t        |«      z  t        |«      | dz
  z  z  t        | dz
  | «      t        | dz
  |«      z  z   S | dk  rm| dk(  rt	        dt        |«      z  |«      S t        d| dz   «      t        |«      z  t        |«      | dz   z  z  t        | dz   | dz   «      t        | dz   |«      z  z   S |S )Nr   r   r$   r&   )r   r   r   r2   r1   rA   s     r   r2   r2   (  sî   € Øˆ1‚uØ�Š6ä�q“6ˆMô ˜˜A“¤ Q£Ñ'¬#¨a«&°1°q±5©/Ñ9Ü˜˜Q™ Ó"Ô%7¸¸A¹¸qÓ%AÑAñBð 	Cð 	ˆ1‚uØ�Š7ä  ¤3 q£6¡¨1Ó-Ð-ô ˜˜Q ™UÓ#¤c¨!£fÑ,¬s°1«v¸¸A¹©Ñ>Ü˜˜Q™  A¡Ó&Ô);¸AÀ¹EÀ1Ó)EÑEñFð 	Gð
 ˆr   N)r%   )Ú
sympy.corer   r   r   r   r   r   r	   Úsympy.functionsr
   r   r   r   r   Ú	integralsr   r   r    r,   r1   r0   r2   © r   r   Ú<module>rG      sM   ðß E× EÑ Eß >Õ >Ý  ò"ð 	ñó 	ðñ ˆ3ƒZ€ó[ ò|*óZ'r   