Ë
    7^(h  ã                   ó  — d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZmZmZmZ d dlmZ d d	lmZ d d
lmZ d dlmZ  e	d«      \  ZZZ e«       d„ «       Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&y)é    )ÚAdd)ÚRationalÚooÚpi)ÚS)Úsymbols)ÚexpÚlog)Ú	Piecewise)ÚcosÚsinÚsincÚtan)Úfourier_series)ÚFourierSeries)Úraises)Ú	lru_cachezx y zc                  óò   — t        t        t        t         t        f«      } t        t        dz  t         t        f«      }t        t        dt        dk  ft        df«      t        t         t        f«      }| ||fS )Né   r   T)r   Úxr   r   ©ÚfoÚfeÚfps      ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/series/tests/test_fourier.pyÚ_get_examplesr      s_   € ä	œœA¤˜s¤B˜<Ó	(€BÜ	œ˜1™¤˜s¤B˜iÓ	(€BÜ	œ	 1¤a¨!¡e *¬r°4¨jÓ9¼AÄ¸sÄB¸<Ó	H€BØˆr�2ˆ:Ðó    c                  óþ  — t        «       \  } }}t        dt         t        f«      dk(  sJ ‚t        dt        dk  ft        df«      j                  t        t         t        f«      j                  «       |j                  «       k(  sJ ‚t        | t        «      sJ ‚| j                  t        k(  sJ ‚| j                  t        k(  sJ ‚| j                  t         t        fk(  sJ ‚| j                  d«      dt        dt        z  «      z  dz  k(  sJ ‚|j                  d«      dt        dt        z  «      z  dz  k(  sJ ‚|j                  d«      dt        dt        z  «      z  dz  k(  sJ ‚| j                  t        «      dt        t        «      z  k(  sJ ‚|j                  t        «      t        dz  dz  k(  sJ ‚|j                  t        «      t        dz  k(  sJ ‚| j                  «       dt        t        «      z  t        dt        z  «      z
  dt        dt        z  «      z  dz  z   k(  sJ ‚|j                  «       dt        t        «      z  t        dt        z  «      z   t        dz  dz  z   k(  sJ ‚|j                  «       dt        t        «      z  dt        dt        z  «      z  dz  z   t        dz  z   k(  sJ ‚| j                  d ¬«      }ddt        t        «      z  t        dt        z  «       g}t        |«      D ]  \  }}|dk(  r n||   |k(  rŒJ ‚ d	„ } || d«        ||d«        ||d«       | j                  t        t        dz  «      | k(  sJ ‚t!        t"        d
„ «       t!        t"        d„ «       t!        t"        d„ «       y )Né   r   Té   r   éüÿÿÿé	   )Únc                 óL   — t        | «      D ]  \  }}|| |   k(  sJ ‚||k(  sŒ y  y ©N)Ú	enumerate)ÚfÚiÚindÚts       r   Ú_check_iterz'test_FourierSeries.<locals>._check_iter6   s3   € Ü “lò 	‰FˆC�Ø˜˜#™’;Ð�;Ø�a‹xÙñ	r   c                  ó"   — t        t        d«      S )N)r   r   r   ©r   r   © r   r   ú<lambda>z$test_FourierSeries.<locals>.<lambda>B   s   € œ~¬a°Ó;€ r   c                  ó8   — t        t        t        dt        f«      S ©Nr   )r   r   r   r.   r   r   r/   z$test_FourierSeries.<locals>.<lambda>C   s   € œ~¬a´!°Q¼°Ó<€ r   c                  ó<   — t        t        t        z  dt        f«      S r1   )r   r   Úyr   r.   r   r   r/   z$test_FourierSeries.<locals>.<lambda>D   s   € œ~¬a´©c°A´r°7Ó;€ r   )r   r   r   r   r   ÚtruncateÚ
isinstancer   ÚfunctionÚperiodÚtermr   r   Úas_leading_termr&   Úsubsr   Ú
ValueError)r   r   r   ÚfotÚsr(   r*   r+   s           r   Útest_FourierSeriesr>      sý  € Ü“�J€BˆˆBä˜!œr˜c¤2˜YÓ'¨1Ò,Ð,Ð,Ü�qœ!˜a™%�j¤2 t *Ó-ß‰NœA¤˜s¤B˜<Ó(¯©«¸¿¹»òFð Fð Fä�bœ-Ô(Ð(Ð(Ø�;‰;œ!ÒÐÐØ�4‰4”1Š9Ðˆ9Ø�9‰9œ"˜œb˜	Ò!Ð!Ð!à�7‰7�1‹:˜œ3˜q¤™s›8™ a™Ò'Ð'Ð'Ø�7‰7�1‹:˜œC ¤!¡›H™ q™Ò(Ð(Ð(Ø�7‰7�1‹:˜œ3˜q¤™s›8™ a™Ò'Ð'Ð'à×ÑœaÓ  A¤c¬!£f¡HÒ,Ð,Ð,Ø×ÑœaÓ ¤B¨¡E¨A¡IÒ-Ð-Ð-Ø×ÑœaÓ ¤B¨¡FÒ*Ð*Ð*à�;‰;‹=˜Aœc¤!›f™H¤s¨1¬Q©3£xÑ/°1´S¸¼1¹³X±:À±>ÑBÒBÐBÐBØ�;‰;‹=˜Bœs¤1›v™I¬¨A¬a©C«Ñ0´2°q±5¸1±9Ñ<Ò<Ð<Ð<Ø�;‰;‹=˜Aœc¤!›f™H¨¬#¨a´©c«(©
°Q©Ñ7¼"¸q¹&Ñ@Ò@Ð@Ð@à
�+‰+˜ˆ+Ó
€CØ	
ˆAŒc”!‹f‰H”s˜1œQ™3“x�iÐ €AÜ˜#“ò ‰ˆˆ1Ø�Š6ÙØ�‰t�q‹yÐˆyðò
ñ ��AÔÙ��AÔÙ��AÔà�7‰7”1”a˜‘dÓ˜rÒ!Ð!Ð!ä
Œ:Ñ;Ô<Ü
Œ:Ñ<Ô=Ü
Œ:Ñ;Õ<r   c                  óL  — t        dt        dk  ft        df«      } t        | t        ddf«      }|j                  d«      dt	        dt
        z  t        z  dz  «      z  dt
        z  z  dt        dt
        z  t        z  dz  «      z  dt
        dz  z  z  z
  k(  sJ ‚|j                  «       dt	        t
        t        z  dz  «      z  t
        z  t	        t
        t        z  «      t
        z  z
  dt        t
        t        z  dz  «      z  t
        dz  z  z
  t        j                  z   k(  sJ ‚y )Nr   Téþÿÿÿr   r    é   r"   )
r   r   r   r8   r   r   r   r4   r   ÚHalf)Úpr'   s     r   Útest_FourierSeries_2rD   G   sý   € Ü�1”a˜!‘e�*œq $˜iÓ(€AÜ�qœ1˜b !˜*Ó%€Aà�6‰6�!‹9˜œ3˜q¤™t¤A™v¨™z›?Ñ*¨a´©dÑ3Øœ3˜q¤™t¤A™v¨™z›?Ñ*¨a´°A±©gÑ6ñ7ò 8ð 8ð 8à�:‰:‹<˜Aœc¤"¤Q¡$¨¡(›m™O¬bÑ0´3´r¼!±t³9¼r±>ÑAØœc¤"¤Q¡$¨¡(›m™O¬b°!©eÑ3ñ4Ü67·f±fñ=ò >ð >ñ >r   c                  ó0  — t        dt        t        k  fd«      } t        | t        ddt        z  f«      }|j	                  d«      dt        z  t        t        «      z  ddt        z  z  t        dt        z  «      z  z   ddt        z  z  t        dt        z  «      z  z   k(  sJ ‚|j                  d«      dt        z  t        t        «      z  t        t        dz  «      z  ddt        z  z  t        dt        z  «      z  t        dt        z  dz  «      z  z   k(  sJ ‚y)	zETest if fourier_series approximates discontinuous function correctly.r   )éÿÿÿÿTr   r   r    rA   é   N)r   r   r   r   r4   r   Úsigma_approximationr   )Úsquare_waver=   s     r   Útest_square_waverJ   Q   sò   € ä˜Q¤¤B¡˜K¨Ó4€KÜ�{¤Q¨¨1¬R©4 LÓ1€Aà�:‰:�a‹=˜A¤™F¤S¬£V™O¨a°1´r±6©l¼SÀÄQÁ»ZÑ.GÑGØ	ˆQ”‰V‰”s˜1œq™5“zÑ!ñ"ò "ð "ð "à× Ñ  Ó# q¬2¡v´´A³¡¼¼bÀ1¹f»Ñ'EØ	ˆQ”‰V‰”s˜1œq™5“zÑ!¤D¨¬R©°!©Ó$4Ñ4ñ(5ò 5ð 5ñ 5r   c                  ó:  — t        t        t        dt        f«      } | j                  d«      t        dz  t	        dt        z  «      z
  t	        dt        z  «      dz  z
  t	        dt        z  «      dz  z
  k(  sJ ‚t        t        t        ddf«      } | j                  d«      t
        j                  t	        dt        z  t        z  «      t        z  z
  t	        dt        z  t        z  «      dt        z  z  z
  t	        dt        z  t        z  «      dt        z  z  z
  k(  sJ ‚y )Nr   rA   r   é   r    r   )r   r   r   r4   r   r   rB   )r=   s    r   Útest_sawtooth_waverM   \   sâ   € Ü”qœ1˜a¤˜*Ó%€AØ�:‰:�a‹=Ü
ˆ1‰Œs�1”Q‘3‹x‰œ#˜a¤™c›( 1™*Ñ$¤s¨1¬Q©3£x°¡zÑ1ò2ð 2ð 2ä”qœ1˜a ˜)Ó$€AØ�:‰:�a‹=Ü	�‰”�Q”r‘Tœ!‘V“œR‘Ñ¤# a¬¡d¬1¡f£+¨q´©tÑ"4Ñ4´s¸1¼R¹4Ä¹6³{ÀAÄbÁDÑ7IÑIòJð Jñ Jr   c                  ót  ‡— t        «       \  Š} }| j                  d«      j                  t        dz  «      }|j	                  «       dt        t        «      z  t        dt        z  «      z
  dt        dz  z  dz  z   k(  sJ ‚|j                  t         dz  «      j	                  «       dt        t        «      z  dt        dt        z  «      z  dz  z   dt        dt        z  «      z  dz  z   k(  sJ ‚‰j                  d«      }|j	                  «       dt        t        «      z  dt        dt        z  «      z  z
  dt        dt        z  «      z  z   k(  sJ ‚| j                  d«      j                  d«      }|j	                  «       dt        dt        z  dz   «      z  t        dt        z  dz   «      z   t        dz  dz  z   k(  sJ ‚| j                  d«      j                  t         «      j                  d«      j                  d«      j                  d«      }|j	                  «       d	t        dt        z  dz   «      z  dt        d
t        z  d
z   «      z  z   dt        z  z
  dt        dz  z  dz  z   k(  sJ ‚t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       y )NrF   r   rA   r    rG   rL   r   r!   iðÿÿÿé   c                  ó.   •— ‰ j                  t        «      S r%   )Úshiftr   ©r   s   €r   r/   z0test_FourierSeries__operations.<locals>.<lambda>x   s   ø€ ˜rŸx™x¬›{€ r   c                  ó@   •— ‰ j                  t        t        «      «      S r%   )Úshiftxr   r   rR   s   €r   r/   z0test_FourierSeries__operations.<locals>.<lambda>y   s   ø€ ˜rŸy™y¬¬Q«Ó0€ r   c                  ó<   •— ‰ j                  t        t        z  «      S r%   )Úscaler   r3   rR   s   €r   r/   z0test_FourierSeries__operations.<locals>.<lambda>z   s   ø€ ˜rŸx™x¬¬!©›}€ r   c                  ó4   •— ‰ j                  t        dz  «      S )Nr   )Úscalexr   rR   s   €r   r/   z0test_FourierSeries__operations.<locals>.<lambda>{   s   ø€ ˜rŸy™y¬¨A©›€ r   )r   rV   rQ   r   r4   r   r   r   rX   rT   r   r;   )r   r   ÚfesÚfosÚfxÚflr   s         @r   Útest_FourierSeries__operationsr]   e   s7  ø€ Ü“�J€BˆˆBà
