§
    µ³ÙgP9  ã                   ó¼   — d dl Zd dlmZ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 d dlmZmZmZmZmZ  G d„ d¦  «        Z G d„ d	¦  «        Z G d
„ d¦  «        ZdS )é    N)Úassert_array_almost_equalÚassert_almost_equalÚxp_assert_close)Úcont2discrete)ÚdlsimÚss2tfÚss2zpkÚlsimÚlti)Útf2ssÚimpulseÚdimpulseÚstepÚdstepc                   ó€   — e Zd Zej        j        d„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ ZdS )ÚTestC2Dc                 ó*  — t          j        dt           j        ¬¦  «        }t          j        ddt           j        ¬¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgd	gg¦  «        }d
t          j        d¦  «        z  }t          j        dd¦  «        }d}t          ||||f|d¬¦  «        \  }}	}
}}t          ||¦  «         t          ||	¦  «         t          ||
¦  «         t          ||¦  «         t          ||¦  «         d S )Né   )Údtype©r   é   ç      à?ç      è?ç      ð?ç      Ð?ç        ç…ëQ¸Õ¿ç›Ž)aú?g6<SÂÔ?Úzoh©Úmethod)ÚnpÚeyeÚfloat64ÚfullÚarrayÚc2dr   r   )ÚselfÚacÚbcÚccÚdcÚad_truthÚbd_truthÚdt_requestedÚadÚbdÚcdÚddÚdts                ú[/granary/edev/quantum/lib/python3.11/site-packages/scipy/signal/tests/test_cont2discrete.pyÚtest_zohzTestC2D.test_zoh   s  € åŒV�A�RœZÐ(Ñ(Ô(ˆÝŒW�V˜S­¬
Ð3Ñ3Ô3ˆÝŒX˜˜c�{ S¨# J°°d°Ð<Ñ=Ô=ˆÝŒX˜�u˜s˜e e WÐ-Ñ.Ô.ˆà$¥r¤v¨a¡y¤yÑ0ˆÝ”7˜6Ð#4Ñ5Ô5ˆàˆå  " b¨"¨bÐ!1°<ÈÐNÑNÔNÑˆˆB��B˜å! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! " bÑ)Ô)Ð)Ý! " bÑ)Ô)Ð)Ý˜L¨"Ñ-Ô-Ð-Ð-Ð-ó    c                 ó2  — t          j        d¦  «        }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgdgg¦  «        }d	t          j        d¦  «        z  }t          j        dd
¦  «        }|}t          j        dgdgdgg¦  «        }d}	t	          ||||f|	d¬¦  «        \  }
}}}}t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          |	|¦  «         d S )Nr   r   r   r   r   r   r   r   r   gm†²çïÚ?g>.Òâ"¨Ð?gÙ4ðpL	Ó?g.ÈªÑqÂ¿Úfohr    ©r"   r#   r%   r&   r'   r   r   ©r(   r)   r*   r+   r,   r-   r.   Úcd_truthÚdd_truthr/   r0   r1   r2   r3   r4   s                  r5   Útest_fohzTestC2D.test_foh$   s6  € ÝŒV�A‰YŒYˆÝŒW�V˜SÑ!Ô!ˆÝŒX˜˜c�{ S¨# J°°d°Ð<Ñ=Ô=ˆÝŒX˜�u˜s˜e e WÐ-Ñ.Ô.ˆð %¥r¤v¨a¡y¤yÑ0ˆÝ”7˜6Ð#4Ñ5Ô5ˆØˆÝ”8Ð/Ð0Ø/Ð0Ø0Ð1ð3ñ 4ô 4ˆð ˆå  " b¨"¨bÐ!1°<ÈÐNÑNÔNÑˆˆB��B˜å! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý˜L¨"Ñ-Ô-Ð-Ð-Ð-r7   c                 ó2  — t          j        d¦  «        }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgdgg¦  «        }dt          j        d¦  «        z  }t          j        dd	¦  «        }|}t          j        d
gdgdgg¦  «        }d}	t	          ||||f|	d¬¦  «        \  }
}}}}t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          |	|¦  «         d S )Nr   r   r   r   r   r   r   r   g›Ž)aÚ?g      Ü?g      Ô?r   r    r:   r;   s                  r5   Útest_impulsezTestC2D.test_impulse;   s1  € ÝŒV�A‰YŒYˆÝŒW�V˜SÑ!Ô!ˆÝŒX˜˜c�{ S¨# J°°d°Ð<Ñ=Ô=ˆÝŒX˜�u˜s˜e c UÐ+Ñ,Ô,ˆð %¥r¤v¨a¡y¤yÑ0ˆÝ”7˜6Ð#4Ñ5Ô5ˆØˆÝ”8˜f˜X¨ u¨v¨hÐ7Ñ8Ô8ˆØˆå  " b¨"¨bÐ!1°<Ø(1ð3ñ 3ô 3ÑˆˆB��B˜õ 	" (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý˜L¨"Ñ-Ô-Ð-Ð-Ð-r7   c                 óN  — t          j        d¦  «        }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgdgg¦  «        }d}d	}d
t          j        d¦  «        z  }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }	t          j        dgdgdgg¦  «        }
t	          ||||f|d|¬¦  «        \  }}}}}t          ||¦  «         t          ||¦  «         t          |	|¦  «         t          |
|¦  «         d S )Nr   r   r   r   r   r   r   r   çUUUUUUÕ?gš™™™™™ù?ç333333Ó?çÍÌÌÌÌÌì?ç333333ó?çffffffÆ?çš™™™™™É?ç=
×£p=Ê¿Úgbt©r!   Úalpha©r"   r#   r%   r&   r'   r   )r(   r)   r*   r+   r,   r/   rK   r-   r.   r<   r=   r0   r1   r2   r3   r4   s                   r5   Útest_gbtzTestC2D.test_gbtQ   sU  € ÝŒV�A‰YŒYˆÝŒW�V˜SÑ!Ô!ˆÝŒX˜˜c�{ S¨# J°°d°Ð<Ñ=Ô=ˆÝŒX˜�u˜s˜e e WÐ-Ñ.Ô.ˆàˆØˆà�œ ™œ‘?ˆÝ”7˜6 3Ñ'Ô'ˆÝ”8˜c 3˜ZØ! 3˜ZØ! 3˜Zð)ñ *ô *ˆõ ”8˜e˜WØ!˜UØ$˜Xð'ñ (ô (ˆõ ! " b¨"¨bÐ!1°<Ø(-°Uð<ñ <ô <ÑˆˆB��B˜õ 	" (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ð/Ð/r7   c                 ó8  — t          j        d¦  «        }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgdgg¦  «        }d}d	t          j        d¦  «        z  }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }|}	t	          ||||f|d
¬¦  «        \  }
}}}}t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          |	|¦  «         t          ||¦  «         d S )Nr   r   r   r   r   r   r   r   ç      ø?Úeulerr    r:   ©r(   r)   r*   r+   r,   r/   r-   r.   r<   r=   r0   r1   r2   r3   r4   s                  r5   Ú
test_eulerzTestC2D.test_eulerk   s=  € ÝŒV�A‰YŒYˆÝŒW�V˜SÑ!Ô!ˆÝŒX˜˜c�{ S¨# J°°d°Ð<Ñ=Ô=ˆÝŒX˜�u˜s˜e e WÐ-Ñ.Ô.ˆàˆà�œ ™œ‘?ˆÝ”7˜6 4Ñ(Ô(ˆÝ”8˜d C˜[Ø! 3˜ZØ! 4˜[ð*ñ +ô +ˆð ˆå  " b¨"¨bÐ!1°<Ø(/ð1ñ 1ô 1ÑˆˆB��B˜õ 	" (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý˜L¨"Ñ-Ô-Ð-Ð-Ð-r7   c                 óH  — t          j        d¦  «        }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgdgg¦  «        }d}d	t          j        d¦  «        z  }t          j        dd¦  «        }t          j        d
d	gd	d	gd	dgg¦  «        }t          j        dgdgdgg¦  «        }	t	          ||||f|d¬¦  «        \  }
}}}}t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          |	|¦  «         d S )Nr   r   r   r   r   r   r   r   g       @rO   g      ì?gáz®GáÒ?Úbackward_diffr    rL   rQ   s                  r5   Útest_backward_diffzTestC2D.test_backward_diffƒ   sN  € ÝŒV�A‰YŒYˆÝŒW�V˜SÑ!Ô!ˆÝŒX˜˜c�{ S¨# J°°d°Ð<Ñ=Ô=ˆÝŒX˜�u˜s˜e e WÐ-Ñ.Ô.ˆàˆà�œ ™œ‘?ˆÝ”7˜6 3Ñ'Ô'ˆÝ”8˜c 3˜ZØ! 3˜ZØ! 3˜Zð)ñ *ô *ˆõ ”8˜e˜WØ!˜UØ#˜Wð&ñ 'ô 'ˆõ ! " b¨"¨bÐ!1°<Ø(7ð9ñ 9ô 9ÑˆˆB��B˜õ 	" (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ð/Ð/r7   c                 ó
  — t          j        d¦  «        }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgdgg¦  «        }d}d	t          j        d¦  «        z  }t          j        dd
