Ë
    0Ò^jŒ_  ã                   ó,  — 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| › �   ‘Œ c} Z ed«      D � cg c]
  } ed	| › �   ‘Œ 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é   ÚxÚyzfftw_double_ref.npzzfftw_single_ref.npzÚsizesc                 óV  — t        j                  d|dz
  |«      j                  |«      }t        j                  t         j                  |«      }|t         j
                  k(  rt        }n$|t         j                  k(  rt        }n
t        «       ‚|d| › d|› �   j                  |«      }|||fS )Nr   é   Údct_Ú_©	ÚnpÚlinspaceÚastypeÚresult_typeÚfloat32Úfloat64ÚFFTWDATA_DOUBLEÚFFTWDATA_SINGLEÚ
ValueError©ÚtypeÚsizeÚdtr   Údatar   s         ús/var/www/ramen.bs-engineer-server.com/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ÐØ	��T�F˜!˜D˜6Ð"Ñ	#×+Ñ+¨BÓ/€AØˆa�ˆ8€Oó    c                 óV  — t        j                  d|dz
  |«      j                  |«      }t        j                  t         j                  |«      }|t         j
                  k(  rt        }n$|t         j                  k(  rt        }n
t        «       ‚|d| › d|› �   j                  |«      }|||fS )Nr   r   Údst_r   r   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_refr8   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   r1   r2   r3   r	   r4   s       r'   Úidct_2d_refr;   ?   ó�   € ä
�‰�˜Ô€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   r1   r2   r3   r
   r4   s       r'   Ú
dst_2d_refr>   I   r9   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   r1   r2   r3   r   r4   s       r'   Úidst_2d_refr@   S   r<   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   rB   éÿÿÿÿ)r   r1   ÚlenÚzerosÚsqrtr2   ÚcosÚpi)	r   ÚnormÚNÚMr   Úm0ÚmÚkÚns	            r'   Ú
naive_dct1rS   ]   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   rB   rD   rC   ç      à?©r   r1   rG   rH   r2   ÚsinrK   rI   )r   rL   rM   rN   r   rQ   rR   s          r'   Ú
naive_dst1rX   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/   rU   rC   rE   rB   )r   r1   rG   rH   r2   rJ   rK   rI   ©r   rL   rM   r   rQ   rR   s         r'   Ú
naive_dct4r[   €   ó¾   € ä
�‰�˜Ô€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/   rU   rC   rE   rB   rV   rZ   s         r'   Ú
naive_dst4r^   �   r\   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 ©Nrc   rb   )r   r   rf   r   rh   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 rl   )r	   r   rf   r   rh   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 )Nrc   rd   rb   )r
   r   rf   rg   r   rh   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 rl   )r
   r   rf   r   rh   s      r'   Útest_dst_complexzTestComplex.test_dst_complex³   rn   r*   c                 ó    — t        t        j                  d«      dz  «      }dt        t        j                  d«      «      z  }t        ||«       y rl   )r   r   rf   r   rh   s      r'   Útest_idst_complexzTestComplex.test_idst_complex¸   rq   r*   N)	Ú__name__Ú
__module__Ú__qualname__rj   rm   rp   rs   ru   rw   © 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#   ©ri   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|› d�¬«       Œª y # 1 sw Y   Œ‚xY w©N©r#   úSize ú failed©ÚdecimalÚerr_msg)ÚFFTWDATA_SIZESr(   r#   r‚   r   r   re   r   r   Úmaxrƒ   )ri   rŒ   Úir   Úyrr%   r   s          r'   Útest_definitionz_TestDCTBase.test_definitionÈ   sŸ   € Üò 
	0ˆAØñ AÜ(¨¯©°A°t·x±xÓ@‘	��2�r÷Aä�A˜DŸI™IÔ&ˆAÜ˜Ÿ™ "Ô%ô
 & a¬"¯&©&°«)¡m°R¼"¿&¹&À»)±^ÈTÏXÉXØ# A 3 gÐ.ö0ñ
	0÷Að Aúó   Œ&B3Â3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 )NrB   éÒ  )é   r   é	   é   é    é@   r�   ©r”   r   )Úaxisr#   )
