+
    LV-jÒ<  ã                   ó$  € ^ RI t ^ RIt^ RIHtHtHt ^ RIt^ RIH	t
 ^ RIHtHtHtHtHt ^ RIHtHtHtHtHt ]P*                  P,                  t]! ]
4       ! R R4      4       t]! RR	R
7       ! R R4      4       t]! ]
4       ! R R4      4       tR# )é    N)Úassert_array_almost_equalÚxp_assert_closeÚmake_xp_test_case)Úcont2discrete)ÚdlsimÚss2tfÚss2zpkÚlsimÚlti)Útf2ssÚimpulseÚdimpulseÚstepÚdstepc                   ó¶   a € ] tR t^t o R tR tR tR tR tR t	R t
R tR	 t]! R
R7      R 4       tR t]! R
R7      R 4       t]! R
R7      R 4       tRtV tR# )ÚTestC2Dc                óö  € VP                  ^VP                  R7      pVP                  RRVP                  R7      pVP                  RR.RR.RR..4      pVP                  R.R.R..4      pRVP                  ^4      ,          pVP                  RR4      pRp\	        W#WE3VR	R
7      w  ršr¼p\        Wi4       \        Wz4       \        WK4       \        W\4       \        P                  ! WØRR7      '       g   Q hR# )é   )Údtypeç      à?ç      è?ç      ð?ç      Ð?ç        ç›Ž)aú?g6<SÂÔ?Úzoh©Úmethodç›+¡†›„=©Úabs_tolN©r   é   ç…ëQ¸Õ¿)ÚeyeÚfloat64ÚfullÚasarrayÚc2dr   ÚmathÚisclose)ÚselfÚxpÚacÚbcÚccÚdcÚad_truthÚbd_truthÚdt_requestedÚadÚbdÚcdÚddÚdts   &&            Úv/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/signal/tests/test_cont2discrete.pyÚtest_zohÚTestC2D.test_zoh   så   € Ø�V‰V�A˜RŸZ™ZˆVÓ(ˆØ�W‰W�V˜S¨¯
©
ˆWÓ3ˆØ�Z‰Z˜$ ˜ s¨C j°3¸°+Ð>Ó?ˆØ�Z‰Z˜#˜  ¨ wÐ/Ó0ˆà$ r§v¡v¨a£yÕ0ˆØ—7‘7˜6Ð#4Ó5ˆàˆä  "¨"Ð!1°<ÈÔNÑˆ�˜ä! (Ô/Ü! (Ô/Ü! "Ô)Ü! "Ô)Ü�|Š|˜B°e×<Ó<Ð<Ò<ó    c                óø  € VP                  ^4      pVP                  RR4      pVP                  RR.RR.RR..4      pVP                  R.R.R..4      pRVP                  ^4      ,          pVP                  RR4      pTpVP                  R.R	.R..4      p	Rp
\        W#WE3V
R
R7      w  r¼rÞp\	        Wk4       \	        W|4       \	        W�4       \	        Wž4       \
        P                  ! WúRR7      '       g   Q hR# )r   r   r   r   r   r   r   gm†²çïÚ?g>.Òâ"¨Ð?gÙ4ðpL	Ó?Úfohr   r   r    Nr"   r$   g.ÈªÑqÂ¿©r%   r'   r(   r)   r   r*   r+   ©r,   r-   r.   r/   r0   r1   r2   r3   Úcd_truthÚdd_truthr4   r5   r6   r7   r8   r9   s   &&              r:   Útest_fohÚTestC2D.test_foh(   s  € Ø�V‰V�A‹YˆØ�W‰W�V˜SÓ!ˆØ�Z‰Z˜$ ˜ s¨C j°3¸°+Ð>Ó?ˆØ�Z‰Z˜#˜  ¨ wÐ/Ó0ˆð % r§v¡v¨a£yÕ0ˆØ—7‘7˜6Ð#4Ó5ˆØˆØ—:‘:Ð 1Ð2Ø0Ð1Ø1Ð2ð4ó 5ˆð ˆä  "¨"Ð!1°<ÈÔNÑˆ�˜ä! (Ô/Ü! (Ô/Ü! (Ô/Ü! (Ô/Ü�|Š|˜B°e×<Ó<Ð<Ò<r=   c                óø  € VP                  ^4      pVP                  RR4      pVP                  RR.RR.RR..4      pVP                  R.R.R..4      pRVP                  ^4      ,          pVP                  RR4      pTpVP                  R.R.R	..4      p	Rp
\        W#WE3V
R
R7      w  r¼rÞp\	        Wk4       \	        W|4       \	        W�4       \	        Wž4       \
        P                  ! WúRR7      '       g   Q hR# )r   r   r   r   r   r   r   g›Ž)aÚ?g      Ü?g      Ô?r   r   r   r    Nr"   r@   rA   s   &&              r:   Útest_impulseÚTestC2D.test_impulse?   sû   € Ø�V‰V�A‹YˆØ�W‰W�V˜SÓ!ˆØ�Z‰Z˜$ ˜ s¨C j°3¸°+Ð>Ó?ˆØ�Z‰Z˜#˜  ¨ uÐ-Ó.ˆð % r§v¡v¨a£yÕ0ˆØ—7‘7˜6Ð#4Ó5ˆØˆØ—:‘: ˜x¨#¨°°Ð9Ó:ˆØˆä  "¨"Ð!1°<Ø(1ô3Ñˆ�˜ô 	" (Ô/Ü! (Ô/Ü! (Ô/Ü! (Ô/Ü�|Š|˜B°e×<Ó<Ð<Ò<r=   c                óî  € VP                  ^4      pVP                  RR4      pVP                  RR.RR.RR..4      pVP                  R.R.R..4      pRpRpRVP                  ^4      ,          pVP                  RR4      p	VP                  RR	.R	R	.R	R..4      p
VP                  R
.R.R..4      p\        W#WE3VRVR7      w  rÍrïp\	        WŒ4       \	        W�4       \	        W®4       \	        W¿4       R# )r   r   r   r   r   r   gš™™™™™ù?ç333333Ó?çÍÌÌÌÌÌì?ç333333ó?çffffffÆ?çš™™™™™É?Úgbt©r   ÚalphaNr"   r$   çUUUUUUÕ?ç=
×£p=Ê¿©r%   r'   r(   r)   r   )r,   r-   r.   r/   r0   r1   r4   rQ   r2   r3   rB   rC   r5   r6   r7   r8   r9   s   &&               r:   Útest_gbtÚTestC2D.test_gbtU   s  € Ø�V‰V�A‹YˆØ�W‰W�V˜SÓ!ˆØ�Z‰Z˜$ ˜ s¨C j°3¸°+Ð>Ó?ˆØ�Z‰Z˜#˜  ¨ wÐ/Ó0ˆàˆØˆà˜Ÿ™ ›•?ˆØ—7‘7˜6 3Ó'ˆØ—:‘:  S˜zØ # S˜zØ # S˜zð+ó ,ˆð —:‘: ˜wØ #˜uØ &˜xð)ó *ˆô ! "¨"Ð!1°<Ø(-°Uô<Ñˆ�˜ô 	" (Ô/Ü! (Ô/Ü! (Ô/Ü! (Ö/r=   c                óþ  € VP                  ^4      pVP                  RR4      pVP                  RR.RR.RR..4      pVP                  R.R.R..4      pRpRVP                  ^4      ,          pVP                  RR4      pVP                  RR.RR.RR..4      p	Tp
\        W#WE3VRR7      w  r¼rÞp\	        W{4       \	        WŒ4       \	        W�4       \	        W®4       \
        P                  ! WöR	R
7      '       g   Q hR# )r   r   r   r   r   r   ç      ø?Úeulerr   r   r    Nr"   r$   r@   ©r,   r-   r.   r/   r0   r1   r4   r2   r3   rB   rC   r5   r6   r7   r8   r9   s   &&              r:   Ú
test_eulerÚTestC2D.test_eulero   s  € Ø�V‰V�A‹YˆØ�W‰W�V˜SÓ!ˆØ�Z‰Z˜$ ˜ s¨C j°3¸°+Ð>Ó?ˆØ�Z‰Z˜#˜  ¨ wÐ/Ó0ˆàˆà˜Ÿ™ ›•?ˆØ—7‘7˜6 4Ó(ˆØ—:‘:  c˜{Ø # S˜zØ # T˜{ð,ó -ˆð ˆä  "¨"Ð!1°<Ø(/ô1Ñˆ�˜ô 	" (Ô/Ü! (Ô/Ü! (Ô/Ü! (Ô/Ü�|Š|˜B°e×<Ó<Ð<Ò<r=   c                óè  € VP                  ^4      pVP                  RR4      pVP                  RR.RR.RR..4      pVP                  R.R.R..4      pRpRVP                  ^4      ,          pVP                  RR4      pVP                  RR.RR.RR..4      p	VP                  R.R.R	..4      p
\        W#WE3VR
R7      w  r¼rÞp\	        W{4       \	        WŒ4       \	        W�4       \	        W®4       R# )r   r   r   r   r   r   g       @rX   g      ì?gáz®GáÒ?Úbackward_diffr   Nr"   r$   rT   rZ   s   &&              r:   Útest_backward_diffÚTestC2D.test_backward_diff‡   s  € Ø�V‰V�A‹YˆØ�W‰W�V˜SÓ!ˆØ�Z‰Z˜$ ˜ s¨C j°3¸°+Ð>Ó?ˆØ�Z‰Z˜#˜  ¨ wÐ/Ó0ˆàˆà˜Ÿ™ ›•?ˆØ—7‘7˜6 3Ó'ˆØ—:‘:  S˜zØ # S˜zØ # S˜zð+ó ,ˆð —:‘: ˜wØ #˜uØ %˜wð(ó )ˆô ! "¨"Ð!1°<Ø(7ô9Ñˆ�˜ô 	" (Ô/Ü! (Ô/Ü! (Ô/Ü! (Ö/r=   c                óž  € VP                  ^4      pVP                  RR4      pVP                  RR.RR.RR..4      pVP                  R.R.R..4      pRpRVP                  ^4      ,          pVP                  RR4      pVP                  RR.RR.RR..4      p	VP                  R.R.R..4      p
\        W#WE3VRR7      w  r¼rÞp\	        W{4       \	        WŒ4       \	        W�4       \	        W®4       \
        P                  ! WöR	R
7      '       g   Q hRVP                  ^4      ,          pVP                  RR4      pVP                  RR.RR.RR..4      p	VP                  R.R.R..4      p
Rp\        W#WE3VRR7      w  r¼rÞp\	        W{4       \	        WŒ4       \	        W�4       \	        W®4       \
        P                  ! Wo4      '       g   Q hR# )r   r   r   r   r   r   g±ªªªªªÒ?Úbilinearr   r   r    gffffffö?rN   rK   rL   rJ   rM   Nr"   r$   g«ªªªªªú?rR   gUUUUUUõ?g>¿Xò‹%¿¿rS   r@   rZ   s   &&              r:   Útest_bilinearÚTestC2D.test_bilinear    sâ  € Ø�V‰V�A‹YˆØ�W‰W�V˜SÓ!ˆØ�Z‰Z˜$ ˜ s¨C j°3¸°+Ð>Ó?ˆØ�Z‰Z˜#˜  ¨ wÐ/Ó0ˆàˆà §¡¨£Õ*ˆØ—7‘7˜6 9Ó-ˆØ—:‘:  YÐ/Ø )¨9Ð5Ø )¨9Ð5ð7ó 8ˆð —:‘:Ð 1Ð2Ø )˜{Ø 2Ð3ð5ó 6ˆô ! "¨"Ð!1°<Ø(2ô4Ñˆ�˜ô 	" (Ô/Ü! (Ô/Ü! (Ô/Ü! (Ô/Ü�|Š|˜B°e×<Ó<Ð<Ð<ð ˜Ÿ™ ›•?ˆØ—7‘7˜6 3Ó'ˆØ—:‘:  S˜z¨C°¨:¸¸S°zÐBÓCˆØ—:‘: ˜w¨¨°¨xÐ8Ó9ˆà ˆä  "¨"Ð!1°<Ø(2ô4Ñˆ�˜ô 	" (Ô/Ü! (Ô/Ü! (Ô/Ü! (Ô/Ü�|Š|˜L×-Ò-Ð-Ò-r=   c                ó0  € VP                  . RO4      pVP                  . RO4      pVP                  . RO.4      pVP                  . RO4      pRp\        W#3VRR7      w  rxp	\        WG4       \        WX4       \        P                  ! Wi4      '       g   Q hR# )	r   r   r   r   N)r   r   r   )r   r   r   )rR   gN›îÕZÛ¿gÏ±†³)_Ì?)r   gŽüø]OŸõ¿g–oü²hã?)r(   r)   r   r*   r+   )
r,   r-   ÚnumcÚdencÚnumdÚdendr4   ÚnumÚdenr9   s
   &&        r:   Útest_transferfunctionÚTestC2D.test_transferfunctionÌ   s   € Ø�z‰zÒ+Ó,ˆØ�z‰zÒ+Ó,ˆà�z‰zÒMÐNÓOˆØ�z‰zÒFÓGˆàˆä˜D˜<¨¸eÔD‰ˆ�"ä! $Ô,Ü! $Ô,Ü�|Š|˜L×-Ò-Ð-Ò-r=   c                óÌ  € VP                  R R.4      pVP                  RVP                  ^4      ,          R	VP                  ^4      ,          .4      pRpVP                  RR.4      pVP                  R
R.4      pRpR p\        W#V3VRR7      w  ršr¼\	        WY4       \	        Wj4       \
        P                  ! W{4      '       g   Q h\
        P                  ! WŒ4      '       g   Q hR# )r   y              ð?r   gwÀÄRN½ó?g.-“.ˆç?r   r   Ng      à¿y       €      ð¿y\9¨Oî?Æ„ò°(Ö?y\9¨Oî?Æ„ò°(Ö¿)ÚarrayÚsqrtr(   r)   r   r*   r+   )r,   r-   Úzeros_cÚpoles_cÚk_cÚzeros_dÚpolls_dÚk_dr4   ÚzerosÚpolesÚkr9   s   &&           r:   Útest_zerospolesgainÚTestC2D.test_zerospolesgainÛ   s×   € Ø—(‘(˜C ˜;Ó'ˆØ—(‘(˜C "§'¡'¨!£*Õ,¨d°R·W±W¸Q³ZÕ.?Ð@ÓAˆØˆà—*‘*Ð.Ð0AÐBÓCˆØ—*‘*ÐDØDðFó Gˆàˆàˆä! 7°SÐ"9¸<Ø).ô0Ñˆ�aô 	" 'Ô1Ü! 'Ô1Ü�|Š|˜C×#Ò#Ð#Ð#Ü�|Š|˜L×-Ò-Ð-Ò-r=   T)Únp_onlyc                ó„  € RpRpRpRp\        W#WE4      w  rg\        W#WE4      w  r‰p
RpRp^^V,
          V,          V,          ,           ^WË,          V,          ,
          ,          pW³,          ^WË,          V,          ,
          ,          pV^WË,          V,          ,
          ,          pW\V,          V,          ,           p\        WÞVV4      w  pp\        Wg3VRVR7      w  ppp\        VV4       \        VV4       \        WÞVV4      w  ppp\        W‰V
3VRVR7      w  pppp\        VV4       \        VV4       \        VV4       R# )z7Test method='gbt' with alpha=0.25 for tf and zpk cases.r   r   r   rO   rP   Ng      ð¿)r   r	   r)   r   )r,   r-   ÚAÚBÚCÚDÚcnumÚcdenÚczÚcpÚckÚhrQ   ÚAdÚBdÚCdÚDdÚdnumÚddenÚc2dnumÚc2ddenr9   ÚdzÚdpÚdkÚc2dzÚc2dpÚc2dks   &&                          r:   Útest_gbt_with_sio_tf_and_zpkÚ$TestC2D.test_gbt_with_sio_tf_and_zpkï   s?  € ð ˆØˆØˆØˆô ˜1 Ó&‰
ˆô ˜A !Ó'‰
ˆ�àˆØˆð �1�u•9 •/ AÕ%Õ%¨!¨e­i¸!­mÕ*;Õ<ˆØ�U�a˜%�) a�-Õ'Õ(ˆØ�!�e•i !•mÕ#Õ$ˆØ˜•˜R•Õˆô ˜2 2 rÓ*‰
ˆˆdô ! $ ¨q¸ÀeÔLÑˆ�˜ä˜˜fÔ%Ü˜˜fÔ%ô ˜B B¨Ó+‰
ˆˆB�ô  # B¨B <°¸5ÈÔNÑˆˆd�D˜"ä˜˜DÔ!Ü˜˜DÔ!Ü˜˜DÖ!r=   c                óF  a€ V3R lpSP                  R..4      pSP                  R..4      pSP                  R..4      pSP                  R..4      pRpSP                  ^ R^e4      pV^,          V^ ,          ,
          p	V! V4      p
\        W4WV3WŠVR7      w  r‹p\        W4WV3V	RR7      pRV
R	R V
R
,          ,           ,          pVR	R p\	        WÞP                  R^4      W÷R7      w  pppRVR	R VR
,          ,           ,          p\        VP                  4       VRR7       R	# )zÞ
Test that the solution to the discrete approximation of a continuous
system actually approximates the solution to the continuous system.
This is an indirect test of the correctness of the implementation
of cont2discrete.
c                 ó4   <€ SP                  R V ,          4      # )g      @)Úsin)Útr-   s   &€r:   ÚuÚ'TestC2D.test_discrete_approx.<locals>.u"  s   ø€ Ø—6‘6˜# �'“?Ð"r=   r   rN   g      $@)ÚTÚUÚX0rb   r   r   N:r#   NN)rœ   r›   Úx0g-Cëâ6?©Úrtolg{®Gáz„¿éÿÿÿÿ)r(   Úlinspacer
   r)   r   Úreshaper   Úravel)r,   r-   rœ   ÚaÚbÚcÚdr¡   r›   r9   Úu1ÚyoutÚxoutÚdsysÚu2Út2Útd2Úyd2Úxd2Úymids   &f                  r:   Útest_discrete_approxÚTestC2D.test_discrete_approx  s  ø€ õ	#ð �J‰J˜˜�yÓ!ˆØ�J‰J˜˜�wÓˆØ�J‰J˜˜�wÓˆØ�J‰J˜˜�wÓˆØˆà�K‰K˜˜4 Ó%ˆØˆq�T�A�a•D�[ˆÙˆq‹Tˆô ˜a A˜\¨Q¸Ô<‰ˆ�ô �A˜!�< ¨JÔ7ˆð �B�s˜�G˜b �fÕ$Õ%ˆØˆs�ˆVˆÜ˜d§j¡j°°QÓ&7¸2ÔE‰ˆˆS�#ð
 �d˜3˜B�i $ r¥(Õ*Õ+ˆä˜Ÿ	™	› T°×5r=   c                ó–   € ^^ .^^..^^.3p\        VR4      w  r#pVR8X  g   Q h\        V^R.RR7       \        V^R.^R..RR7       R# )r#   ç{®Gáz„?gü©ñÒMbP?r¢   NgUùxÊe±ï¿r¤   gÞT(û|®ï¿)r)   r   )r,   Útfrj   rk   r9   s   &    r:   Útest_simo_tfÚTestC2D.test_simo_tfB  se   € ð �1ˆv˜˜1�vÐ  A Ð'ˆÜ˜2˜t“}‰ˆ�"à�TŒzÐˆzÜ˜˜a Ð.°TÕ:Ü˜˜q "˜g¨¨;Ð'7Ð8¸t×Dr=   c                ót  € R p^R.^^..^^.3p\        W!4      w  r4pV^ ,          ^ ,          V^,          3p\        Wa4      w  rxp	V^ ,          ^,          V^,          3p
\        W¡4      w  r¼pWY8X  g   Q hW]8X  g   Q h\        V\        P                  ! W{34      RR7       \        WHRR7       \        WLRR7       R# )r¹   g‚vIhÂ%<=r¢   Néýÿÿÿ)r)   r   ÚnpÚvstack)r,   Útsrº   rj   rk   r9   Útf1Únum1Úden1Údt1Útf2Únum2Úden2Údt2s   &             r:   Útest_multioutputÚTestC2D.test_multioutputL  sº   € àˆà�2ˆw˜˜A˜Ð ! Q Ð(ˆÜ˜2“{‰ˆ�"à�!�u�Q�x˜˜A�ÐˆÜ˜c›,‰ˆ�Cà�!�u�Q�x˜˜A�ÐˆÜ˜c›,‰ˆ�Cð ŒyÐˆyØŒyÐˆyô 	˜œRŸYšY¨ |Ó4¸5ÕAô 	˜¨Õ.Ü˜¨×.r=   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r;   rD   rG   rU   r[   r_   rc   rl   rz   Úskip_xp_backendsr–   r¶   r»   rÊ   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r:   r   r      s‡   ø‡ € ò=ò&=ò.=ò,0ò4=ò00ò2*.òX.ò.ñ( ˜dÔ#ñ("ó $ð("òT&6ñP ˜dÔ#ñEó $ðEñ ˜dÔ#ñ/ó $ö/r=   r   Tzlti currently not supported)r|   Úreasonc                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú
TestC2dLtiie  c                óD  € \         P                  ! RR.RR..4      p\         P                  ! ^ .^..4      p\         P                  ! ^^ ..4      p^ pRp\         P                  ! RR.RR..4      p\         P                  ! R.R	..4      p\        W#WE4      p	V	P                  VR
7      p
\	        V
P
                  V4       \	        V
P                  V4       \	        V
P                  V4       \	        V
P                  \         P                  ! V
P                  4      4       \        W–R
7      p\	        VP
                  V4       \	        VP                  V4       \	        VP                  V4       \	        VP                  \         P                  ! VP                  4      4       R# )rJ   çš™™™™™¹?rN   gš™™™™™©?gÐ“»Ç<†ï?gö‡�ùs?gö‡�ùƒ?gã{Kpæî?g1vMñ ?g_†Ç·J(©?)r9   Ng333333Ó¿gffffffæ¿)r¿   ro   r   Úto_discreter   r~   r   r€   r�   Ú
zeros_liker)   )r,   r-   r~   r   r€   r�   r9   ÚA_resÚB_resÚsys_sscÚsys_ssdÚsys_ssd2s   &&          r:   Útest_c2d_ssÚTestC2dLti.test_c2d_ssg  sE  € ä�HŠH�t˜S�k C¨ ;Ð/Ó0ˆÜ�HŠH�q�c˜A˜3�ZÓ ˆÜ�HŠH�q˜!�f�XÓˆØˆØˆä—’Ð,Ð.?Ð@Ø,Ð.?Ð@ðBó Cˆä—’Ð,Ð-Ð0AÐ/BÐCÓDˆä�a˜A“/ˆØ×%Ñ%¨Ð%Ó,ˆä˜Ÿ	™	 5Ô)Ü˜Ÿ	™	 5Ô)Ü˜Ÿ	™	 1Ô%Ü˜Ÿ	™	¤2§=¢=°·±Ó#;Ô<ä�wÔ&ˆä˜Ÿ
™
 EÔ*Ü˜Ÿ
