Ë
    âQ(h¥_  ã                   ó,  — d dl mZmZ d dlZd dlZd dlmZmZ d dl	Z	d dl	m
Z d dlmZmZmZmZmZmZmZmZ  ej*                   e ee«      d«      «      Z ed«      D � cg c]
  } ed| z     ‘Œ c} Z ed«      D � cg c]
  } ed	| z     ‘Œ c} Z ej*                   e ee«      d
«      «      Z ej*                   e ee«      d«      «      Zed   Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d‘d„Z$d‘d„Z%d‘d„Z&d‘d„Z' G d„ d«      Z( G d„ d«      Z) G d„ de)«      Z* G d„ de)«      Z+ G d„ d e)«      Z, G d!„ d"e)«      Z- G d#„ d$e*«      Z. G d%„ d&e*«      Z/ G d'„ d(e*«      Z0 G d)„ d*e+«      Z1 G d+„ d,e+«      Z2 G d-„ d.e+«      Z3 G d/„ d0e,«      Z4 G d1„ d2e,«      Z5 G d3„ d4e,«      Z6 G d5„ d6e-«      Z7 G d7„ d8e-«      Z8 G d9„ d:e-«      Z9 G d;„ d<«      Z: G d=„ d>e:«      Z; G d?„ d@e:«      Z< G dA„ dBe:«      Z= G dC„ dDe:«      Z> G dE„ dFe:«      Z? G dG„ dHe:«      Z@ G dI„ dJe:«      ZA G dK„ dLe:«      ZB G dM„ dNe:«      ZC G dO„ dPe:«      ZD G dQ„ dRe:«      ZE G dS„ dTe:«      ZF G dU„ dV«      ZG G dW„ dXeG«      ZH G dY„ dZeG«      ZI G d[„ d\eH«      ZJ G d]„ d^eH«      ZK G d_„ d`eH«      ZL G da„ dbeG«      ZM G dc„ ddeG«      ZN G de„ dfeG«      ZO G dg„ dheG«      ZP G di„ djeG«      ZQ G dk„ dleG«      ZR G dm„ dneI«      ZS G do„ dpeI«      ZT G dq„ dreI«      ZU G ds„ dt«      ZV G du„ dveV«      ZW G dw„ dxeV«      ZX G dy„ dzeV«      ZY G d{„ d|eV«      ZZ G d}„ d~eV«      Z[ G d„ d€eV«      Z\ G d�„ d‚eV«      Z] G dƒ„ d„eV«      Z^ G d…„ d†eV«      Z_ G d‡„ dˆeV«      Z` G d‰„ dŠeV«      Za G d‹„ dŒeV«      Zb G d�„ dŽ«      Zc G d�„ d�«      Zdyc c} w c c} w )’é    )ÚjoinÚdirnameN)Úassert_array_almost_equalÚassert_equal)Úraises)ÚdctÚidctÚdstÚidstÚdctnÚidctnÚdstnÚidstnztest.npzé   zx%dzy%dzfftw_double_ref.npzzfftw_single_ref.npzÚsizesc                 óT  — t        j                  d|dz
  |«      j                  |«      }t        j                  t         j                  |«      }|t         j
                  k(  rt        }n$|t         j                  k(  rt        }n
t        «       ‚|d| |fz     j                  |«      }|||fS )Nr   é   z	dct_%d_%d©	ÚnpÚlinspaceÚastypeÚresult_typeÚfloat32Úfloat64ÚFFTWDATA_DOUBLEÚFFTWDATA_SINGLEÚ
ValueError©ÚtypeÚsizeÚdtÚxÚdataÚys         úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/fftpack/tests/test_real_transforms.pyÚfftw_dct_refr&      óŠ   € Ü
�‰�A�t˜A‘v˜tÓ$×+Ñ+¨BÓ/€AÜ	�‰œŸ
™
 BÓ	'€BØ	ŒR�Z‰ZÒÜ‰Ø	Œr�z‰zÒ	Ü‰ä‹lÐØ	ˆk˜T 4˜LÑ(Ñ	)×1Ñ1°"Ó5€AØˆa�ˆ8€Oó    c                 óT  — t        j                  d|dz
  |«      j                  |«      }t        j                  t         j                  |«      }|t         j
                  k(  rt        }n$|t         j                  k(  rt        }n
t        «       ‚|d| |fz     j                  |«      }|||fS )Nr   r   z	dst_%d_%dr   r   s         r%   Úfftw_dst_refr*   (   r'   r(   c                 ó  — t        j                  | d¬«      } t        | j                  d   «      D ]  }t	        | |dd…f   fi |¤Ž| |dd…f<   Œ t        | j                  d   «      D ]  }t	        | dd…|f   fi |¤Ž| dd…|f<   Œ | S )z,Calculate reference values for testing dct2.T©Úcopyr   Nr   )r   ÚarrayÚrangeÚshaper   ©r"   ÚkwargsÚrowÚcols       r%   Ú
dct_2d_refr5   5   ó�   € ä
�‰�˜Ô€AÜ�Q—W‘W˜Q‘ZÓ ò -ˆÜ˜˜#šq˜&™	Ñ, VÑ,ˆˆ#Šqˆ&Š	ð-ä�Q—W‘W˜Q‘ZÓ ò -ˆÜ˜š!˜S˜&™	Ñ, VÑ,ˆŠ!ˆSˆ&Š	ð-à€Hr(   c                 ó  — t        j                  | d¬«      } t        | j                  d   «      D ]  }t	        | |dd…f   fi |¤Ž| |dd…f<   Œ t        | j                  d   «      D ]  }t	        | dd…|f   fi |¤Ž| dd…|f<   Œ | S )z-Calculate reference values for testing idct2.Tr,   r   Nr   )r   r.   r/   r0   r	   r1   s       r%   Úidct_2d_refr8   ?   ó�   € ä
�‰�˜Ô€AÜ�Q—W‘W˜Q‘ZÓ ò .ˆÜ˜˜3¢˜6™Ñ- fÑ-ˆˆ#Šqˆ&Š	ð.ä�Q—W‘W˜Q‘ZÓ ò .ˆÜ˜š1˜c˜6™Ñ- fÑ-ˆŠ!ˆSˆ&Š	ð.à€Hr(   c                 ó  — t        j                  | d¬«      } t        | j                  d   «      D ]  }t	        | |dd…f   fi |¤Ž| |dd…f<   Œ t        | j                  d   «      D ]  }t	        | dd…|f   fi |¤Ž| dd…|f<   Œ | S )z,Calculate reference values for testing dst2.Tr,   r   Nr   )r   r.   r/   r0   r
   r1   s       r%   Ú
dst_2d_refr;   I   r6   r(   c                 ó  — t        j                  | d¬«      } t        | j                  d   «      D ]  }t	        | |dd…f   fi |¤Ž| |dd…f<   Œ t        | j                  d   «      D ]  }t	        | dd…|f   fi |¤Ž| dd…|f<   Œ | S )z-Calculate reference values for testing idst2.Tr,   r   Nr   )r   r.   r/   r0   r   r1   s       r%   Úidst_2d_refr=   S   r9   r(   c           
      óÂ  — t        j                  | d¬«      } t        | «      }|dz
  }t        j                  |«      }d\  }}|dk(  r0t        j                  d|z  «      }t        j                  d|z  «      }t        |«      D ]Œ  }t        d|dz
  «      D ]B  }||xx   || |   z  t        j                  t         j                  |z  |z  |z  «      z  z  cc<   ŒD ||xx   || d   z  z  cc<   ||xx   || |dz
     z  |d	z  dk(  rdnd
z  z  cc<   ŒŽ |dk(  rI|dxx   dt        j                  d	«      z  z  cc<   ||dz
  xx   dt        j                  d	«      z  z  cc<   |S )z/Calculate textbook definition version of DCT-I.Tr,   r   )r   é   Úorthoç      ð?ç       @r   r?   éÿÿÿÿ)r   r.   ÚlenÚzerosÚsqrtr/   ÚcosÚpi)	r"   ÚnormÚNÚMr$   Úm0ÚmÚkÚns	            r%   Ú
