o
    h                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 ed\ZZZeddd	\ZZZZd
d Zdd Zdd ZG dd de
ZG dd de
ZG dd de
Zdd ZdS )    Integer)symbols)Dagger)AntiCommutator)Operatorza,b,czA,B,C,DF)commutativec                  C   sD   t tt} t| t sJ | jdu sJ | ttt ttks J d S )NF)ACommAB
isinstanceis_commutativesubsC)ac r   c/var/www/vscode/kcb/lib/python3.10/site-packages/sympy/physics/quantum/tests/test_anticommutator.pytest_anticommutator   s   
r   c                   C   s   t tt tt tt t tt ksJ t ttdtd  ks!J t ttt ttks-J t ttdt t ks:J t tt tt tt  ksKJ d S )N   )r	   ar
   br   doitr   r   r   r   test_commutator_identities   s
   (&r   c                   C   s(   t ttttt tt tksJ d S )N)r   r	   r
   r   r   r   r   r   test_anticommutator_dagger   s   (r   c                   @      e Zd Zdd ZdS )Fooc                 C      t dS )Nr   r   )selfbarr   r   r   _eval_anticommutator_Bar"      zFoo._eval_anticommutator_BarN)__name__
__module____qualname__r   r   r   r   r   r           r   c                   @   s   e Zd ZdS )BarN)r!   r"   r#   r   r   r   r   r%   &   s    r%   c                   @   r   )Tamc                 C   r   )N   r   )r   foor   r   r   _eval_anticommutator_Foo,   r    zTam._eval_anticommutator_FooN)r!   r"   r#   r)   r   r   r   r   r&   *   r$   r&   c                  C   s   t d} td}td}t| | dksJ t||  dks"J t| | dks-J t||  dks8J t|| || ||  ksIJ d S )NFr   Tr   r'   )r   r%   r&   r	   r   )r*   r   r+   r   r   r   test_eval_commutator0   s   &r,   N)sympy.core.numbersr   sympy.core.symbolr   sympy.physics.quantum.daggerr   $sympy.physics.quantum.anticommutatorr   r	   sympy.physics.quantum.operatorr   r   r   cr
   r   r   Dr   r   r   r   r%   r&   r,   r   r   r   r   <module>   s    