™
 EÔ*Ü˜Ÿ
™
 AÔ&Ü˜Ÿ
™
¤B§M¢M°(·*±*Ó$=Ö>r=   c                ó  € \        R R.RR.4      pVP                  R4      p\        P                  ! R R.4      p\        P                  ! RR	.4      p\	        VP
                  VRR7       \	        VP                  VRR7       R# )
r   rJ   r   gš™™™™™Ù?g{®Gázt?g{®Gáz”?)ÚatolNg�â„i®ß¿gYì­›É]ï¿)r   rÛ   r¿   ro   r   rk   rj   )r,   r-   ÚsysÚnum_resÚden_ress   &&   r:   Útest_c2d_tfÚTestC2dLti.test_c2d_tf‚  sp   € ä�3˜�*˜s C˜jÓ)ˆØ�o‰o˜eÓ$ˆô —(’(˜CÐ!3Ð4Ó5ˆÜ—(’(˜CÐ!3Ð4Ó5ˆô 	˜Ÿ™ ¨tÕ4Ü˜Ÿ™ ¨t×4r=   rÌ   N)rÍ   rÎ   rÏ   rÐ   râ   ré   rÒ   rÓ   rÔ   s   @r:   rØ   rØ   e  s   ø‡ € ò?÷65ð 5r=   rØ   c                   ó^  a € ] tR tRt o ]! ^^.. RO4      R^
3]! ^^.. RO4      R^
3]! R. RO4      R^
3.t]! ]]4      ]	P                  P                  R]4      R 4       4       t]	P                  P                  R]4      R 4       t]	P                  P                  R]4      R 4       tR	tV tR
# )ÚTestC2dInvariantsi�  r   r   rÚ   zsys,sample_time,samples_numberc                ó@  € \        \        VP                  V4      4      pVP                  V4      V,          p\	        W%R 7      w  rg\        \        W#RR7      \        V4      R7      w  rh\        W7P                  4       ,          V^ ,          P                  4       4       R# )©rž   r   r   ©ÚnN)
ÚtupleÚmapr(   Úaranger   r   r)   Úlenr   r§   ©	r,   r-   ræ   Úsample_timeÚsamples_numberÚtimeÚ_Ú	yout_contÚ	yout_discs	   &&&&&    r:   Útest_impulse_invariantÚ(TestC2dInvariants.test_impulse_invariantœ  su   € ô ”C˜Ÿ
™
 CÓ(Ó)ˆØ�y‰y˜Ó(¨;Õ6ˆÜ˜sÔ+‰ˆÜ¤ C¸YÔ GÜ"% d£)ô-‰ˆä˜§o¡oÓ&7Õ7¸À1½×9KÑ9KÓ9MÖNr=   c                ó4  € \        \        VP                  V4      4      pVP                  V4      V,          p\	        W%R 7      w  rg\        \        W#RR7      \        V4      R7      w  rh\        VP                  4       V^ ,          P                  4       4       R# )rî   r   r   rï   N)
rñ   rò   r(   ró   r   r   r)   rô   r   r§   rõ   s	   &&&&&    r:   Útest_step_invariantÚ%TestC2dInvariants.test_step_invariant§  sm   € ä”C˜Ÿ
™
 CÓ(Ó)ˆØ�y‰y˜Ó(¨;Õ6ˆÜ˜CÔ(‰ˆÜœS ¸%Ô@ÄCÈÃIÔN‰ˆÜ˜	Ÿ™Ó)¨9°Q­<×+=Ñ+=Ó+?Ö@r=   c                ó  € \        \        VP                  V4      4      pVP                  V4      V,          p\	        W%VR 7      w  rgp\        \        W#RR7      VR7      w  rhp\        VP                  4       VP                  4       4       R# ))rž   rŸ   r?   r   )rœ   N)	rñ   rò   r(   ró   r
   r   r)   r   r§   rõ   s	   &&&&&    r:   Útest_linear_invariantÚ'TestC2dInvariants.test_linear_invariant°  si   € ä”C˜Ÿ
™
 CÓ(Ó)ˆØ�y‰y˜Ó(¨;Õ6ˆÜ˜s¨dÔ3‰ˆ�aÜ¤ C¸UÔ CÀtÔL‰ˆ�aÜ˜	Ÿ™Ó)¨9¯?©?Ó+<Ö=r=   rÌ   N)r#   rX   r#   )r#   rX   é   r#   )r#   r#   r   r#   )rÍ   rÎ   rÏ   rÐ   r   Úcasesr   r   r   ÚpytestÚmarkÚparametrizerü   rÿ   r  rÒ   rÓ   rÔ   s   @r:   rì   rì   �  sÑ   ø‡ € ñ
 
��1ˆv’{Ó	# T¨2Ð.Ù	��1ˆv’~Ó	&¨¨RÐ0Ù	ˆs’LÓ	! 3¨Ð+ð€Eñ �w Ó)Ø‡[�[×ÑÐ=¸uÓEñOó Fó *ðOð ‡[�[×ÑÐ=¸uÓEñAó FðAð ‡[�[×ÑÐ=¸uÓEñ>ó Fö>r=   rì   )r*   Únumpyr¿   Úscipy._lib._array_apir   r   r   r  Úscipy.signalr   r)   r   r   r	   r
   r   r   r   r   r   r   r  rÑ   r   rØ   rì   rÌ   r=   r:   Ú<module>r     sž   ðÛ Û ÷ñ ó
 Ý -ß 8Õ 8ß >Õ >ð
 —;‘;×/Ñ/Ð ñ �3Ó÷O/ð O/ó ðO/ñb
 ˜$Ð'DÔE÷'5ð '5ó Fð'5ñT �3Ó÷%>ð %>ó ò%>r=   