ó
    ¿íØh‡  ã                   óR   • S SK rS SKrS SKJr  S SKJr  S SKJrJ	r	   " S S\5      r
g)é    N)ÚBase)Úexpect)ÚAI_ONNX_PREVIEW_TRAINING_DOMAINÚONNX_DOMAINc                   ó<   • \ rS rSr\SS j5       r\SS j5       rSrg)ÚGradienté   Nc                  ó¢  • [         R                  R                  SSS/S/SS9n [         R                  R                  SSS/SS	/S
[        SS/SS9n[        R
                  " S5      R                  [        R                  5      n[        R
                  " S5      R                  [        R                  5      nX#-   n[        R
                  " S5      R                  [        R                  5      n[        R
                  " S5      R                  [        R                  5      n[         R                  R                  X/S[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      /[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      [         R                  R                  S	[         R                  R                  / 5      /S9n[         R                  R                  [        S5      [         R                  R                  [        S5      /n[         R                  R                  USUS9n	[        X’U/XEU/SS9  g )NÚAddÚaÚbÚcÚmy_add©Únamer   Údc_daÚdc_dbÚmy_gradient©r   ÚdomainÚxsÚyç      ð?ç       @é   ÚGradientOfAdd©Únodesr   ÚinputsÚoutputsé   úbackend-test©Úproducer_nameÚopset_importsÚtest_gradient_of_add©r   r    r   ©ÚonnxÚhelperÚ	make_noder   ÚnpÚarrayÚastypeÚfloat32Ú
make_graphÚmake_tensor_value_infoÚTensorProtoÚFLOATÚmake_operatorsetidr   Úmake_model_gen_versionr   )
Úadd_nodeÚgradient_noder   r   r   r   r   ÚgraphÚopsetsÚmodels
             Ú_/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/model/gradient.pyÚexport_gradient_scalar_addÚ#Gradient.export_gradient_scalar_add   s%  € ä—;‘;×(Ñ(¨°°c°
¸S¸EÈÐ(ÐQˆÜŸ™×-Ñ-ØØ#ˆJØgÐØÜ2ØSˆzØð .ð 
ˆô HŠHS‹M× Ñ ¤§¡Ó,ˆÜHŠHS‹M× Ñ ¤§¡Ó,ˆØ‰Eˆä—’˜“×"Ñ"¤2§:¡:Ó.ˆä—’˜“×"Ñ"¤2§:¡:Ó.ˆä—‘×&Ñ&ØÐ+Ø ä—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSðô
 —‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWðð 'ð 
ˆô K‰K×*Ñ*¬;¸Ó;ÜK‰K×*Ñ*Ô+JÈAÓNð
ˆô —‘×2Ñ2Ø ¸vð 3ð 
ˆô 	Ø˜a˜&¨1°UÐ*;ÐBXó	
ó    c                  ót  • [         R                  R                  SSS/S/SS9n [         R                  R                  SSS/S/S	S9n[         R                  R                  S
SS/SS/S[        SS/SS9n[        R
                  " S5      R                  [        R                  5      n[        R
                  " S5      R                  [        R                  5      nX4-   nX5-  nSU-  U-   R                  [        R                  5      nUn[         R                  R                  XU/S[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      /[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      /S9n	[         R                  R                  [        S5      [         R                  R                  [        S5      /n
[         R                  R                  U	SU
S9n[        UX4/XgU/SS9  g )Nr   r   r   r   r   r   ÚMulÚdÚmy_mulr   Údd_daÚdd_dbr   r   r   r   é   ÚGradientOfTwoOperatorsr   r!   r   r"   r#   Útest_gradient_of_add_and_mulr'   r(   )r6   Úmul_noder7   r   r   r   rA   rC   rD   r8   r9   r:   s               r;   Ú"export_gradient_scalar_add_and_mulÚ+Gradient.export_gradient_scalar_add_and_mul;   s<  € ä—;‘;×(Ñ(¨°°c°
¸S¸EÈÐ(ÐQˆÜ—;‘;×(Ñ(¨°°c°
¸S¸EÈÐ(ÐQˆÜŸ™×-Ñ-ØØ#ˆJØgÐØÜ2ØSˆzØð .ð 
ˆô HŠHS‹M× Ñ ¤§¡Ó,ˆÜHŠHS‹M× Ñ ¤§¡Ó,ˆØ‰Eˆà‰EˆàQ‘˜‘×"Ñ"¤2§:¡:Ó.ˆàˆä—‘×&Ñ&Ø }Ð5Ø)ä—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSðô
 —‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWðð 'ð 
ˆô K‰K×*Ñ*¬;¸Ó;ÜK‰K×*Ñ*Ô+JÈAÓNð
ˆô —‘×2Ñ2Ø ¸vð 3ð 
ˆô 	ØØ6Ø˜uÐ%Ø/ó		
r>   © )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ústaticmethodr<   rI   Ú__static_attributes__rK   r>   r;   r   r      s)   † Øó*
ó ð*
ðX ó1
ó ó1
r>   r   )Únumpyr,   r)   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.modelr   Ú	onnx.defsr   r   r   rK   r>   r;   Ú<module>rW      s$   ðó
 ã Ý ,Ý /ß Bô`
ˆtõ `
r>   