a
    ¬<b˜  ã                   @   sR   d dl mZmZmZ d dlmZ d dlmZmZ ddœdd„Z	G dd	„ d	eƒZ
d
S )é    )ÚAddÚArgumentIndexErrorÚFunction)ÚS)ÚcosÚsinT©Úevaluatec                C   s   t t| |dtj |dS )Nr   )r   r   r   ZOne)Úxr	   © r   úi/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/codegen/scipy_nodes.pyÚ_cosm1   s    r   c                   @   s6   e Zd ZdZdZddd„Zdd„ Zdd„ Zd	d
„ ZdS )Úcosm1zâ Minus one plus cosine of x, i.e. cos(x) - 1. For use when x is close to zero.

    Helper class for use with e.g. scipy.special.cosm1
    See: https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.cosm1.html
    é   c                 C   s"   |dkrt | jŽ  S t| |ƒ‚dS )z@
        Returns the first derivative of this function.
        r   N)r   Úargsr   )ÚselfZargindexr   r   r   Úfdiff   s    zcosm1.fdiffc                 K   s   t |ƒS ©N)r   )r   r
   Úkwargsr   r   r   Ú_eval_rewrite_as_cos   s    zcosm1._eval_rewrite_as_cosc                 O   s   |   t¡j|i |¤ŽS r   )Zrewriter   Zevalf)r   r   r   r   r   r   Ú_eval_evalf   s    zcosm1._eval_evalfc                 K   s4   t |jf i |¤Žƒ}|t |ddkr(|S t|ƒS d S )NFr   )r   Zsimplifyr   )r   r
   r   Ú	candidater   r   r   Ú_eval_simplify!   s    zcosm1._eval_simplifyN)r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Únargsr   r   r   r   r   r   r   r   r   
   s   
	r   N)Zsympy.core.functionr   r   r   Zsympy.core.singletonr   Z(sympy.functions.elementary.trigonometricr   r   r   r   r   r   r   r   Ú<module>   s   