naive_dct1rP   ]   sJ  € ä
�‰�˜Ô€AÜˆA‹€AØ	ˆ!‰€AÜ
�‰�‹€AØ�E€BˆØˆw‚Ü�W‰W�S˜‘U‹^ˆÜ�G‰G�C˜‘E‹NˆÜ�1‹Xò 8ˆÜ�q˜!˜A™#“ò 	/ˆAØˆa‹D�A�a˜‘d‘Fœ2Ÿ6™6¤"§%¡%¨¡'¨!¡)¨A¡+Ó.Ñ.Ñ.ŒDð	/à	ˆ!‹��Q�q‘T‘	Ñ‹Ø	ˆ!‹��Q�q˜‘s‘V‘ A¨¡E¨Q¢J™q°BÑ7Ñ7Œð	8ð
 ˆw‚Ø	ˆ!‹�”"—'‘'˜!“*‘Ñ‹Ø	ˆ!ˆA‰#‹�!”B—G‘G˜A“J‘,Ñ‹Ø€Hr(   c                 óŠ  — t        j                  | d¬«      } t        | «      }|dz   }t        j                  |«      }t	        |«      D ]X  }t	        |«      D ]H  }||xx   d| |   z  t        j
                  t         j                  |dz   z  |dz   z  |z  «      z  z  cc<   ŒJ ŒZ |dk(  r|t        j                  d|z  «      z  }|S )z0Calculate textbook definition version  of DST-I.Tr,   r   r?   rA   r@   ç      à?©r   r.   rD   rE   r/   ÚsinrH   rF   )r"   rI   rJ   rK   r$   rN   rO   s          r%   Ú
naive_dst1rU   r   s¹   € ä
�‰�˜Ô€AÜˆA‹€AØ	ˆ!‰€AÜ
�‰�‹€AÜ�1‹Xò ;ˆÜ�q“ò 	;ˆAØˆa‹D�A�a˜‘d‘Fœ2Ÿ6™6¤"§%¡%¨¨3©¡-°°3±Ñ"7¸Ñ"9Ó:Ñ:Ñ:ŒDñ	;ð;ð ˆw‚Ø	ŒR�W‰W�S˜‘U‹^ÑˆØ€Hr(   c                 óˆ  — t        j                  | d¬«      } t        | «      }t        j                  |«      }t	        |«      D ]U  }t	        |«      D ]E  }||xx   | |   t        j
                  t         j                  |dz   z  |dz   z  |z  «      z  z  cc<   ŒG ŒW |dk(  r|t        j                  d|z  «      z  }|S |dz  }|S )z0Calculate textbook definition version of DCT-IV.Tr,   rR   r@   rB   r?   )r   r.   rD   rE   r/   rG   rH   rF   ©r"   rI   rJ   r$   rN   rO   s         r%   Ú
naive_dct4rX   €   ó¾   € ä
�‰�˜Ô€AÜˆA‹€AÜ
�‰�‹€AÜ�1‹Xò ;ˆÜ�q“ò 	;ˆAØˆa‹D�A�a‘DœŸ™¤§¡ q¨¡u¡¨q°©uÑ 5°qÑ 9Ó:Ñ:Ñ:ŒDñ	;ð;ð ˆw‚Ø	ŒR�W‰W�S˜‘U‹^Ñˆð €Hð 	
ˆQ‰ˆØ€Hr(   c                 óˆ  — t        j                  | d¬«      } t        | «      }t        j                  |«      }t	        |«      D ]U  }t	        |«      D ]E  }||xx   | |   t        j
                  t         j                  |dz   z  |dz   z  |z  «      z  z  cc<   ŒG ŒW |dk(  r|t        j                  d|z  «      z  }|S |dz  }|S )z0Calculate textbook definition version of DST-IV.Tr,   rR   r@   rB   r?   rS   rW   s         r%   Ú
naive_dst4r[   �   rY   r(   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestComplexc                 óÀ   — t        dt        j                  dt        j                  ¬«      z  «      }dt        t        j                  d«      «      z  }t	        ||«       y )Nù              ð?é   ©Údtype)r   r   ÚarangeÚ	complex64r   ©Úselfr$   r"   s      r%   Útest_dct_complex64zTestComplex.test_dct_complex64Ÿ   sA   € Ü�”2—9‘9˜Q¤b§l¡lÔ3Ñ3Ó4ˆØŒs”2—9‘9˜Q“<Ó Ñ ˆÜ! ! QÕ'r(   c                 ó    — t        t        j                  d«      dz  «      }dt        t        j                  d«      «      z  }t        ||«       y ©Nr`   r_   )r   r   rc   r   re   s      r%   Útest_dct_complexzTestComplex.test_dct_complex¤   ó9   € Ü”—	‘	˜!“˜R‘Ó ˆØŒs”2—9‘9˜Q“<Ó Ñ ˆÜ! ! QÕ'r(   c                 ó    — t        t        j                  d«      dz  «      }dt        t        j                  d«      «      z  }t        ||«       y ri   )r	   r   rc   r   re   s      r%   Útest_idct_complexzTestComplex.test_idct_complex©   ó9   € Ü”—‘˜1“˜b‘Ó!ˆØŒt”B—I‘I˜a“LÓ!Ñ!ˆÜ! ! QÕ'r(   c                 óÀ   — t        t        j                  dt        j                  ¬«      dz  «      }dt        t        j                  d«      «      z  }t	        ||«       y )Nr`   ra   r_   )r
   r   rc   rd   r   re   s      r%   Útest_dst_complex64zTestComplex.test_dst_complex64®   sA   € Ü”—	‘	˜!¤2§<¡<Ô0°Ñ3Ó4ˆØŒs”2—9‘9˜Q“<Ó Ñ ˆÜ! ! QÕ'r(   c                 ó    — t        t        j                  d«      dz  «      }dt        t        j                  d«      «      z  }t        ||«       y ri   )r
   r   rc   r   re   s      r%   Útest_dst_complexzTestComplex.test_dst_complex³   rk   r(   c                 ó    — t        t        j                  d«      dz  «      }dt        t        j                  d«      «      z  }t        ||«       y ri   )r   r   rc   r   re   s      r%   Útest_idst_complexzTestComplex.test_idst_complex¸   rn   r(   N)	Ú__name__Ú