�(‰(�2‹,×
Ñ
œR ™UÓ
#€CØ�<‰<‹>˜Qœs¤1›v™X¬¨A¬a©C«Ñ0°1´R¸±U±7¸Q±;Ñ>Ò>Ð>Ð>à�8‰8”R�C˜‘E‹?×#Ñ#Ó%¨!¬C´«F©(°a¼¸A¼a¹C»±jÀ1±nÑ*EØ+,¬S°´1±«X©:¸©>ñ+;ò <ð <ð <ð �(‰(�1‹+€CØ�<‰<‹>˜Qœs¤1›v™X¨¬#¨a´©c«(©
Ñ2°Q´s¸1¼Q¹3³x±ZÑ?Ò?Ð?Ð?à	�‰�1‹×	Ñ	˜QÓ	€BØ�;‰;‹=˜Bœs 1¤Q¡3¨¡7›|™O¬c°!´A±#¸±'«lÑ:¼RÀ¹UÀQ¹YÑFÒFÐFÐFà	�‰�1‹×	Ñ	œR˜CÓ	 ×	'Ñ	'¨Ó	*×	1Ñ	1°!Ó	4×	:Ñ	:¸1Ó	=€BØ�;‰;‹=˜S¤ Q¤q¡S¨1¡W£Ñ-°´#°b¼±d¸R±i³.Ñ0@Ñ@Øœr™Tñ"Ø$%¤b¨!¡e¡G¨a¡Kñ0ò 1ð 1ð 1ô Œ:Ó*Ô+Ü
Œ:Ó0Ô1Ü
Œ:Ó,Ô-Ü
Œ:Ó.Õ/r   c                  óP  — t        «       \  } }}|  j                  «       dt        t        «      z  t        dt        z  «      z   dt        dt        z  «      z  dz  z
  k(  sJ ‚| j                  «       dt	        t        «      z  t	        dt        z  «      z
  t
        dz  dz  z
  k(  sJ ‚y )Nr@   r   r    rA   )r   r4   r   r   r   r   r   s      r   Útest_FourierSeries__negr_   ~   s‰   € Ü“�J€BˆˆBàˆC�>‰>Ó˜r¤#¤a£&™y¬3¨q´©s«8Ñ3°q¼¸Q¼q¹S»±zÀA±~ÑFÒFÐFÐFØˆC�>‰>Ó˜r¤#¤a£&™y¬3¨q´©s«8Ñ3´b¸!±e¸a±iÑ?Ò?Ð?Ñ?r   c                  ó¤  ‡— t        «       \  Š} }‰‰z   ‰j                  d«      k(  sJ ‚‰‰z
  dk(  sJ ‚|  | z
  | j                  d«      k(  sJ ‚‰| z   j                  «       dt        t        «      z  t        dt        z  «      z
  dt        t        «      z  z
  t        dt        z  «      z   t        dz  dz  z   k(  sJ ‚‰| z
  j                  «       dt        t        «      z  t        dt        z  «      z
  dt        t        «      z  z   t        dt        z  «      z
  t        dz  dz  z
  k(  sJ ‚t        ‰dz   t        «      sJ ‚t        t        ˆfd„«       y )Nr   r   r@   rA   r    r   c                  ó8   •— ‰ t        t        t        ddf«      z   S )Nr   r   r-   rR   s   €r   r/   z.test_FourierSeries__add__sub.<locals>.<lambda>“   s   ø€ ˜r¤N´1´q¸!¸Q°iÓ$@Ñ@€ r   )r   rV   r4   r   r   r   r   r5   r   r   r;   )r   r   r   s     @r   Útest_FourierSeries__add__subrb   …   s7  ø€ Ü“�J€BˆˆBà�‰7�b—h‘h˜q“kÒ!Ð!Ð!Ø�‰7�aŠ<Ðˆ<Øˆ3�‰8�r—x‘x “|Ò#Ð#Ð#à�‰G×ÑÓ 1¤S¬£V¡8¬c°!´A±#«hÑ#6¸¼3¼q»6¹Ñ#AÄCÈÌ!ÉÃHÑ#LÜ