¦  «        }t          j        ddgddgdd
gg¦  «        }t          j        dgd
gdgg¦  «        }	t	          ||||f|d¬¦  «        \  }
}}}}t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          |	|¦  «         t          ||¦  «         dt          j        d¦  «        z  }t          j        dd¦  «        }t          j        ddgddgddgg¦  «        }t          j        dgdgdgg¦  «        }	d
}t	          ||||f|d¬¦  «        \  }
}}}}t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          |	|¦  «         t          ||¦  «         d S )Nr   r   r   r   r   r   r   r   g«ªªªªªú?rB   gUUUUUUõ?g±ªªªªªÒ?g>¿Xò‹%¿¿Úbilinearr    gffffffö?rG   rD   rE   rC   rF   rH   r:   rQ   s                  r5   Útest_bilinearzTestC2D.test_bilinearœ   sM  € ÝŒV�A‰YŒYˆÝŒW�V˜SÑ!Ô!ˆÝŒX˜˜c�{ S¨# J°°d°Ð<Ñ=Ô=ˆÝŒX˜�u˜s˜e e WÐ-Ñ.Ô.ˆàˆà¥¤¨¡¤Ñ*ˆÝ”7˜6 9Ñ-Ô-ˆÝ”8˜c 9Ð-Ø'¨Ð3Ø'¨Ð3ð5ñ 6ô 6ˆõ ”8Ð/Ð0Ø'˜[Ø0Ð1ð3ñ 4ô 4ˆõ ! " b¨"¨bÐ!1°<Ø(2ð4ñ 4ô 4ÑˆˆB��B˜õ 	" (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý˜L¨"Ñ-Ô-Ð-ð �œ ™œ‘?ˆÝ”7˜6 3Ñ'Ô'ˆÝ”8˜c 3˜Z¨#¨s¨°c¸3°ZÐ@ÑAÔAˆÝ”8˜e˜W s e¨f¨XÐ6Ñ7Ô7ˆà ˆå  " b¨"¨bÐ!1°<Ø(2ð4ñ 4ô 4ÑˆˆB��B˜õ 	" (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý! (¨BÑ/Ô/Ð/Ý˜L¨"Ñ-Ô-Ð-Ð-Ð-r7   c                 óL  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢g¦  «        }t          j        g d¢¦  «        }d}t          ||f|d¬¦  «        \  }}}t          ||¦  «         t          ||¦  «         t	          ||¦  «         d S )N)r   r   r   )r   r   r   )rB   gN›îÕZÛ¿gÏ±†³)_Ì?)r   gŽüø]OŸõ¿g–oü²hã?r   r   r    )r"   r&   r'   r   r   )	r(   ÚnumcÚdencÚnumdÚdendr/   ÚnumÚdenr4   s	            r5   Útest_transferfunctionzTestC2D.test_transferfunctionÈ   s¶   € ÝŒxÐ)Ð)Ð)Ñ*Ô*ˆÝŒxÐ)Ð)Ð)Ñ*Ô*ˆåŒxÐKÐKÐKÐLÑMÔMˆÝŒxÐDÐDÐDÑEÔEˆàˆå˜D $˜<¨¸eÐDÑDÔD‰ˆˆS�"å! $¨Ñ,Ô,Ð,Ý! $¨Ñ,Ô,Ð,Ý˜L¨"Ñ-Ô-Ð-Ð-Ð-r7   c                 ó‚  — t          j        ddg¦  «        }t          j        dt          j        d¦  «        z  dt          j        d¦  «        z  g¦  «        }d}ddg}d	d
g}d}d}t          |||f|d¬¦  «        \  }}	}
}t	          ||¦  «         t	          ||	¦  «         t          ||
¦  «         t          ||¦  «         d S )Nr   g      à¿y              ð?r   y       €      ð¿r   gwÀÄRN½ó?g.-“.ˆç?y\9¨Oî?Æ„ò°(Ö?y\9¨Oî?Æ„ò°(Ö¿r   r    )r"   r&   Úsqrtr'   r   r   )r(   Úzeros_cÚpoles_cÚk_cÚzeros_dÚpolls_dÚk_dr/   ÚzerosÚpolesÚkr4   s               r5   Útest_zerospolesgainzTestC2D.test_zerospolesgain×   sÝ   € Ý”(˜C ˜;Ñ'Ô'ˆÝ”(˜C¥"¤'¨!¡*¤*Ñ,¨dµR´W¸Q±Z´ZÑ.?Ð@ÑAÔAˆØˆà#Ð%6Ð7ˆØ9Ø9ð;ˆàˆàˆå! 7¨G°SÐ"9¸<Ø).ð0ñ 0ô 0Ñˆˆu�a˜õ 	" '¨5Ñ1Ô1Ð1Ý! '¨5Ñ1Ô1Ð1Ý˜C Ñ#Ô#Ð#Ý˜L¨"Ñ-Ô-Ð-Ð-Ð-r7   c                 óZ  — d}d}d}d}t          ||||¦  «        \  }}t          ||||¦  «        \  }}}	d}
d}dd|z
  |
