
    z	i                     6    S r SSKJr  SSKJr   " S S\5      rg)z*Check if a property reached a fixed point.    )deepcopy)AnalysisPassc                   2   ^  \ rS rSrSrU 4S jrS rSrU =r$ )
FixedPoint   zCheck if a property reached a fixed point.

A dummy analysis pass that checks if a property reached a fixed point.
The result is saved in ``property_set['<property>_fixed_point']``
as a boolean.
c                 .   > [         TU ]  5         Xl        g)zpFixedPoint initializer.

Args:
    property_to_check (str): The property to check if a fixed point was reached.
N)super__init__	_property)selfproperty_to_check	__class__s     d/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/transpiler/passes/utils/fixed_point.pyr
   FixedPoint.__init__   s     	*    c                 8   U R                   U R                     nSU R                   3nU R                   U   c  SU R                   U R                   S3'   O-U R                   U   U:H  nX@R                   U R                   S3'   [        U5      U R                   U'   g)z!Run the FixedPoint pass on `dag`._fixed_point_previous_NF_fixed_point)property_setr   r   )r   dagcurrent_valuefixed_point_previous_propertyfixed_point_reacheds        r   runFixedPoint.run%   s    ))$..9*@@P(Q%:;CAFD 0=>"&"3"34Q"RVc"cAT 0=>;CM;R78r   )r   )	__name__
__module____qualname____firstlineno____doc__r
   r   __static_attributes____classcell__)r   s   @r   r   r      s    +S Sr   r   N)r    copyr   qiskit.transpiler.basepassesr   r    r   r   <module>r&      s    1  5S Sr   