+
    i                        ^ RI Ht ^ RIHtHtHt ^ RIHt ^ RIH	t	 ^ RI
HtHt ^ RIHt ^ RIHtHtHtHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ]	! R4      w  ttt]! 4       R 4       tR tR t R t!R t"R t#R t$R t%R t&R# )    )Add)Rationaloopi)S)symbols)explog)	Piecewise)cossinsinctan)fourier_series)FourierSeries)raises)	lru_cachezx y zc                      \        \        \        \        ) \        34      p \        \        ^,          \        ) \        34      p\        \        ^ \        ^ 8  3\        R34      \        \        ) \        34      pWV3# )   T)r   xr   r   fofefps      ]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/series/tests/test_fourier.py_get_examplesr      s]    	AsB<	(B	1sBi	(B		1a!e*r4j9AsB<	HB2:    c                  v   \        4       w  rp\        ^\        ) \        34      ^8X  g   Q h\        ^ \        ^ 8  3\        R34      P                  \        \        ) \        34      P                  4       VP                  4       8X  g   Q h\        V \        4      '       g   Q hV P                  \        8X  g   Q hV P                  \        8X  g   Q hV P                  \        ) \        38X  g   Q hV P                  ^4      ^\        ^\        ,          4      ,          ^,          8X  g   Q hVP                  ^4      R\        ^\        ,          4      ,          ^	,          8X  g   Q hVP                  ^4      ^\        ^\        ,          4      ,          ^,          8X  g   Q hV P                  \        4      ^\        \        4      ,          8X  g   Q hVP                  \        4      \        ^,          ^,          8X  g   Q hVP                  \        4      \        ^,          8X  g   Q hV P                  4       ^\        \        4      ,          \        ^\        ,          4      ,
          ^\        ^\        ,          4      ,          ^,          ,           8X  g   Q hVP                  4       R\        \        4      ,          \        ^\        ,          4      ,           \        ^,          ^,          ,           8X  g   Q hVP                  4       ^\        \        4      ,          ^\        ^\        ,          4      ,          ^,          ,           \        ^,          ,           8X  g   Q hV P                  RR7      p^ ^\        \        4      ,          \        ^\        ,          4      ) .p\        V4       F  w  rVV^8X  d    MWE,          V8X  d   K  Q h	  R pV! V ^4       V! V^4       V! V^4       V P                  \        \        ^,          4      V 8X  g   Q h\!        \"        R 4       \!        \"        R 4       \!        \"        R 4       R# )	   TN)nc                 ^    \        V 4       F  w  r#W0V,          8X  g   Q hW!8X  g   K   R # 	  R # N)	enumerate)fiindts   &&  r   _check_iter'test_FourierSeries.<locals>._check_iter6   s(    lFC#;;x #r   c                  "    \        \        R4      # )r   )r   r   r   r   r    r   r   <lambda>$test_FourierSeries.<locals>.<lambda>B   s    ~a;r   c                  8    \        \        \        ^ \        34      # r   )r   r   r   r,   r   r   r-   r.   C   s    ~a!Q<r   c                  D    \        \        \        ,          ^ \        34      # r0   )r   r   yr   r,   r   r   r-   r.   D   s    ~acAr7;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   JBB!rc2Y'1,,,q!a%j2t*-NAsB<(F F Fb-((((;;!4419999"b	!!!771:3qs8a'''771:C!Hq(((771:3qs8a'''a Ac!fH,,,a BEAI---a BF***;;=Ac!fHs1Q3x/1S1X:>BBBB;;=Bs1vIAaC02q519<<<<;;=Ac!fH#ac(
Q7"q&@@@@
+++
C	
Ac!fHs1Q3xi A#6tqyy 
 AAA771adr!!!
:;<
:<=
:;<r   c                  6   \        ^ \        ^ 8  3\        R34      p \        V \        R^34      pVP                  ^4      ^\	        ^\
        ,          \        ,          ^,          4      ,          ^\
        ,          ,          ^\        ^\
        ,          \        ,          ^,          4      ,          ^	\
        ^,          ,          ,          ,
          8X  g   Q hVP                  4       ^\	        \
        \        ,          ^,          4      ,          \
        ,          \	        \
        \        ,          4      \
        ,          ,
          ^\        \
        \        ,          ^,          4      ,          \
        ^,          ,          ,
          \        P                  ,           8X  g   Q hR# )r   TN)