z  |z  z   d||
z  |z  z
  z  }|
|z  d||
z  |z  z
  z  }|d||
z  |z  z
  z  }|||z  |z  z   }t          ||||¦  «        \  }}t          ||f|
d|¬¦  «        \  }}}t          ||¦  «         t          ||¦  «         t          ||||¦  «        \  }}}t          |||	f|
d|¬¦  «        \  }}}}t          ||¦  «         t          ||¦  «         t          ||¦  «         dS )	z7Test method='gbt' with alpha=0.25 for tf and zpk cases.g      ð¿r   r   r   r   rI   rJ   N)r   r	   r'   r   )r(   ÚAÚBÚCÚDÚcnumÚcdenÚczÚcpÚckÚhrK   ÚAdÚBdÚCdÚDdÚdnumÚddenÚc2dnumÚc2ddenr4   ÚdzÚdpÚdkÚc2dzÚc2dpÚc2dks                              r5   Útest_gbt_with_sio_tf_and_zpkz$TestC2D.test_gbt_with_sio_tf_and_zpkë   s™  € ð ˆØˆØˆØˆõ ˜1˜a  AÑ&Ô&‰
ˆˆdõ ˜A˜q ! QÑ'Ô'‰
ˆˆB�àˆØˆð �1�u‘9 ‘/ AÑ%Ñ%¨!¨e°a©i¸!©mÑ*;Ñ<ˆØ�‰U�a˜% !™) a™-Ñ'Ñ(ˆØ�!�e˜a‘i !‘mÑ#Ñ$ˆØ�˜‘˜R‘Ñˆõ ˜2˜r 2 rÑ*Ô*‰
ˆˆdõ ! $¨ ¨q¸ÀeÐLÑLÔLÑˆ�˜å˜˜fÑ%Ô%Ð%Ý˜˜fÑ%Ô%Ð%õ ˜B  B¨Ñ+Ô+‰
ˆˆB�õ  # B¨¨B <°¸5ÈÐNÑNÔNÑˆˆd�D˜"å˜˜DÑ!Ô!Ð!Ý˜˜DÑ!Ô!Ð!Ý˜˜DÑ!Ô!Ð!Ð!Ð!r7   c                 ó˜  — d„ }t          j        dgg¦  «        }t          j        dgg¦  «        }t          j        dgg¦  «        }t          j        dgg¦  «        }d}t          j        ddd¦  «        }|d         |d         z
  } ||¦  «        }	t          ||||f||	|¬	¦  «        \  }}
}t	          ||||f|d
¬¦  «        }d|	dd…         |	dd…         z   z  }|dd…         }t          ||                     dd¦  «        ||¬¦  «        \  }}}d|
dd…         |
dd…         z   z  }t          |                     ¦   «         |d¬¦  «         dS )a  
        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                 ó0   — t          j        d| z  ¦  «        S )Ng      @)r"   Úsin)Úts    r5   Úuz'TestC2D.test_discrete_approx.<locals>.u  s   € Ý”6˜# ™'‘?”?Ð"r7   g{®Gáz„¿r   rG   r   g      $@ée   r   )ÚTÚUÚX0rW   r    r   Néÿÿÿÿ)r‹   rŠ   Úx0g-Cëâ6?©Úrtol)	r"   r&   Úlinspacer
   r'   r   Úreshaper   Úravel)r(   r‹   ÚaÚbÚcÚdr‘   rŠ   r4   Úu1ÚyoutÚxoutÚdsysÚu2Út2Útd2Úyd2Úxd2Úymids                      r5   Útest_discrete_approxzTestC2D.test_discrete_approx  su  € ð	#ð 	#ð 	#õ ŒH�u�g�YÑÔˆÝŒH�s�e�WÑÔˆÝŒH�s�e�WÑÔˆÝŒH�s�e�WÑÔˆØˆåŒK˜˜4 Ñ%Ô%ˆØˆqŒT�A�a”D‰[ˆØˆQˆq‰TŒTˆõ ˜a  A q˜\¨Q°"¸Ð<Ñ<Ô<‰ˆˆ4�õ �A�q˜!˜Q�< ¨JÐ7Ñ7Ô7ˆð �B�s˜�s”G˜b   œfÑ$Ñ%ˆØˆs�ˆsŒVˆÝ˜d b§j¢j°°QÑ&7Ô&7¸2À"ÐEÑEÔE‰ˆˆS�#ð
 �d˜3˜B˜3”i $ q r r¤(Ñ*Ñ+ˆå˜Ÿ	š	™œ T°Ð5Ñ5Ô5Ð5Ð5Ð5r7   c                 ó®   — ddgddggddgf}t          |d¦  «        \  }}}|dk    sJ ‚t          |ddgd¬¦  «         t          |ddgddggd¬¦  «         d S )	Nr   r   ç{®Gáz„?gUùxÊe±ï¿gü©ñÒMbP?r’   r�   gÞT(û|®ï¿)r'   r   )r(   Útfr^   r_   r4   s        r5   Útest_simo_tfzTestC2D.test_simo_tf=  s€   € à�1ˆv˜˜1�vÐ  A Ð'ˆÝ˜2˜t‘}”}‰ˆˆS�"à�TŠzˆzˆzˆzÝ˜˜a Ð.°TÐ:Ñ:Ô:Ð:Ý˜˜q "˜g¨¨;Ð'7Ð8¸tÐDÑDÔDÐDÐDÐDr7   c                 ó¦  — d}ddgddggddgf}t          ||¦  «        \  }}}|d         d         |d         f}t          ||¦  «        \  }}}	|d         d         |d         f}
