
    sg0                         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mZ d dlmZ d dlmZ  ed      Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zy)    )labellerrender_labelMzCreateOneQubitGateCreateCGate)CNOTHSWAPCGateST)import_module)skip
matplotlibc                  J    t        d      dk(  sJ t        dddi      dk(  sJ y )Nq0z$\left|q0\right\rangle$0z,$\left|q0\right\rangle=\left|0\right\rangle$)r        _/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_circuitplot.pytest_render_labelr   	   s0    !;;;;tSk*.]]]]r   c                  6    t        t        d            dk(  sJ y )Nr   zMz(0))strr   r   r   r   test_Mzr      s    r!u:   r   c                  F    t        d      } t         | d            dk(  sJ y )NQr   zQ(0))r   r   Qgates    r   test_create1r      s"    s#EuQx=F"""r   c                  J    t        d      } t         | dgd            dk(  sJ y )Nr      r   zC((1),Q(0)))r   r   r   s    r   test_createcr"      s'    EuaS|---r   c                  N    t        d      ddgk(  sJ t        dd      g dk(  sJ y)zTest the labeller utility   q_1q_0   jj_2j_1j_0N)r   r   r   r   test_labellerr-      s-    A;5%.(((Ac?3333r   c                  f   t         st        d       nddlm}    t	        dd      dt        d            }|j                  dk(  sJ |j                  dk(  sJ |j                  ddgk(  sJ  | t	        dd      d      }|j                  dk(  sJ |j                  dk(  sJ |j                  g k(  sJ y	)
zTest a simple cnot circuit. Right now this only makes sure the code doesn't
    raise an exception, and some simple properties
    matplotlib not installedr   CircuitPlotr!   r$   labelsr%   r&   N)	mplr   !sympy.physics.quantum.circuitplotr1   r   r   ngatesnqubitsr3   r1   cs     r   	test_cnotr:      s     '(AD1Iax{3A88q==99>>88u~%%%D1Ia A88q==99>>88r>>r   c                      t         st        d       nddlm}    t	        dd      t        d      z  dt        d            }|j                  dk(  sJ |j                  dk(  sJ |j                  ddgk(  sJ y )	Nr/   r   r0   r!   r$   r2   r%   r&   )
r4   r   r5   r1   r   r	   r   r6   r7   r3   r8   s     r   test_ex1r<   0   sg    '(AD1IadN1HQK8A88q==99>>88u~%%%r   c            	         t         st        d       nddlm}    t	        dd      t        d      z  t        dt        d            z  t        d      z  t        dt        d            z  t        dt        d            z  t        d      z  dt        dd	      
      }|j                  dk(  sJ |j                  dk(  sJ |j                  g dk(  sJ y )Nr/   r   r0   r$   )r   r!   )r!   r'   r(   r2      r)   )r4   r   r5   r1   r
   r	   r   r   r   r   r6   r7   r3   r8   s     r   test_ex4r?   ;   s    '(AD1IadNE$qt$44ad:5ad;KK4!%&&'d++,HQsO	EA88q==99>>88,,,,r   N)r5   r   r   r   r   r   sympy.physics.quantum.gater   r	   r
   r   r   r   sympy.externalr   sympy.testing.pytestr   r4   r   r   r   r"   r-   r:   r<   r?   r   r   r   <module>rC      sN     A A ( %L!^!#.4
&	&
-r   