r   r   r   r8   r   r   r   r4   r   Half)pr$   s     r   test_FourierSeries_2rC   G   s    1a!e*q$i(Aq1b!*%A66!93qtAvz?*ad33qtAvz?*aAg67 8 8 8::<Ac"Q$(mOb03r!t9r>Ac"Q$(mOb!e3467ff= > > >r   c                    \        ^\        \        8  3R4      p \        V \        ^ ^\        ,          34      pVP	                  ^4      ^\        ,          \        \        4      ,          ^^\        ,          ,          \        ^\        ,          4      ,          ,           ^^\        ,          ,          \        ^\        ,          4      ,          ,           8X  g   Q hVP                  ^4      ^\        ,          \        \        4      ,          \        \        ^,          4      ,          ^^\        ,          ,          \        ^\        ,          4      ,          \        ^\        ,          ^,          4      ,          ,           8X  g   Q hR# )zETest if fourier_series approximates discontinuous function correctly.N)T)r   r   r   r   r4   r   sigma_approximationr   )square_waver=   s     r   test_square_waverH   Q   s    QBK4K{Q1R4L1A::a=AFSVOa1r6lSQZ.GG	QVs1q5z!" " " "  #q2vAb1f'E	QVs1q5z!DR!$44(5 5 5 5r   c                     \        \        \        ^ \        34      p V P                  ^4      \        ^,          \	        ^\        ,          4      ,
          \	        ^\        ,          4      ^,          ,
          \	        ^\        ,          4      ^,          ,
          8X  g   Q h\        \        \        ^ ^34      p V P                  ^4      \
        P                  \	        ^\        ,          \        ,          4      \        ,          ,
          \	        ^\        ,          \        ,          4      ^\        ,          ,          ,
          \	        ^\        ,          \        ,          4      ^\        ,          ,          ,
          8X  g   Q hR# )r   N)r   r   r   r4   r   r   rA   )r=   s    r   test_sawtooth_waverJ   \   s    q1a*%A::a=
1s1Q3x#ac(1*$s1Q3xz12 2 2q1a)$A::a=	QrT!VR#ad1f+qt"44s1R46{AbD7IIJ J Jr   c                    a \        4       w  orV P                  R4      P                  \        ^,          4      pVP	                  4       ^\        \        4      ,          \        ^\        ,          4      ,
          ^\        ^,          ,          ^,          ,           8X  g   Q hVP                  \        ) ^,          4      P	                  4       ^\        \        4      ,          ^\        ^\        ,          4      ,          ^,          ,           ^\        ^\        ,          4      ,          ^,          ,           8X  g   Q hSP                  ^4      pVP	                  4       ^\        \        4      ,          ^\        ^\        ,          4      ,          ,
          ^\        ^\        ,          4      ,          ,           8X  g   Q hV P                  ^4      P                  ^4      pVP	                  4       R\        ^\        ,          ^,           4      ,          \        ^\        ,          ^,           4      ,           \        ^,          ^,          ,           8X  g   Q hV P                  ^4      P                  \        ) 4      P                  ^4      P                  ^4      P                  ^4      pVP	                  4       R\        ^\        ,          ^,           4      ,          ^\        ^\        ,          ^,           4      ,          ,           ^\        ,          ,
          ^\        ^,          ,          ^,          ,           8X  g   Q h\        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       R# )	r   c                  .   < S P                  \        4      # r"   )shiftr   r   s   r   r-   0test_FourierSeries__operations.<locals>.<lambda>x   s    rxx{r   c                  @   < S P                  \        \        4      4      # r"   )shiftxr   r   rN   s   r   r-   rO   y   s    ryyQ0r   c                  D   < S P                  \        \        ,          4      # r"   )scaler   r2   rN   s   r   r-   rO   z   s    rxx!}r   c                  <   < S P                  \        ^,          4      # )r   )scalexr   rN   s   r   r-   rO   {   s    ryyAr   NrE   r3   i)r   rS   rM   r   r4   r   r   r   rU   rQ   r   r;   )r   r   fesfosfxflr   s         @r   test_FourierSeries__operationsrZ   e   s5   JB