t          |
|¦  «        \  }}}||	k    sJ ‚||k    sJ ‚t          |t          j        ||f¦  «        d¬¦  «         t          ||d¬¦  «         t          ||d¬¦  «         d S )Nr§   r   éýÿÿÿé   r   g‚vIhÂ%<=r’   )r'   r   r"   Úvstack)r(   Útsr¨   r^   r_   r4   Útf1Únum1Úden1Údt1Útf2Únum2Úden2Údt2s                 r5   Útest_multioutputzTestC2D.test_multioutputF  sú   € Øˆà�2ˆw˜˜A˜Ð ! Q Ð(ˆÝ˜2˜r‘{”{‰ˆˆS�"à�!Œu�QŒx˜˜AœÐˆÝ˜c 2™,œ,‰ˆˆd�Cà�!Œu�QŒx˜˜AœÐˆÝ˜c 2™,œ,‰ˆˆd�Cð �SŠyˆyˆyˆyØ�SŠyˆyˆyˆyõ 	˜�RœY¨¨d |Ñ4Ô4¸5ÐAÑAÔAÐAõ 	˜˜T¨Ð.Ñ.Ô.Ð.Ý˜˜T¨Ð.Ñ.Ô.Ð.Ð.Ð.r7   N)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚthread_unsafer6   r>   r@   rM   rR   rU   rX   r`   rl   r†   r¥   r©   r·   © r7   r5   r   r      sí   € € € € € Ø„[Ôð.ð .ñ Ôð.ð&.ð .ð .ð..ð .ð .ð,0ð 0ð 0ð4.ð .ð .ð00ð 0ð 0ð2*.ð *.ð *.ðX.ð .ð .ð.ð .ð .ð(("ð ("ð ("ðT&6ð &6ð &6ðPEð Eð Eð/ð /ð /ð /ð /r7   r   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú
TestC2dLtic                 ó$  — t          j        ddgddgg¦  «        }t          j        dgdgg¦  «        }t          j        ddgg¦  «        }d}t          j        ddgd	d
gg¦  «        }t          j        dgdgg¦  «        }t          ||||¦  «        }|                     d¦  «        }t	          |j        |¦  «         t	          |j        |¦  «         t	          |j        |¦  «         t	          |j        t          j	        |j        ¦  «        ¦  «         d S )Ng333333Ó¿çš™™™™™¹?rG   gffffffæ¿r   r   gÐ“»Ç<†ï?gö‡�ùs?gö‡�ùƒ?gã{Kpæî?g1vMñ ?g_†Ç·J(©?gš™™™™™©?)
r"   r&   r   Úto_discreter   rn   ro   rp   rq   Ú
zeros_like)	r(   rn   ro   rp   rq   ÚA_resÚB_resÚsys_sscÚsys_ssds	            r5   Útest_c2d_sszTestC2dLti.test_c2d_ss_  s  € åŒH�t˜S�k C¨ ;Ð/Ñ0Ô0ˆÝŒH�q�c˜A˜3�ZÑ Ô ˆÝŒH�q˜!�f�XÑÔˆØˆå”Ð,Ð.?Ð@Ø,Ð.?Ð@ðBñ Cô Cˆå”Ð,Ð-Ð0AÐ/BÐCÑDÔDˆå�a˜˜A˜q‘/”/ˆØ×%Ò% dÑ+Ô+ˆå˜œ	 5Ñ)Ô)Ð)Ý˜œ	 5Ñ)Ô)Ð)Ý˜œ	 1Ñ%Ô%Ð%Ý˜œ	¥2¤=°´Ñ#;Ô#;Ñ<Ô<Ð<Ð<Ð<r7   c                 ó  — t          ddgddg¦  «        }|                     d¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «        }t	          |j        |d¬	¦  «         t	          |j        |d¬	¦  «         d S )
Nr   rC   r   gš™™™™™Ù?g{®Gázt?g�â„i®ß¿gYì­›É]ï¿g{®Gáz”?)Úatol)r   rÃ   r"   r&   r   r_   r^   )r(   ÚsysÚnum_resÚden_ress       r5   Útest_c2d_tfzTestC2dLti.test_c2d_tfr  sŒ   € å�3˜�*˜s C˜jÑ)Ô)ˆØ�oŠo˜eÑ$Ô$ˆõ ”(˜CÐ!3Ð4Ñ5Ô5ˆÝ”(˜CÐ!3Ð4Ñ5Ô5ˆõ 	˜œ ¨tÐ4Ñ4Ô4Ð4Ý˜œ ¨tÐ4Ñ4Ô4Ð4Ð4Ð4r7   N)r¸   r¹   rº   rÉ   rÏ   r¾   r7   r5   rÀ   rÀ   ^  s2   € € € € € ð=ð =ð =ð&5ð 5ð 5ð 5ð 5r7   rÀ   c                   óR  — e Zd Z eddgg d¢¦  «        ddf eddgg d¢¦  «        ddf edg d	¢¦  «        ddfgZej                             d
e¦  «        d„ ¦   «         Zej                             d
e¦  «        d„ ¦   «         Z	ej                             d
e¦  «        d„ ¦   «         Z
dS )ÚTestC2dInvariantsr   )r   rO   r   r   é
   r   )r   rO   é   r   r   rÂ   )r   r   r   r   zsys,sample_time,samples_numberc                 ó8  — t          j        |¦  «        |z  }t          ||¬¦  «        \  }}t          t	          ||d¬¦  «        t          |¦  «        ¬¦  «        \  }}t          ||                     ¦   «         z  |d                              ¦   «         ¦  «         d S )N©r�   r   r    ©Únr   )r"   Úaranger   r   r'   Úlenr   r–   ©r(   rÌ   Úsample_timeÚsamples_numberÚtimeÚ_Ú	yout_contÚ	yout_discs           r5   Útest_impulse_invariantz(TestC2dInvariants.test_impulse_invariant‹  s“   € åŒy˜Ñ(Ô(¨;Ñ6ˆÝ˜s dÐ+Ñ+Ô+‰ˆˆ9Ý¥ C¨¸YÐ GÑ GÔ GÝ"% d¡)¤)ð-ñ -ô -‰ˆˆ9å˜ i§o¢oÑ&7Ô&7Ñ7¸À1¼×9KÒ9KÑ9MÔ9MÑNÔNÐNÐNÐNr7   c                 ó2  — t          j        |¦  «        |z  }t          ||¬¦  «        \  }}t          t	          ||d¬¦  «        t          |¦  «        ¬¦  «        \  }}t          |                     ¦   «         |d                              ¦   «         ¦  «         d S )NrÕ   r   r    rÖ   r   )r"   rØ   r   r   r'   rÙ   r   r–   rÚ   s           r5   Útest_step_invariantz%TestC2dInvariants.test_step_invariant”  s‡   € åŒy˜Ñ(Ô(¨;Ñ6ˆÝ˜C 4Ð(Ñ(Ô(‰ˆˆ9Ý�S  k¸%Ð@Ñ@Ô@ÅCÈÁIÄIÐNÑNÔN‰ˆˆ9Ý˜	ŸšÑ)Ô)¨9°Q¬<×+=Ò+=Ñ+?Ô+?Ñ@Ô@Ð@Ð@Ð@r7   c                 ó  — t          j        |¦  «        |z  }t          |||¬¦  «        \  }}}t          t	          ||d¬¦  «        |¬¦  «        \  }}}t          |                     ¦   «         |                     ¦   «         ¦  «         d S )N)r�   rŽ   r9   r    )r‹   )r"   rØ   r
   r   r'   r   r–   rÚ   s           r5   Útest_linear_invariantz'TestC2dInvariants.test_linear_invariantœ  s�   € åŒy˜Ñ(Ô(¨;Ñ6ˆÝ˜s d¨dÐ3Ñ3Ô3‰ˆˆ9�aÝ¥ C¨¸UÐ CÑ CÔ CÀtÐLÑLÔL‰ˆˆ9�aÝ˜	ŸšÑ)Ô)¨9¯?ª?Ñ+<Ô+<Ñ=Ô=Ð=Ð=Ð=r7   N)r¸   r¹   rº   r   Úcasesr»   r¼   Úparametrizerá   rã   rå   r¾   r7   r5   rÑ   rÑ   €  s	  € € € € € ð 
ˆ��1ˆv�{�{�{Ñ	#Ô	# T¨2Ð.Ø	ˆ��1ˆv�~�~�~Ñ	&Ô	&¨¨RÐ0Ø	ˆˆs�L�L�LÑ	!Ô	! 3¨Ð+ð€Eð „[×ÒÐ=¸uÑEÔEðOð Oñ FÔEðOð „[×ÒÐ=¸uÑEÔEðAð Añ FÔEðAð „[×ÒÐ=¸uÑEÔEð>ð >ñ FÔEð>ð >ð >r7   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¾   r7   r5   ú<module>rë      s@  ðØ Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð €€€Ø -Ð -Ð -Ð -Ð -Ð -Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ðM/ð M/ð M/ð M/ð M/ñ M/ô M/ð M/ð^
5ð 5ð 5ð 5ð 5ñ 5ô 5ð 5ðD!>ð !>ð !>ð !>ð !>ñ !>ô !>ð !>ð !>ð !>r7   