
    z	i                    4   S r SSKJr  SSKJr  SSKJr  SSKr\R                  R                  R                  r\R                  R                  R                  r\R                  R                  R                  rSrS	S jr\R                   S 5       r\\\4   rg)
zP
ParameterExpression Class to enable creating simple expressions of Parameters.
    )annotations)Union)	HAS_SYMPYN)__add____sub____mul____truediv____pow__sincostanarcsinarccosexplogsigngradient	conjugatesubsabsarctan__rsub____rtruediv____rpow__c                &    [         [        U 5         $ )z+Return the method name for a given op_code.)_OP_CODE_MAPint)op_codes    \/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/circuit/parameterexpression.pyop_code_to_methodr    4   s    G%%    c           
     L   SSK n[        U [        5      (       a  UR                  U R                  5      $ U R                  5       (       a3  UR                  U R                  R                  5       R                  5      $  U R                  SS9nUR                  U5      $ ! [         a
  n SnAOSnAff = f/ nU R                   GHN  nUR                  UR                  4 HO  nUc  M  [        U[        5      (       a!  UR                  UR!                  5       5        M>  UR                  U5        MQ     [#        UR$                  5      nUR$                  [&        R(                  [&        R*                  [&        R,                  [&        R.                  [&        R0                  [&        R2                  [&        R4                  [&        R6                  1;   Ga	  UR                  5       nUR                  5       n	[        XR8                  5      (       d  [        XR8                  5      (       a  UR$                  [&        R(                  [&        R,                  4;   ad  UR$                  [&        R(                  :X  a  SnO UR$                  [&        R,                  :X  a  SnUR                  [;        X5      " U	5      5        GM  UR                  [;        X5      " U5      5        GM  UR                  5       n	UR$                  [&        R<                  :X  a$  UR                  [;        US5      " U	5      5        GMh  UR$                  [&        R>                  :X  a$  UR                  [;        US5      " U	5      5        GM  UR$                  [&        R@                  :X  a$  UR                  [;        US	5      " U	5      5        GM  UR$                  [&        RB                  :X  a$  UR                  [;        US
5      " U	5      5        GM.  UR                  [;        X5      " U	5      5        GMQ     UR                  5       $ )a.  Return symbolic expression as a raw Sympy object.

.. note::

    This is for interoperability only.  Qiskit will not accept or work with raw Sympy or
    Symegine expressions in its parameters, because they do not contain the tracking
    information used in circuit-parameter binding and assignment.
r   NF)strict__radd____rmul__acosasinatanAbs)"sympy
isinstance	ParameterSymbolname	is_symbol
parameterspopnumericNumber	TypeError_qpy_replaylhsrhsParameterExpressionappendsympifyr    opOpCodeADDSUBMULDIVPOWRSUBRDIVRPOWBasicgetattrACOSASINATANABS)

expressionr*   value_stackinstoperand
method_strr7   r6   s
             r   r:   r:   9   s     *i((||JOO,,					||J11557<<==""%"0||E""  E&&$((+G"g':;;LL!23LL) , 'tww/
77JJJJJJJJJJKKKKKK	
 	
 ))+C))+C sKK00sKK00GG

FJJ7777fjj(!+JWW

*!+JWS5c:;WS5c:; ))+Cww&++%WUF3C89FKK'WUF3C89FKK'WUF3C89FJJ&WUE2378WU7<=c 'f 99;s   >B 
B2-B2)r   zOpCode | intreturnstr)__doc__
__future__r   typingr   qiskit.utils.optionalsr   qiskit._accelerate.circuitqiskit_acceleratecircuitr,   r8   r<   r   r    require_in_callr:   floatParameterValueType r!   r   <module>r`      s    #  , !&&00	((00DD 				#	#	*	*2&
 N Nf .56 r!   