ˆa‰%�!‰)ñ$ò ð ð à�‰G×ÑÓ 1¤S¬£V¡8¬c°!´A±#«hÑ#6¸¼3¼q»6¹Ñ#AÄCÈÌ!ÉÃHÑ#LÜ
ˆa‰%�!‰)ñ$ò ð ð ô �b˜1‘fœcÔ"Ð"Ð"ä
Œ:Ó@ÕAr   c                  ó:  — t        t        t        «      «      j                  d«      t        t        «      k(  sJ ‚t        t        t        «      t	        t
        «      z  t        t        «      z  t        t        t         f«      j                  «       t        t        «      t	        t
        «      z  t        t        «      z  k(  sJ ‚t        t        t        «      dz  «      j                  t        «      dt        dt        z  «      z  dz  dt        dt        z  «      z  dz  z   t        dt        z  «      dz  z
  t        d	d«      z   k(  sJ ‚t        t        t        «      dz  «      j                  «       dt        dt        z  «      z  dz  dt        dt        z  «      z  dz  z   t        d	d«      z   k(  sJ ‚t        t        dt        z  dz   «      t        dt        z  dz   «      z   «      j                  t        «      t        d«       t        dt        z  «      z  t        dt        z  «      t        d«      z  z   t        d«      t        dt        z  «      z  z   t        d«      t        dt        z  «      z  z   k(  sJ ‚t        t        t        «      t        t        «      t        t        «      z  z   «      j                  t        «      dt        t        «      z  k(  sJ ‚t        t        t        t        z  «      t        d
df«      j                  t        «      t        t        t        z  «      k(  sJ ‚t        t        dt        z  t        z  dz   «      t        dt        z  t        z  «      t	        t        t
        z  «      z  z
  t        d
df«      j                  t        «      t	        t        t
        z  «       t        dt        z  t        z  «      z  t        d«      t        dt        z  t        z  «      z  z
  t        d«      t        dt        z  t        z  «      z  z   k(  sJ ‚y )Nr   rL   iñÿÿÿr   é    r    rA   é   rG   rF   )r   r   r   r4   r
   r3   r	   Úzr   r   r   r   r   r.   r   r   Útest_FourierSeries_finiterg   –   s5  € äœ#œa›&Ó!×*Ñ*¨1Ó-´´Q³Ò7Ð7Ð7ô œ#œa›&¤¤Q£™-¬¬A«Ñ.´´"´b°S¨zÓ:×CÑCÓEÌÌQËÔPSÔTUÓPVÉÔWZÔ[\ÓW]ÑI]Ò]Ð]Ð]Üœ#œa›& !™)Ó$×-Ñ-¬bÓ1°S¼¸Q¼q¹S»±\À"±_ÀqÌÈQÌqÉSËÁzÐRTÁ}Ñ5TÔWZÐ[\Ô]^Ñ[^ÓW_Ð`bÑWbÑ5bÜ�a˜‹_ñ6ò ð ð äœ#œa›& A™+Ó&×/Ñ/Ó1°S¼3¸qÄ1¹u»:Ñ5EÈÑ5JÈQÔQTÐUVÔYZÑUZÓQ[É^Ð^`ÑM`Ñ5`Ü�a˜‹_ñ6ò ð ð äœ#˜a¤™c !™e›*¤s¨1¬Q©3¨q©5£zÑ1Ó2×;Ñ;¼BÓ?ÄSÈÃVÀGÌCÐPQÔRSÑPSËHÑDTÔWZÐ[\Ô]^Ñ[^ÓW_Ô`cÐdeÓ`fÑWfÑDfÜ�‹V”C˜œ!™“H‰_ñEÜ" 1›v¤c¨!¬A©#£h™ñE/ò /ð /ð /äœ#œa›&¤¤Q£¬¬A«¡Ñ.Ó/×8Ñ8¼Ó<ÀÄ#ÄaÃ&ÁÒHÐHÐHÜœ#œb¤™d›)¤a¨¨Q ZÓ0×9Ñ9¼"Ó=ÄÄRÌÁTÃÒJÐJÐJÜœ#˜a¤™d¤1™f q™j›/¬C°´"±´Q±«K¼¼B¼q¹D»	Ñ,AÑAÄAÀrÈ1À:ÓN×WÑWÔXZÓ[Ô`cÔdfÔghÑdhÓ`iÐ_iÔjmÐnoÔprÑnrÔstÑntÓjuÑ_uÜ�‹V”C˜œ"™œQ™“KÑñ` Ü"% a£&¬¨Q¬r©T´!©V«Ñ"4ñ`5ò 5ð 5ñ 5r   N)'Úsympy.core.addr   Úsympy.core.numbersr   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   Ú&sympy.functions.elementary.exponentialr	   r
   Ú$sympy.functions.elementary.piecewiser   Ú(sympy.functions.elementary.trigonometricr   r   r   r   Úsympy.series.fourierr   r   Úsympy.testing.pytestr   Ú	functoolsr   r   r3   rf   r   r>   rD   rJ   rM   r]   r_   rb   rg   r.   r   r   ú<module>rr      s~   ðÝ ß 1Ñ 1Ý "Ý %ß =Ý :ß JÓ JÝ /Ý .Ý 'Ý á
�'Ó
�€€1€añ ƒñó ðò,=ò^>ò5òJò0ò2@òBó"5r   