r   ÚrandomÚRandomStateÚrandnr   r#   r2   r   rƒ   ÚT)ri   Ú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)	rx   ry   rz   r…   ÚpytestÚfixturerŒ   rš   r¬   r{   r*   r'   r}   r}   ¾   s)   „ òð
 ‡^�^ñ ó ð ò0ó*r*   r}   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 ©Nrd   rC   r   ©rL   r#   ©rL   r£   )r   r   r   r‚   ÚXr1   r   rS   r   re   r   r—   rƒ   ©ri   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©rx   ry   rz   r¹   r{   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 )Nrd   rC   rB   r³   r£   )r   r   r   r‚   Úziprµ   ÚYr1   r   r   re   r   rƒ   )ri   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)rx   ry   rz   rÂ   r{   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 )Nrd   rC   rB   r³   é   r£   )r   r   r   r‚   rµ   r1   r   r   re   r   rƒ   )ri   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»   r{   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 ©Nrd   rC   é   r³   r´   r£   )r   r   r   r‚   rµ   r1   r   r[   r   re   r   r—   rƒ   r¶   s         r'   r¹   z$_TestDCTIVBase.test_definition_ortho  rº   r*   Nr»   r{   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©rx   ry   rz   r…   r{   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Õ   r{   r*   r'   rØ   rØ     rÖ   r*   rØ   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIntc                 ó6   — t         | _        d| _        d| _        y ©Nrc   r   ©Úintr‚   rƒ   r#   r„   s    r'   r…   zTestDCTIInt.setup_method"  ó   € ÜˆŒØˆŒØˆ�	r*   NrÕ   r{   r*   r'   rÞ   rÞ   !  rÖ   r*   rÞ   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©NrÒ   rB   rÓ   r„   s    r'   r…   zTestDCTIIDouble.setup_method)  rÔ   r*   NrÕ   r{   r*   r'   rå   rå   (  rÖ   r*   rå   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Nrc   rB   rÛ   r„   s    r'   r…   zTestDCTIIFloat.setup_method0  rÜ   r*   NrÕ   r{   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Õ   r{   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Õ   r{   r*   r'   rð   rð   =  rÖ   r*   rð   c                   ó   — e Zd Zd„ Zy)ÚTestDCTIIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Nrc   rÆ   rÛ   r„   s    r'   r…   zTestDCTIIIFloat.setup_methodE  rÜ   r*   NrÕ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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|› d�¬«       ŒÍ y # 1 sw Y   Œ¥xY w©Nr�   r   rB   r‘   r’   r“   )r–   r(   r#   r‚   r	   r   re   r   r   r—   rƒ   )ri   r  r˜   r·   r™   r%   r   s          r'   rš   z_TestIDCTBase.test_definitionq  óÈ   € Üò 	0ˆ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Ø# A 3 gÐ.ö0ñ	0÷Bð Búó   Œ&CÃC	N)rx   ry   rz   r…   r­   r®   r  rš   r{   r*   r'   r  r  g  ó$   „ òð
 ‡^�^ñ ó ð ó0r*   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   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Õ   r{   r*   r'   r*  r*  À  rÖ   r*   r*  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIVFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Nrc   rÍ   rÛ   r„   s    r'   r…   zTestIDCTIVFloat.setup_methodÈ  rÜ   r*   NrÕ   r{   r*   r'   r.  r.  Ç  rÖ   r*   r.  c                   ó   — e Zd Zd„ Zy)ÚTestIDCTIVIntc                 ó6   — t         | _        d| _        d| _        y r0  rá   r„   s    r'   r…   zTestIDCTIVInt.setup_methodÏ  rã   r*   NrÕ   r{   r*   r'   r2  r2  Î  rÖ   r*   r2  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|› d�¬«       Œª y # 1 sw Y   Œ‚xY wr�   )r–   r-   r#   r‚   r
   r   re   r   r   r—   rƒ   )ri   r9  r˜   r·   r™   r%   r   s          r'   rš   z_TestDSTBase.test_definitionÞ  sŸ   € Üò 
	0ˆAØñ BÜ)¨$¯)©)°Q¸¿¹ÓA‘
