U
    L?h>                     @   sD   d dl mZmZ d dlmZ d dlmZ dd Zdd Zdd	 Z	d
S )    )RecurrenceOperatorsRecurrenceOperator)symbols)QQc                  C   s:  t ddd} tt| d\}}||  | d | ks8t|| d  | d d d|   | ks`t|d | d  | d d|   d |d  kst|d | d  ||   d }| d d|   d |d  d| d  d	| d   d
|   d |d   | d d| d   d| d   d|   d |d   }||ks6td S )NnTintegerSn               9   4      u   iD     )r   r   r   old_poly_ringAssertionError)r   Rr	   pq r   W/var/www/html/venv/lib/python3.8/site-packages/sympy/holonomic/tests/test_recurrence.pytest_RecurrenceOperator   s     (0X
r   c                  C   sn   t ddd} tt| d\}}t| d ddg|}t| d d| g|}||krTt|jd }||krjtd S )Nr   Tr   r	   r   r   r
   )r   r   r   r   r   r   Z
listofpoly)r   r   r	   rrZrr2Zd2r   r   r   test_RecurrenceOperatorEqPoly   s    
r   c                  C   sn   t ddd} tt| d\}}t| d ddg|}t|jjg|}tdD ]}||| ks`t||9 }qLd S )Nr   Tr   r	   r   r   
   )	r   r   r   r   r   baseoneranger   )r   r   _r   amr   r   r   test_RecurrenceOperatorPow"   s    r%   N)
Zsympy.holonomic.recurrencer   r   Zsympy.core.symbolr   Z!sympy.polys.domains.rationalfieldr   r   r   r%   r   r   r   r   <module>   s
   