+
    i                         ^ RI HtHtHtHtHtHtHtHt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 ^ RIHt R tR tR tR tR	 tR
 tR tR tR tR t R t!R t"R t#R t$R t%R t&R# )    )	Qasm
flip_indextrim	get_indexnonblank	fullsplit
fixcommandstripquotes	read_qasm)XZHST)CNOTSWAPCPHASECGateCGateS)Mzc                      R p \        V 4      pVP                  4       \        ^^ 4      \        ^4      ,          8X  g   Q hR# )z;    qubit q_0
    qubit q_1
    h q_0
    cnot q_0,q_1
    N)r   get_circuitr   r   )
qasm_linesqs     c/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/physics/quantum/tests/test_qasm.pytest_qasm_readqasmr      s7    J 	*A==?d1Qi!n,,,    c                      \        R RRR4      p V P                  4       \        ^^ 4      \        ^4      ,          8X  g   Q hR# )qubit q0qubit q1zh q0
cnot q0,q1N)r   r   r   r   r   s    r   test_qasm_ex1r#      s4    ZV\:A==?d1Qi!n,,,r   c                     \        4       p V P                  R 4       V P                  R4       V P                  R 4       V P                  R R4       V P	                  4       \        ^^ 4      \        ^4      ,          8X  g   Q hR# )q_0q_1N)r   qubithcnotr   r   r   r"   s    r   test_qasm_ex1_methodcallsr*      sZ    AGGENGGENCCJFF5%==?d1Qi!n,,,r   c                      \        R RRRR4      p V P                  4       \        ^^ 4      \        ^ ^4      ,          \        ^^ 4      ,          8X  g   Q hR# )r   r    r!   z
cnot q1,q0N)r   r   r   r"   s    r   test_qasm_swapr,      sD    Z\<NA==?d1QiQq	1$q);;;;r   c                  |   \        R RRRRRRRRR	R
4      p V P                  4       \        ^\        ^ 4      4      \        ^\	        ^ 4      4      ,          \        ^4      ,          \        ^4      ,          \        ^4      ,          \        ^^4      ,          \        ^^ 4      ,          \        ^4      ,          8X  g   Q hR# )	qubit q_0	qubit q_1z	qubit q_2zh  q_1zcnot q_1,q_2zcnot q_0,q_1zh q_0zmeasure q_1zmeasure q_0zc-x q_1,q_2zc-z q_0,q_2N)r   r   r   r   r   r   r   r   r"   s    r   test_qasm_ex2r0   "   s    [+{H^WMM	+A ==?eAadmE!AaDM9"Q%?1EadJ4PQRS9TUYZ[\]U^^_`ab_cccccr   c                      R \         3R\        3R\        3R\        3R\        3R\
        33 F5  w  r\        RRV ,          4      pVP                  4       V! ^ 4      8X  d   K5  Q h	  R# )	xzr(   stmeasurer.   z%s q_0N)r   r   r   r   r   r   r   r   symbolgater   s      r   test_qasm_1qr:   )   s^    qC8c1XQx#qIWY?[h/0}}$q'))) \r   c                      R \         3R\        3R\        33 F7  w  r\        RRRV ,          4      pVP	                  4       V! ^^ 4      8X  d   K7  Q h	  R# )r)   swapcphaser.   r/   z
%s q_0,q_1N)r   r   r   r   r   r7   s      r   test_qasm_2qr>   .   sP     $&$(F9KLk<&+@A}}$q)+++ Mr   c                  v    \        R RRR4      p V P                  4       \        R\        ^4      4      8X  g   Q hR# )r   r    zqubit q2ztoffoli q2,q1,q0N)r      )r   r   r   r   r"   s    r   test_qasm_3qrA   3   s2    ZZ1CDA==?fU1Q40000r   c                  R    \        ^ ^4      ^8X  g   Q h\        ^^4      ^ 8X  g   Q hR# )r   N)r    r   r   test_qasm_flip_indexrD   7   s,    aq   aq   r   c                  N    \        R 4      R 8X  g   Q h\        R4      R8X  g   Q hR# )znothing happens herezSomething #happens herez
Something N)r   rC   r   r   test_qasm_trimrF   ;   s+    &'+AAAA)*l:::r   c                  Z    \        R R R.4      ^8X  g   Q h\        RR R.4      ^ 8X  g   Q hR# )q0q1N)r   rC   r   r   test_qasm_get_indexrJ   ?   s4    TD$<(A---TD$<(A---r   c                      \        \        R 4      4      \        R 4      8X  g   Q h\        \        R4      4      \        R4      8X  g   Q hR# )abcdzabc abcN)listr   rC   r   r   test_qasm_nonblankrO   C   s:     !T&\111 !T%[000r   c                  2    \        R 4      R. RO38X  g   Q hR# )zg q0,q1,q2,  q3gN)rH   rI   q2q3)r   rC   r   r   test_qasm_fullsplitrT   G   s    &'C1I+JJJJr   c                  N    \        R 4      R 8X  g   Q h\        R4      R8X  g   Q hR# )foodefqdefN)r	   rC   r   r   test_qasm_fixcommandrY   J   s(    e%%%e&&&r   c                  r    \        R 4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q hR# )z'S'r   z"S"N)r
   rC   r   r   test_qasm_stripquotesr[   N   s;    u$$$u$$$ss"""r   c                      \        R RR4      p \        V P                  4       4      R8X  g   Q h\        RRRR4      p \        V P                  4       4      R8X  g   Q hR# )	z	def Q,0,Qr   zQ q0zQ(0)z
def CQ,1,Qr    zCQ q0,q1zC((1),Q(0))N)r   strr   r"   s    r   test_qasm_qdefr^   S   sR    [F+Aq}}6)))\:z:>Aq}}=000r   N)'sympy.physics.quantum.qasmr   r   r   r   r   r   r	   r
   r   sympy.physics.quantum.gater   r   r   r   r   r   r   r   r   r   !sympy.physics.quantum.circuitplotr   r   r#   r*   r,   r0   r:   r>   rA   rD   rF   rJ   rO   rT   rY   r[   r^   rC   r   r   <module>rb      sx   H H H 4 4 H H 0---<
d*
,
1!;.1K'#
1r   