��B˜÷Bä�B˜TŸY™YÔ'ˆAÜ˜Ÿ™ "Ô%ô
 & a¬"¯&©&°«)¡m°R¼"¿&¹&À»)±^ÈTÏXÉXØ# A 3 gÐ.ö0ñ
	0÷Bð Búr›   N)rx   ry   rz   r…   r­   r®   r9  rš   r{   r*   r'   r5  r5  Ô  s$   „ òð
 ‡^�^ñ ó ð ó0r*   r5  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µ   r1   r
   rX   r   re   r   r—   rƒ   r¶   s         r'   r¹   z#_TestDSTIBase.test_definition_orthoí  rº   r*   Nr»   r{   r*   r'   r<  r<  ì  r¼   r*   r<  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µ   r1   r
   r^   r   re   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»   r{   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Õ   r{   r*   r'   rB  rB    rÖ   r*   rB  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Õ   r{   r*   r'   rF  rF  	  rÖ   r*   rF  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Õ   r{   r*   r'   rI  rI    rÖ   r*   rI  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y ©Nr€   rB   rÓ   r„   s    r'   r…   zTestDSTIIDouble.setup_method  rÔ   r*   NrÕ   r{   r*   r'   rL  rL    rÖ   r*   rL  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©Né   rB   rÛ   r„   s    r'   r…   zTestDSTIIFloat.setup_method  rÜ   r*   NrÕ   r{   r*   r'   rP  rP    rÖ   r*   rP  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIIntc                 ó6   — t         | _        d| _        d| _        y rR  rá   r„   s    r'   r…   zTestDSTIIInt.setup_method&  rã   r*   NrÕ   r{   r*   r'   rU  rU  %  rÖ   r*   rU  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Õ   r{   r*   r'   rX  rX  ,  rÖ   r*   rX  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_method4  rÜ   r*   NrÕ   r{   r*   r'   r[  r[  3  rÖ   r*   r[  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIIIIntc                 ó6   — t         | _        d| _        d| _        y r]  rá   r„   s    r'   r…   zTestDSTIIIInt.setup_method;  rã   r*   NrÕ   r{   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_methodB  rÔ   r*   NrÕ   r{   r*   r'   rb  rb  A  rÖ   r*   rb  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIVFloatc                 óJ   — t         j                  | _        d| _        d| _        y )NrÍ   rÛ   r„   s    r'   r…   zTestDSTIVFloat.setup_methodI  rÜ   r*   NrÕ   r{   r*   r'   re  re  H  rÖ   r*   re  c                   ó   — e Zd Zd„ Zy)ÚTestDSTIVIntc                 ó6   — t         | _        d| _        d| _        y r0  rá   r„   s    r'   r…   zTestDSTIVInt.setup_methodP  rã   r*   NrÕ   r{   r*   r'   rh  rh  O  rÖ   r*   rh  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_methodW  r7  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|› d�¬«       ŒÍ y # 1 sw Y   Œ¥xY wr
  )r–   r-   r#   r‚   r   r   re   r   r   r—   rƒ   )ri   rn  r˜   r·   r™   r%   r   s          r'   rš   z_TestIDSTBase.test_definition`  r  r  N)rx   ry   rz   r…   r­   r®   rn  rš   r{   r*   r'   rk  rk  V  r  r*   rk  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rD  rÓ   r„   s    r'   r…   zTestIDSTIDouble.setup_methods  rÔ   r*   NrÕ   r{   r*   r'   rq  rq  r  rÖ   r*   rq  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rÚ   rÛ   r„   s    r'   r…   zTestIDSTIFloat.setup_methodz  rÜ   r*   NrÕ   r{   r*   r'   rt  rt  y  rÖ   r*   rt  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Õ   r{   r*   r'   rw  rw  €  rÖ   r*   rw  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIDoublec                 óJ   — t         j                  | _        d| _        d| _        y rN  rÓ   r„   s    r'   r…   zTestIDSTIIDouble.setup_methodˆ  rÔ   r*   NrÕ   r{   r*   r'   rz  rz  ‡  rÖ   r*   rz  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y rR  rÛ   r„   s    r'   r…   zTestIDSTIIFloat.setup_method�  rÜ   r*   NrÕ   r{   r*   r'   r}  r}  Ž  rÖ   r*   r}  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIIntc                 ó6   — t         | _        d| _        d| _        y rR  rá   r„   s    r'   r…   zTestIDSTIIInt.setup_method–  rã   r*   NrÕ   r{   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Õ   r{   r*   r'   rƒ  rƒ  œ  rÖ   r*   rƒ  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIIIFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©NrS  rÆ   rÛ   r„   s    r'   r…   zTestIDSTIIIFloat.setup_method¤  rÜ   r*   NrÕ   r{   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Õ   r{   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Õ   r{   r*   r'   r�  r�  ±  rÖ   r*   r�  c                   ó   — e Zd Zd„ Zy)ÚTestIDSTIVFloatc                 óJ   — t         j                  | _        d| _        d| _        y ©NrS  rÍ   rÛ   r„   s    r'   r…   zTestIDSTIVFloat.setup_method¹  rÜ   r*   NrÕ   r{   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Õ   r{   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•   )r0   rx   re   r3   r   )ri   r   Úroutiner#   Úfftsizer¤   rL   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�   rb   ©r   rB   rÆ   rÍ   )TF)NrC   )r   r¥   r¦   Ú
issubdtypeÚcomplexfloatingr§   r   r¡  )
ri   rœ  re   r3   r¤   rª   r&   r#   r™  rL   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    rF   )r    rB   r   )rB   r    r   )Úreal_dtypesr¦  r   ©ri   re   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)rx   ry   rz   Ú__doc__r   r   r   r©  r¡  r¦  r«  r®  r±  r³  r{   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£  NrC   r�   )r¡   r    zfforward,finverseÚaxesr   )r   r   )r   ©r   r   )éþÿÿÿrF   r¹  rF   Údct_typerL   c                 óx   —  || j                   |||¬«      } |||||¬«      }t        | j                   |d¬«       y )N©r#   r·  rL   rý   r£   ©r&   r   )ri   ÚfforwardÚfinverser·  rº  rL   Ú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#   rL   é   r£   r½  )ri   r¾  Úfforward_refrº  rL   Ú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   )ri   r¿  Úfinverse_refrº  rL   Ú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¸  ©r3   r·  )Úassert_raisesr!   r&   r3   )ri   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   r3   )ri   r¾  rÀ  s      r'   Ú
test_shapezTest_DCTN_IDCTN.test_shape8  s"   € á�t—y‘y¨
¸Ô>ˆÜ�S—Y‘Y 
Õ+r*   c                 óŒ   —  || j                   d |d¬«      } ||d |d¬«      }t        | j                   || j                  ¬«       y )NrC   )r3   r·  rL   r£   )r&   r   rƒ   )ri   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*   )rx   ry   rz   rƒ   rº  Únormsr   r¥   r¦   Úrstater3   r§   r&   r­   ÚmarkÚparametrizer   r   r   r   rÁ  r8   r>   rÇ  r;   r@   rË  rÐ  rÓ  rÕ  r{   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__ÚMDATAr2   rµ   rÁ   r   r    r–   r(   r-   r8   r;   r>   r@   rS   rX   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$  r'  r*  r.  r2  r5  r<  r?  rB  rF  rI  rL  rP  rU  rX  r[  r_  rb  re  rh  rk  rq  rt  rw  rz  r}  r€  rƒ  r†  rŠ  r�  r�  r”  r—  r¶  )r˜   s   0r'   ú<module>rá     sÜ  ðß !Û ã ß AÛ Ý *÷4÷ 4ó 4ð 	ˆ�‰‘‘W˜XÓ&¨
Ó3Ó4€Ù" 1›XÖ&˜€UˆQˆqˆcˆ7ƒ^Ò&€Ù" 1›XÖ&˜€UˆQˆqˆcˆ7ƒ^Ò&€ð �"—'‘'™$™w xÓ0Ð2GÓHÓI€Ø�"—'‘'™$™w xÓ0Ð2GÓHÓI€Ø  Ñ)€ò
ò
òòòòóó*óó÷(ñ (÷@%*ñ %*ôP	W�Lô 	Wô?�\ô ?ô	?�lô 	?ô	W�\ô 	Wô�]ô ô�Mô ô�-ô ô�nô ô�^ô ô�>ô ô�ô ô�oô ô�Oô ô�nô ô�^ô ô�>ô ÷0ñ 0ô6�mô ô�]ô ô�=ô ô�}ô ô�mô ô�Mô ô˜ô ô�}ô ô�]ô ô�}ô ô�mô ô�Mô ÷0ñ 0ô0	W�Lô 	Wô	?�\ô 	?ô�]ô ô�Mô ô�-ô ô�lô ô�\ô ô�<ô ô�|ô ô�lô ô�Lô ô�nô ô�^ô ô�>ô ÷0ñ 0ô8�mô ô�]ô ô�=ô ô�}ô ô�mô ô�Mô ô˜ô ô�}ô ô�]ô ô�}ô ô�mô ô�=ô ÷24ñ 24÷jIDò IDùò[ 'ùÚ&s   Á NÁ<N