__module__Ú__qualname__rg   rj   rm   rp   rr   rt   © r(   r%   r]   r]   ž   s    „ ò(ò
(ò
(ò
(ò
(ó
(r(   r]   c                   óB   — e Zd Zd„ Zej
                  d„ «       Zd„ Zd„ Zy)Ú_TestDCTBasec                 ó.   — d | _         d| _        d | _        y ©Né   ©ÚrdtÚdecr   ©rf   s    r%   Úsetup_methodz_TestDCTBase.setup_method¿   ó   € ØˆŒØˆŒØˆ�	r(   c                 ó*   — t        j                  «       S ©N©Ú	threadingÚLockr�   s    r%   Údct_lockz_TestDCTBase.dct_lockÄ   ó   € ä�~‰~ÓÐr(   c                 ó|  — t         D ]§  }|5  t        | j                  || j                  «      \  }}}d d d «       t	        | j                  ¬«      }t        |j                  «       t        |t        j                  |«      z  t        j                  |«      z  | j                  d|z  ¬«       Œ© y # 1 sw Y   Œ�xY w©N©r   úSize %d failed©ÚdecimalÚerr_msg)ÚFFTWDATA_SIZESr&   r   r   r   r   rb   r   r   Úmaxr€   )rf   r‰   Úir"   Úyrr!   r$   s          r%   Útest_definitionz_TestDCTBase.test_definitionÈ   s›   € Üò 
	2ˆAØñ AÜ(¨¯©°A°t·x±xÓ@‘	��2�r÷Aä�A˜DŸI™IÔ&ˆAÜ˜Ÿ™ "Ô%ô
 & a¬"¯&©&°«)¡m°R¼"¿&¹&À»)±^ÈTÏXÉXØ,¨qÑ0ö2ñ
	2÷Að Aúó   Œ&B2Â2B;	c           
      ó
  — d}t         j                  j                  d«      }dD ]Ý  }|j                  ||«      }t	        || j
                  ¬«      }t        |«      D ]5  }t        ||   t	        ||   | j
                  ¬«      | j                  ¬«       Œ7 |j                  }t	        |d| j
                  ¬«      }t        |«      D ]=  }t        |d d …|f   t	        |d d …|f   | j
                  ¬«      | j                  ¬«       Œ? Œß y )Nr?   éÒ  )é   r   é	   é   é    é@   r�   ©r�   r   )Úaxisr   )
