
    i                     @    S r SSKrSSKJr  / SQr\S 5       rS rS rg)	zK
Required functions for optimized contractions of numpy arrays using cupy.
    N   )to_backend_cache_wrap)to_cupybuild_expressionevaluate_constantsc                 n    SS K n[        U [        R                  5      (       a  UR	                  U 5      $ U $ )Nr   )cupy
isinstancenpndarrayasarray)arrayr	   s     X/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/opt_einsum/backends/cupy.pyr   r      s*    %$$||E""L    c                    ^ U4S jnU$ )z<Build a cupy function based on ``arrays`` and ``expr``.
    c                  ~   > TR                  U  Vs/ s H  n[        U5      PM     snSS9R                  5       $ s  snf )Nr	   )backend)	_contractr   get)arraysxexprs     r   cupy_contract'build_expression.<locals>.cupy_contract   s5    ~~6:6awqz6:F~KOOQQ:s   : )_r   r   s    ` r   r   r      s    R r   c                 R    U" U  Vs/ s H  n[        U5      PM     snSSS.6$ s  snf )z[Convert constant arguments to cupy arrays, and perform any possible
constant contractions.
r	   T)r   r   )r   )const_arraysr   r   s      r   r   r      s*     l3l'!*l3VX\]]3s   $)	__doc__numpyr   sharingr   __all__r   r   r   r   r   r   <module>r#      s6     +
?  ^r   