((2,

RU
#C<<>Qs1vXAaC01RU7Q;>>>>88RCE?##%!CF(aAaCj1n*E+,S1X:>+; < < < ((1+C<<>Qs1vX#ac(
2Qs1Q3xZ????	1		Q	B;;=Bs1Q37|Oc!A#'l:RUQYFFFF	1		RC	 	'	'	*	1	1!	4	:	:1	=B;;=SQqS1W-#bdRi.0@@rT"$%b!eGaK0 1 1 1 :*+
:01
:,-
:./r   c                     \        4       w  rpV ) P                  4       R\        \        4      ,          \        ^\        ,          4      ,           ^\        ^\        ,          4      ,          ^,          ,
          8X  g   Q hV) P                  4       ^\	        \        4      ,          \	        ^\        ,          4      ,
          \
        ^,          ^,          ,
          8X  g   Q hR# )r   Nr@   )r   r4   r   r   r   r   r   s      r   test_FourierSeries__negr\   ~   s    JBBC>>r#a&y3qs83qQqSzA~FFFFC>>r#a&y3qs83b!eai????r   c                    a \        4       w  orSS,           SP                  ^4      8X  g   Q hSS,
          ^ 8X  g   Q hV ) V ,
          V P                  R4      8X  g   Q hSV ,           P                  4       ^\        \        4      ,          \        ^\        ,          4      ,
          ^\        \        4      ,          ,
          \        ^\        ,          4      ,           \        ^,          ^,          ,           8X  g   Q hSV ,
          P                  4       ^\        \        4      ,          \        ^\        ,          4      ,
          ^\        \        4      ,          ,           \        ^\        ,          4      ,
          \        ^,          ^,          ,
          8X  g   Q h\        S^,           \        4      '       g   Q h\        \        V3R l4       R# )r   c                  @   < S \        \        \        ^ ^34      ,           # r0   r+   rN   s   r   r-   .test_FourierSeries__add__sub.<locals>.<lambda>   s    rN1q!Qi$@@r   Nr@   )r   rS   r4   r   r   r   r   r5   r   r   r;   )r   r   r   s     @r   test_FourierSeries__add__subr`      s8   JB7bhhqk!!!7a<<38rxx|###G1SV8c!A#h#63q6#AC!H#L
a%!)$   G1SV8c!A#h#63q6#AC!H#L
a%!)$    b1fc""""
:@Ar   c                  l
   \        \        \        4      4      P                  ^4      \        \        4      8X  g   Q h\        \        \        4      \	        \
        4      ,          \        \        4      ,          \        \        \        ) 34      P                  4       \        \        4      \	        \
        4      ,          \        \        4      ,          8X  g   Q h\        \        \        4      ^,          4      P                  \        4      R\        ^\        ,          4      ,          ^ ,          ^\        ^\        ,          4      ,          ^,          ,           \        ^\        ,          4      ^ ,          ,
          \        ^^4      ,           8X  g   Q h\        \        \        4      ^,          4      P                  4       R\        ^\        ,          4      ,          ^ ,          ^\        ^\        ,          4      ,          ^,          ,           \        ^^4      ,           8X  g   Q h\        \        ^\        ,          ^,           4      \        ^\        ,          ^,           4      ,           4      P                  \        4      \        ^4      ) \        ^\        ,          4      ,          \        ^\        ,          4      \        ^4      ,          ,           \        ^4      \        ^\        ,          4      ,          ,           \        ^4      \        ^\        ,          4      ,          ,           8X  g   Q h\        \        \        4      \        \        4      \        \        4      ,          ,           4      P                  \        4      ^\        \        4      ,          8X  g   Q h\        \        \        \        ,          4      \        R^34      P                  \        4      \        \        \        ,          4      8X  g   Q h\        \        ^\        ,          \        ,          ^,           4      \        ^\        ,          \        ,          4      \	        \        \
        ,          4      ,          ,
          \        R^34      P                  \        4      \	        \        \
        ,          4      ) \        ^\        ,          \        ,          4      ,          \        ^4      \        ^\        ,          \        ,          4      ,          ,
          \        ^4      \        ^\        ,          \        ,          4      ,          ,           8X  g   Q hR# )r   NirE   )r   r   r   r4   r
   r2   r	   zr   r   r   r   r   r,   r   r   test_FourierSeries_finiterc      s5   #a&!**1-Q777 #a&Q-A."bSz:CCEQPSTUPVWZ[\W]I]]]]#a&!)$--b1SQqS\"_qQqSzRT}5TWZ[\]^[^W_`bWb5ba_6   #a&A+&//1S3q1u:5E5JQQTUVYZUZQ[^^`M`5`a_6   #ac!e*s1Q3q5z12;;B?SVGCPQRSPSHDTWZ[\]^[^W_`cde`fWfDfVC!H_E"1vc!A#hE/ / / /#a&QA./88<#a&HHH#bd)aQZ099"=RTJJJ#ad1fqj/C"QKBqD	,AAAr1:NWWXZ[`cdfghdh`i_ijmnoprnrstntju_uVC"QK` "%a&QrT!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   r2   rb   r   r>   rC   rH   rJ   rZ   r\   r`   rc   r,   r   r   <module>rn      s~     1 1 " % = : J J / . ' 
'
1a  ,=^>5J02@B"5r   