r   ÚrandomÚRandomStateÚrandnr   r   r/   r   r€   ÚT)rf   ÚntÚrngr”   r"   r$   Újs          r%   Ú	test_axisz_TestDCTBase.test_axisÕ   sá   € ØˆÜ�i‰i×#Ñ# DÓ)ˆØ&ò 	*ˆAØ—	‘	˜"˜aÓ ˆAÜ�A˜DŸI™IÔ&ˆAÜ˜2“Yò *�Ü)¨!¨A©$´°A°a±D¸t¿y¹yÔ0IØ $§¡ö*ð*ð —‘ˆAÜ�A˜A D§I¡IÔ.ˆAÜ˜2“Yò *�Ü)¨!ªA¨a¨C©&´#°aº¸!¸±fÀ4Ç9Á9Ô2MØ $§¡ö*ñ*ñ	*r(   N)	ru   rv   rw   r‚   ÚpytestÚfixturer‰   r–   r¨   rx   r(   r%   rz   rz   ¾   s)   „ òð
 ‡^�^ñ ó ð ò2ó*r(   rz   c                   ó   — e Zd Zd„ Zy)Ú_TestDCTIBasec                 ó¢  — t        j                  t         j                  | j                  «      }t        D ]˜  }t        j
                  || j                  ¬«      }t        |dd¬«      }t        |d¬«      }t        |j                  |«       t        |t        j                  |«      z  |t        j                  |«      z  | j                  ¬«       Œš y ©Nra   r@   r   ©rI   r   ©rI   rŸ   )r   r   r   r   ÚXr.   r   rP   r   rb   r   r“   r€   ©rf   r!   Úxrr"   r$   Úy2s         r%   Útest_definition_orthoz#_TestDCTIBase.test_definition_orthoç   ó�   € ä�^‰^œBŸJ™J¨¯©Ó1ˆÜò 	WˆBÜ—‘˜ 4§8¡8Ô,ˆAÜ�A˜G¨!Ô,ˆAÜ˜A GÔ,ˆBÜ˜Ÿ™ "Ô%Ü% a¬"¯&©&°«)¡m°R¼"¿&¹&À»)±^ÈTÏXÉXÖVñ	Wr(   N©ru   rv   rw   rµ   rx   r(   r%   r¬   r¬   æ   ó   „ óWr(   r¬   c                   ó   — e Zd Zd„ Zy)Ú_TestDCTIIBasec                 ó>  — t        j                  t         j                  | j                  «      }t	        t
        t        «      D ]X  \  }}t        j                  ||¬«      }t        |dd¬«      }t        |j                  |«       t        ||| j                  ¬«       ŒZ y )Nra   r@   r?   r¯   rŸ   )r   r   r   r   Úzipr±   ÚYr.   r   r   rb   r   r€   )rf   r!   r³   r•   r"   r$   s         r%   Útest_definition_matlabz%_TestDCTIIBase.test_definition_matlabò   so   € ä�^‰^œBŸJ™J¨¯©Ó1ˆÜœ!œQ“iò 	?‰FˆB�Ü—‘˜ 2Ô&ˆAÜ�A˜G¨!Ô,ˆAÜ˜Ÿ™ "Ô%Ü% a¨°T·X±XÖ>ñ		?r(   N)ru   rv   rw   r¾   rx   r(   r%   rº   rº   ñ   s   „ ó?r(   rº   c                   ó   — e Zd Zd„ Zy)Ú_TestDCTIIIBasec                 óL  — t        j                  t         j                  | j                  «      }t        D ]m  }t        j
                  || j                  ¬«      }t        |dd¬«      }t        |dd¬«      }t        |j                  |«       t        ||| j                  ¬«       Œo y )Nra   r@   r?   r¯   é   rŸ   )r   r   r   r   r±   r.   r   r   rb   r   r€   )rf   r!   r³   r"   r$   Úxis         r%   rµ   z%_TestDCTIIIBase.test_definition_orthoý   sw   € ä�^‰^œBŸJ™J¨¯©Ó1ˆÜò 	?ˆBÜ—‘˜ 4§8¡8Ô,ˆAÜ�A˜G¨!Ô,ˆAÜ�Q˜W¨1Ô-ˆBÜ˜Ÿ™ 2Ô&Ü% b¨!°T·X±XÖ>ñ	?r(   Nr·   rx   r(   r%   rÀ   rÀ   ü   ó   „ ó?r(   rÀ   c                   ó   — e Zd Zd„ Zy)Ú_TestDCTIVBasec                 ó¢  — t        j                  t         j                  | j                  «      }t        D ]˜  }t        j
                  || j                  ¬«      }t        |dd¬«      }t        |d¬«      }t        |j                  |«       t        |t        j                  |«      z  |t        j                  |«      z  | j                  ¬«       Œš y ©Nra   r@   é   r¯   r°   rŸ   )r   r   r   r   r±   r.   r   rX   r   rb   r   r“   r€   r²   s         r%   rµ   z$_TestDCTIVBase.test_definition_ortho  r¶   r(   Nr·   rx   r(   r%   rÆ   rÆ     r¸   r(   rÆ   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©Né
   r   ©r   r   r   r€   r   r�   s    r%   r‚   zTestDCTIDouble.setup_method  ó   € Ü—:‘:ˆŒØˆŒØˆ�	r(   N©ru   rv   rw   r‚   rx   r(   r%   rË   rË     ó   „ ór(   rË   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©NrÉ   r   ©r   r   r   r€   r   r�   s    r%   r‚   zTestDCTIFloat.setup_method  ó   € Ü—:‘:ˆŒØˆŒØˆ�	r(   NrÑ   rx   r(   r%   rÔ   rÔ     rÒ   r(   rÔ   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIntc                 ó6   — t         | _        d| _        d| _        y ©Nr`   r   ©Úintr   r€   r   r�   s    r%   r‚   zTestDCTIInt.setup_method"  ó   € ÜˆŒØˆŒØˆ�	r(   NrÑ   rx   r(   r%   rÚ   rÚ   !  rÒ   r(   rÚ   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©NrÎ   r?   rÏ   r�   s    r%   r‚   zTestDCTIIDouble.setup_method)  rÐ   r(   NrÑ   rx   r(   r%   rá   rá   (  rÒ   r(   rá   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Nr`   r?   r×   r�   s    r%   r‚   zTestDCTIIFloat.setup_method0  rØ   r(   NrÑ   rx   r(   r%   rå   rå   /  rÒ   r(   rå   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIIntc                 ó6   — t         | _        d| _        d| _        y rç   rÝ   r�   s    r%   r‚   zTestDCTIIInt.setup_method7  rß   r(   NrÑ   rx   r(   r%   ré   ré   6  rÒ   r(   ré   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©Nr}   rÂ   rÏ   r�   s    r%   r‚   zTestDCTIIIDouble.setup_method>  rÐ   r(   NrÑ   rx   r(   r%   rì   rì   =  rÒ   r(   rì   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Nr`   rÂ   r×   r�   s    r%   r‚   zTestDCTIIIFloat.setup_methodE  rØ   r(   NrÑ   rx   r(   r%   rð   rð   D  rÒ   r(   rð   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIIIntc                 ó6   — t         | _        d| _        d| _        y rò   rÝ   r�   s    r%   r‚   zTestDCTIIIInt.setup_methodL  rß   r(   NrÑ   rx   r(   r%   rô   rô   K  rÒ   r(   rô   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIVDoublec                 óJ   — t         j                  | _        d| _        d| _        y )Né   rÂ   rÏ   r�   s    r%   r‚   zTestDCTIVDouble.setup_methodS  rÐ   r(   NrÑ   rx   r(   r%   r÷   r÷   R  rÒ   r(   r÷   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIVFloatc                 óJ   — t         j                  | _        d| _        d| _        y rò   r×   r�   s    r%   r‚   zTestDCTIVFloat.setup_methodZ  rØ   r(   NrÑ   rx   r(   r%   rû   rû   Y  rÒ   r(   rû   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIVIntc                 ó6   — t         | _        d| _        d| _        y rò   rÝ   r�   s    r%   r‚   zTestDCTIVInt.setup_methoda  rß   r(   NrÑ   rx   r(   r%   rþ   rþ   `  rÒ   r(   rþ   c                   ó<   — e Zd Zd„ Zej
                  d„ «       Zd„ Zy)Ú_TestIDCTBasec                 ó.   — d | _         d| _        d | _        y r|   r~   r�   s    r%   r‚   z_TestIDCTBase.setup_methodh  rƒ   r(   c                 ó*   — t        j                  «       S r…   r†   r�   s    r%   Ú	idct_lockz_TestIDCTBase.idct_lockm  rŠ   r(   c                 óÂ  — t         D ]Ê  }|5  t        | j                  || j                  «      \  }}}d d d «       t	        | j                  ¬«      }| j                  dk(  r|d|dz
  z  z  }n|d|z  z  }t        |j                  «       t        |t        j                  |«      z  t        j                  |«      z  | j                  d|z  ¬«       ŒÌ y # 1 sw Y   Œ¤xY w©Nr�   r   r?   rŽ   r�   )r’   r&   r   r   r	   r   rb   r   r   r“   r€   )rf   r  r”   r³   r•   r!   r"   s          r%   r–   z_TestIDCTBase.test_definitionq  óÄ   € Üò 	2ˆAØñ BÜ)¨$¯)©)°Q¸¿¹ÓA‘
��B˜÷Bä�R˜dŸi™iÔ(ˆAØ�y‰y˜AŠ~Ø�Q˜!˜A™#‘Y‘‘à�Q˜‘U‘
�Ü˜Ÿ™ "Ô%ô
 & a¬"¯&©&°«)¡m°R¼"¿&¹&À»)±^ÈTÏXÉXØ,¨qÑ0ö2ñ	2÷Bð Búó   Œ&CÃC	N)ru   rv   rw   r‚   r©   rª   r  r–   rx   r(   r%   r  r  g  ó$   „ òð
 ‡^�^ñ ó ð ó2r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rÍ   rÏ   r�   s    r%   r‚   zTestIDCTIDouble.setup_method„  rÐ   r(   NrÑ   rx   r(   r%   r  r  ƒ  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rÖ   r×   r�   s    r%   r‚   zTestIDCTIFloat.setup_method‹  rØ   r(   NrÑ   rx   r(   r%   r  r  Š  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIIntc                 ó6   — t         | _        d| _        d| _        y rÖ   rÝ   r�   s    r%   r‚   zTestIDCTIInt.setup_method’  rß   r(   NrÑ   rx   r(   r%   r  r  ‘  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rã   rÏ   r�   s    r%   r‚   zTestIDCTIIDouble.setup_method™  rÐ   r(   NrÑ   rx   r(   r%   r  r  ˜  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rç   r×   r�   s    r%   r‚   zTestIDCTIIFloat.setup_method   rØ   r(   NrÑ   rx   r(   r%   r  r  Ÿ  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIIIntc                 ó6   — t         | _        d| _        d| _        y rç   rÝ   r�   s    r%   r‚   zTestIDCTIIInt.setup_method§  rß   r(   NrÑ   rx   r(   r%   r  r  ¦  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rî   rÏ   r�   s    r%   r‚   zTestIDCTIIIDouble.setup_method®  rÐ   r(   NrÑ   rx   r(   r%   r  r  ­  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rò   r×   r�   s    r%   r‚   zTestIDCTIIIFloat.setup_methodµ  rØ   r(   NrÑ   rx   r(   r%   r   r   ´  rÒ   r(   r   c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIIIIntc                 ó6   — t         | _        d| _        d| _        y rò   rÝ   r�   s    r%   r‚   zTestIDCTIIIInt.setup_method¼  rß   r(   NrÑ   rx   r(   r%   r#  r#  »  rÒ   r(   r#  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIVDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©Nrù   rÉ   rÏ   r�   s    r%   r‚   zTestIDCTIVDouble.setup_methodÂ  rÐ   r(   NrÑ   rx   r(   r%   r&  r&  Á  rÒ   r(   r&  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIVFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Nr`   rÉ   r×   r�   s    r%   r‚   zTestIDCTIVFloat.setup_methodÉ  rØ   r(   NrÑ   rx   r(   r%   r*  r*  È  rÒ   r(   r*  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIVIntc                 ó6   — t         | _        d| _        d| _        y r,  rÝ   r�   s    r%   r‚   zTestIDCTIVInt.setup_methodÐ  rß   r(   NrÑ   rx   r(   r%   r.  r.  Ï  rÒ   r(   r.  c                   ó<   — e Zd Zd„ Zej
                  d„ «       Zd„ Zy)Ú_TestDSTBasec                 ó.   — d | _         d | _        d | _        y r…   r~   r�   s    r%   r‚   z_TestDSTBase.setup_methodÖ  ó   € ØˆŒØˆŒØˆ�	r(   c                 ó*   — t        j                  «       S r…   r†   r�   s    r%   Údst_lockz_TestDSTBase.dst_lockÛ  rŠ   r(   c                 ó|  — t         D ]§  }|5  t        | j                  || j                  «      \  }}}d d d «       t	        | j                  ¬«      }t        |j                  «       t        |t        j                  |«      z  t        j                  |«      z  | j                  d|z  ¬«       Œ© y # 1 sw Y   Œ�xY wrŒ   )r’   r*   r   r   r
   r   rb   r   r   r“   r€   )rf   r5  r”   r³   r•   r!   r$   s          r%   r–   z_TestDSTBase.test_definitionß  s›   € Üò 
	2ˆAØñ BÜ)¨$¯)©)°Q¸¿¹ÓA‘
��B˜÷Bä�B˜TŸY™YÔ'ˆAÜ˜Ÿ™ "Ô%ô
 & a¬"¯&©&°«)¡m°R¼"¿&¹&À»)±^ÈTÏXÉXØ,¨qÑ0ö2ñ
	2÷Bð Búr—   N)ru   rv   rw   r‚   r©   rª   r5  r–   rx   r(   r%   r1  r1  Õ  s$   „ òð
 ‡^�^ñ ó ð ó2r(   r1  c                   ó   — e Zd Zd„ Zy)Ú_TestDSTIBasec                 ó¢  — t        j                  t         j                  | j                  «      }t        D ]˜  }t        j
                  || j                  ¬«      }t        |dd¬«      }t        |d¬«      }t        |j                  |«       t        |t        j                  |«      z  |t        j                  |«      z  | j                  ¬«       Œš y r®   )r   r   r   r   r±   r.   r
   rU   r   rb   r   r“   r€   r²   s         r%   rµ   z#_TestDSTIBase.test_definition_orthoî  r¶   r(   Nr·   rx   r(   r%   r8  r8  í  r¸   r(   r8  c                   ó   — e Zd Zd„ Zy)Ú_TestDSTIVBasec                 óJ  — t        j                  t         j                  | j                  «      }t        D ]l  }t        j
                  || j                  ¬«      }t        |dd¬«      }t        |d¬«      }t        |j                  |«       t        ||| j                  ¬«       Œn y rÈ   )r   r   r   r   r±   r.   r
   r[   r   rb   r   r€   r²   s         r%   rµ   z$_TestDSTIVBase.test_definition_orthoù  su   € ä�^‰^œBŸJ™J¨¯©Ó1ˆÜò 	?ˆBÜ—‘˜ 4§8¡8Ô,ˆAÜ�A˜G¨!Ô,ˆAÜ˜A GÔ,ˆBÜ˜Ÿ™ "Ô%Ü% a¨°T·X±XÖ>ñ	?r(   Nr·   rx   r(   r%   r;  r;  ø  rÄ   r(   r;  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©Nrù   r   rÏ   r�   s    r%   r‚   zTestDSTIDouble.setup_method  rÐ   r(   NrÑ   rx   r(   r%   r>  r>    rÒ   r(   r>  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rÖ   r×   r�   s    r%   r‚   zTestDSTIFloat.setup_method  rØ   r(   NrÑ   rx   r(   r%   rB  rB  
  rÒ   r(   rB  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIntc                 ó6   — t         | _        d| _        d| _        y rÜ   rÝ   r�   s    r%   r‚   zTestDSTIInt.setup_method  rß   r(   NrÑ   rx   r(   r%   rE  rE    rÒ   r(   rE  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©Nr}   r?   rÏ   r�   s    r%   r‚   zTestDSTIIDouble.setup_method  rÐ   r(   NrÑ   rx   r(   r%   rH  rH    rÒ   r(   rH  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Né   r?   r×   r�   s    r%   r‚   zTestDSTIIFloat.setup_method   rØ   r(   NrÑ   rx   r(   r%   rL  rL    rÒ   r(   rL  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIIntc                 ó6   — t         | _        d| _        d| _        y rN  rÝ   r�   s    r%   r‚   zTestDSTIIInt.setup_method'  rß   r(   NrÑ   rx   r(   r%   rQ  rQ  &  rÒ   r(   rQ  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rî   rÏ   r�   s    r%   r‚   zTestDSTIIIDouble.setup_method.  rÐ   r(   NrÑ   rx   r(   r%   rT  rT  -  rÒ   r(   rT  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Nrš   rÂ   r×   r�   s    r%   r‚   zTestDSTIIIFloat.setup_method5  rØ   r(   NrÑ   rx   r(   r%   rW  rW  4  rÒ   r(   rW  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIIIntc                 ó6   — t         | _        d| _        d| _        y rY  rÝ   r�   s    r%   r‚   zTestDSTIIIInt.setup_method<  rß   r(   NrÑ   rx   r(   r%   r[  r[  ;  rÒ   r(   r[  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIVDoublec                 óJ   — t         j                  | _        d| _        d| _        y r(  rÏ   r�   s    r%   r‚   zTestDSTIVDouble.setup_methodC  rÐ   r(   NrÑ   rx   r(   r%   r^  r^  B  rÒ   r(   r^  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIVFloatc                 óJ   — t         j                  | _        d| _        d| _        y )NrÉ   r×   r�   s    r%   r‚   zTestDSTIVFloat.setup_methodJ  rØ   r(   NrÑ   rx   r(   r%   ra  ra  I  rÒ   r(   ra  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIVIntc                 ó6   — t         | _        d| _        d| _        y r,  rÝ   r�   s    r%   r‚   zTestDSTIVInt.setup_methodQ  rß   r(   NrÑ   rx   r(   r%   rd  rd  P  rÒ   r(   rd  c                   ó<   — e Zd Zd„ Zej
                  d„ «       Zd„ Zy)Ú_TestIDSTBasec                 ó.   — d | _         d | _        d | _        y r…   r~   r�   s    r%   r‚   z_TestIDSTBase.setup_methodX  r3  r(   c                 ó*   — t        j                  «       S r…   r†   r�   s    r%   Ú	idst_lockz_TestIDSTBase.idst_lock]  rŠ   r(   c                 óÂ  — t         D ]Ê  }|5  t        | j                  || j                  «      \  }}}d d d «       t	        | j                  ¬«      }| j                  dk(  r|d|dz   z  z  }n|d|z  z  }t        |j                  «       t        |t        j                  |«      z  t        j                  |«      z  | j                  d|z  ¬«       ŒÌ y # 1 sw Y   Œ¤xY wr  )r’   r*   r   r   r   r   rb   r   r   r“   r€   )rf   rj  r”   r³   r•   r!   r"   s          r%   r–   z_TestIDSTBase.test_definitiona  r  r  N)ru   rv   rw   r‚   r©   rª   rj  r–   rx   r(   r%   rg  rg  W  r	  r(   rg  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIDoublec                 óJ   — t         j                  | _        d| _        d| _        y r@  rÏ   r�   s    r%   r‚   zTestIDSTIDouble.setup_methodt  rÐ   r(   NrÑ   rx   r(   r%   rm  rm  s  rÒ   r(   rm  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rÖ   r×   r�   s    r%   r‚   zTestIDSTIFloat.setup_method{  rØ   r(   NrÑ   rx   r(   r%   rp  rp  z  rÒ   r(   rp  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIntc                 ó6   — t         | _        d| _        d| _        y rÖ   rÝ   r�   s    r%   r‚   zTestIDSTIInt.setup_method‚  rß   r(   NrÑ   rx   r(   r%   rs  rs  �  rÒ   r(   rs  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rJ  rÏ   r�   s    r%   r‚   zTestIDSTIIDouble.setup_method‰  rÐ   r(   NrÑ   rx   r(   r%   rv  rv  ˆ  rÒ   r(   rv  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rN  r×   r�   s    r%   r‚   zTestIDSTIIFloat.setup_method�  rØ   r(   NrÑ   rx   r(   r%   ry  ry  �  rÒ   r(   ry  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIIntc                 ó6   — t         | _        d| _        d| _        y rN  rÝ   r�   s    r%   r‚   zTestIDSTIIInt.setup_method—  rß   r(   NrÑ   rx   r(   r%   r|  r|  –  rÒ   r(   r|  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rî   rÏ   r�   s    r%   r‚   zTestIDSTIIIDouble.setup_methodž  rÐ   r(   NrÑ   rx   r(   r%   r  r  �  rÒ   r(   r  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©NrO  rÂ   r×   r�   s    r%   r‚   zTestIDSTIIIFloat.setup_method¥  rØ   r(   NrÑ   rx   r(   r%   r‚  r‚  ¤  rÒ   r(   r‚  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIIIntc                 ó6   — t         | _        d| _        d| _        y r„  rÝ   r�   s    r%   r‚   zTestIDSTIIIInt.setup_method¬  rß   r(   NrÑ   rx   r(   r%   r†  r†  «  rÒ   r(   r†  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIVDoublec                 óJ   — t         j                  | _        d| _        d| _        y r(  rÏ   r�   s    r%   r‚   zTestIDSTIVDouble.setup_method³  rÐ   r(   NrÑ   rx   r(   r%   r‰  r‰  ²  rÒ   r(   r‰  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIVFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©NrO  rÉ   r×   r�   s    r%   r‚   zTestIDSTIVFloat.setup_methodº  rØ   r(   NrÑ   rx   r(   r%   rŒ  rŒ  ¹  rÒ   r(   rŒ  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIVntc                 ó6   — t         | _        d| _        d| _        y rŽ  rÝ   r�   s    r%   r‚   zTestIDSTIVnt.setup_methodÁ  rß   r(   NrÑ   rx   r(   r%   r�  r�  À  rÒ   r(   r�  c                   ód   — e Zd ZdZej
                  ej                  gZd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zy)	ÚTestOverwritezCheck input overwrite behavior.c                 óÊ   — |j                  «       }	 ||	|||||¬«       |j                  › d|j                  › |j                  ›d|›d|›d|›d�}
|st	        |	|d|
› �¬«       y y )	N)Úoverwrite_xú(z, z, axis=z, overwrite_x=ú)zspurious overwrite in )r‘   )r-   ru   rb   r0   r   )rf   r"   Úroutiner   Úfftsizer    rI   r•  ÚkwÚx2Úsigs              r%   Ú_checkzTestOverwrite._checkÌ  sy   € Ø�V‰V‹XˆÙ��D˜' 4¨¸;ÕGà×"Ñ"Ð# 1 Q§W¡W I¨a¯g©g¨[¸¸7¸+ð FØ�h˜n¨[¨O¸1ð>ˆáÜ˜˜QÐ*@ÀÀÐ(FÖGð r(   c                 óh  — t         j                  j                  d«      }t        j                  |t         j                  «      r# |j
                  |Ž d |j
                  |Ž z  z   }n |j
                  |Ž }|j                  |«      }dD ]'  }dD ]   }dD ]  }	| j                  |||d ||	|«       Œ Œ" Œ) y )Nr™   r_   ©r   r?   rÂ   rÉ   )TF)Nr@   )r   r¡   r¢   Ú
issubdtypeÚcomplexfloatingr£   r   r�  )
rf   r˜  rb   r0   r    r¦   r#   r   r•  rI   s
             r%   Ú	_check_1dzTestOverwrite._check_1dÕ  sµ   € Ü�i‰i×#Ñ# DÓ)ˆÜ�=‰=˜¤× 2Ñ 2Ô3Ø�3—9‘9˜eÐ$ r¨)¨#¯)©)°UÐ*;Ñ';Ñ;‰Dà�3—9‘9˜eÐ$ˆDØ�{‰{˜5Ó!ˆà ò 	-ˆDØ,ò -�Ø+ò -�DØ—K‘K  g¨t°T¸4ÀØ +õ-ñ-ñ-ñ	-r(   c                 ó¶   — | j                   D ]J  }| j                  t        |dd«       | j                  t        |dd«       | j                  t        |dd«       ŒL y ©N)rœ   rC   )rœ   r?   r   )r?   rœ   r   )Úreal_dtypesr¢  r   ©rf   rb   s     r%   Útest_dctzTestOverwrite.test_dctã  óM   € Ø×%Ñ%ò 	3ˆEØ�N‰Nœ3  u¨bÔ1Ø�N‰Nœ3  w°Ô2Ø�N‰Nœ3  w°Õ2ñ	3r(   c                 ó¶   — | j                   D ]J  }| j                  t        |dd«       | j                  t        |dd«       | j                  t        |dd«       ŒL y r¤  )r¥  r¢  r	   r¦  s     r%   Ú	test_idctzTestOverwrite.test_idcté  óM   € Ø×%Ñ%ò 	4ˆEØ�N‰Nœ4 ¨¨rÔ2Ø�N‰Nœ4 ¨°Ô3Ø�N‰Nœ4 ¨°Õ3ñ	4r(   c                 ó¶   — | j                   D ]J  }| j                  t        |dd«       | j                  t        |dd«       | j                  t        |dd«       ŒL y r¤  )r¥  r¢  r
   r¦  s     r%   Útest_dstzTestOverwrite.test_dstï  r¨  r(   c                 ó¶   — | j                   D ]J  }| j                  t        |dd«       | j                  t        |dd«       | j                  t        |dd«       ŒL y r¤  )r¥  r¢  r   r¦  s     r%   Ú	test_idstzTestOverwrite.test_idstõ  r«  r(   N)ru   rv   rw   Ú__doc__r   r   r   r¥  r�  r¢  r§  rª  r­  r¯  rx   r(   r%   r“  r“  Ç  s6   „ Ù)à—:‘:˜rŸz™zÐ*€KòHò-ò3ò4ò3ó4r(   r“  c                   óx  — e Zd ZdZg d¢ZddgZej                  j                  d«      Z	dZ
 e	j                  e
Ž Zej                  j                  deefeefg«      ej                  j                  ddd	d
d	gdddgddd	gdddgg«      ej                  j                  de«      ej                  j                  ddg«      d„ «       «       «       «       Zej                  j                  deefeefg«      ej                  j                  de«      ej                  j                  de«      d„ «       «       «       Zej                  j                  deefeefg«      ej                  j                  de«      ej                  j                  dddg«      d„ «       «       «       Zej                  j                  deefeefg«      d„ «       Zej                  j                  deeg«      d„ «       Zej                  j                  deefeefg«      ej                  j                  dd	d
d	gdddgg«      d„ «       «       Zy)ÚTest_DCTN_IDCTNr}   rŸ  Nr@   r™   )r�   rœ   zfforward,finverseÚaxesr   )r   r   )r   ©r   r   )éþÿÿÿrC   rµ  rC   Údct_typerI   c                 óx   —  || j                   |||¬«      } |||||¬«      }t        | j                   |d¬«       y )N©r   r³  rI   rù   rŸ   ©r#   r   )rf   ÚfforwardÚfinverser³  r¶  rI   Útmps          r%   Útest_axes_round_tripz$Test_DCTN_IDCTN.test_axes_round_trip  s8   € ñ �t—y‘y x°dÀÔFˆÙ�s °¸4Ô@ˆÜ! $§)¡)¨S¸"Ö=r(   zfforward,fforward_refc                 óv   —  || j                   |d |¬«      } || j                   ||¬«      }t        ||d¬«       y )Nr¸  ©r   rI   é   rŸ   r¹  )rf   rº  Úfforward_refr¶  rI   Úy1r´   s          r%   Útest_dctn_vs_2d_referencez)Test_DCTN_IDCTN.test_dctn_vs_2d_reference  s6   € ñ �d—i‘i h°TÀÔEˆÙ˜$Ÿ)™)¨(¸Ô>ˆÜ! " b°"Ö5r(   zfinverse,finverse_refc                 ó|   — t        | j                  ||¬«      } ||||¬«      } ||||¬«      }t        ||d¬«       y )Nr¿  rÀ  rŸ   )r   r#   r   )rf   r»  Úfinverse_refr¶  rI   ÚfdatarÂ  r´   s           r%   Útest_idctn_vs_2d_referencez*Test_DCTN_IDCTN.test_idctn_vs_2d_reference  s>   € ô �T—Y‘Y X°DÔ9ˆÙ�e (°Ô6ˆÙ˜% h°TÔ:ˆÜ! " b°"Ö5r(   c                 óê  — t        t        d¬«      5   || j                  | j                  j                  d   d¬«       d d d «       t        t        d¬«      5   || j                  | j                  j                  d   d ¬«       d d d «       t        t        d¬«      5   || j                  | j                  j                  d¬«       d d d «       y # 1 sw Y   Œ“xY w# 1 sw Y   ŒYxY w# 1 sw Y   y xY w)NzBwhen given, axes and shape arguments have to be of the same length)Úmatchr   r´  ©r0   r³  )Úassert_raisesr   r#   r0   )rf   rº  r»  s      r%   Útest_axes_and_shapez#Test_DCTN_IDCTN.test_axes_and_shape'  sÙ   € ô œ:ð"<ô=ñ 	Gñ �T—Y‘Y d§i¡i§o¡o°aÑ&8¸vÕF÷	Gô
 œ:ð"<ô=ñ 	Eñ �T—Y‘Y d§i¡i§o¡o°aÑ&8¸tÕD÷	Eô
 œ:ð"<ô=ñ 	?ñ �T—Y‘Y d§i¡i§o¡o¸AÕ>÷	?ð 	?÷	Gð 	Gú÷
	Eð 	Eú÷
	?ð 	?ús#   ’-CÁ-CÂ*C)ÃCÃC&Ã)C2rº  c                 óZ   —  || j                   dd ¬«      }t        |j                  d«       y )N)é€   rÎ  rÊ  )r#   r   r0   )rf   rº  r¼  s      r%   Ú
test_shapezTest_DCTN_IDCTN.test_shape9  s"   € á�t—y‘y¨
¸Ô>ˆÜ�S—Y‘Y 
Õ+r(   c                 óŒ   —  || j                   d |d¬«      } ||d |d¬«      }t        | j                   || j                  ¬«       y )Nr@   )r0   r³  rI   rŸ   )r#   r   r€   )rf   rº  r»  r³  r¼  s        r%   Útest_shape_is_none_with_axesz,Test_DCTN_IDCTN.test_shape_is_none_with_axes>  s<   € ñ
 �t—y‘y¨°4¸gÔFˆÙ�s $¨T¸Ô@ˆÜ! $§)¡)¨S¸$¿(¹(ÖCr(   )ru   rv   rw   r€   r¶  Únormsr   r¡   r¢   Úrstater0   r£   r#   r©   ÚmarkÚparametrizer   r   r   r   r½  r5   r;   rÃ  r8   r=   rÇ  rÌ  rÏ  rÑ  rx   r(   r%   r²  r²  ü  s£  „ Ø
€CÚ€HØ�7ˆO€EØ�Y‰Y×"Ñ" 4Ó(€FØ€EØˆ6�<‰<˜Ð€Dà‡[�[×ÑÐ0°D¸%°=Ø48¸%°=ð3Bó Cà‡[�[×Ñ˜V dØ&'¨°¨sØ&'¨°¨sØ&,¨q°!¨fØ&.°°R°ð	&:ó ;ð
 ‡[�[×Ñ˜Z¨Ó2Ø‡[�[×Ñ˜V g YÓ/ñ>ó 0ó 3ó;óCð>ð
 ‡[�[×ÑÐ4¸¸jÐ7IØ8<¸jÐ7Ið7Kó Là‡[�[×Ñ˜Z¨Ó2Ø‡[�[×Ñ˜V UÓ+ñ6ó ,ó 3óLð6ð ‡[�[×ÑÐ4¸¸{Ð7KØ8=¸{Ð7Kð7Mó Nà‡[�[×Ñ˜Z¨Ó2Ø‡[�[×Ñ˜V d¨G _Ó5ñ6ó 6ó 3óNð6ð ‡[�[×ÑÐ0°D¸%°=Ø48¸%°=ð3Bó Cñ?óCð?ð  ‡[�[×Ñ˜Z¨$°¨Ó6ñ,ó 7ð,ð ‡[�[×ÑÐ0°D¸%°=Ø48¸%°=ð3Bó Cà‡[�[×Ñ˜V a¨°¨sØ&'¨°¨sð&4ó 5ñDó5óCñDr(   r²  r…   )eÚos.pathr   r   r‡   Únumpyr   Únumpy.testingr   r   r©   r   rË  Úscipy.fftpack._realtransformsr   r	   r
   r   r   r   r   r   ÚloadÚ__file__ÚMDATAr/   r±   r½   r   r   r’   r&   r*   r5   r8   r;   r=   rP   rU   rX   r[   r]   rz   r¬   rº   rÀ   rÆ   rË   rÔ   rÚ   rá   rå   ré   rì   rð   rô   r÷   rû   rþ   r  r  r  r  r  r  r  r  r   r#  r&  r*  r.  r1  r8  r;  r>  rB  rE  rH  rL  rQ  rT  rW  r[  r^  ra  rd  rg  rm  rp  rs  rv  ry  r|  r  r‚  r†  r‰  rŒ  r�  r“  r²  )r”   s   0r%   ú<module>rÝ     sÚ  ðß !Û ã ß AÛ Ý *÷4÷ 4ó 4ð 	ˆ�‰‘‘W˜XÓ&¨
Ó3Ó4€Ù$ Q›xÖ(˜!€Uˆ5�1‰9ÓÒ(€Ù$ Q›xÖ(˜!€Uˆ5�1‰9ÓÒ(€ð �"—'‘'™$™w xÓ0Ð2GÓHÓI€Ø�"—'‘'™$™w xÓ0Ð2GÓHÓI€Ø  Ñ)€ò
ò
òòòòóó*óó÷(ñ (÷@%*ñ %*ôP	W�Lô 	Wô?�\ô ?ô	?�lô 	?ô	W�\ô 	Wô�]ô ô�Mô ô�-ô ô�nô ô�^ô ô�>ô ô�ô ô�oô ô�Oô ô�nô ô�^ô ô�>ô ÷2ñ 2ô8�mô ô�]ô ô�=ô ô�}ô ô�mô ô�Mô ô˜ô ô�}ô ô�]ô ô�}ô ô�mô ô�Mô ÷2ñ 2ô0	W�Lô 	Wô	?�\ô 	?ô�]ô ô�Mô ô�-ô ô�lô ô�\ô ô�<ô ô�|ô ô�lô ô�Lô ô�nô ô�^ô ô�>ô ÷2ñ 2ô8�mô ô�]ô ô�=ô ô�}ô ô�mô ô�Mô ô˜ô ô�}ô ô�]ô ô�}ô ô�mô ô�=ô ÷24ñ 24÷jIDò IDùò] )ùÚ(s   Á NÁ<N