
    hL                     B    S SK rS SKrS SKJr  S SKJr   " S S\5      rg)    N)Base)expectc                   d    \ rS rSr\SS j5       r\SS j5       r\SS j5       r\SS j5       rSr	g)	
GridSample   Nc                  f   [         R                  R                  SSS/S/SSSS9n [        R                  " / S	Q/ S
Q/ SQ/ SQ///[        R
                  S9n[        R                  " SS/SS/SS/SS/SS/SS//SS/SS/SS/SS/SS/SS//SS/SS/SS/SS/SS/SS//SS/SS/SS/SS/SS/SS//SS/SS/SS/SS/SS/SS//SS/SS/SS/SS/SS/SS////[        R
                  S9n[        R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ///[        R
                  S9n[        XU/U/SS9  g )Nr   XGridYlinearzerosr   )inputsoutputsmodepadding_modealign_corners)              ?       @      @)      @      @      @      @)       @      "@      $@      &@)      (@g      *@g      ,@g      .@dtype      333333皙ɿ皙?333333?r   )r   g333333?g?gffffff?g?g      ?)r&         ?gffffff@g@g333333@ @)皙@@g      @g333333@gffffff@皙@)gffffff@g@gffffff!@g      #@g$@g333333@)皙@g333333&@g'@gffffff)@g      +@g@)r   g@g333333@g@gffffff@      @test_gridsampler   r   name)onnxhelper	make_nodenparrayfloat32r   )noder	   r
   r   s       `/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/gridsample.pyexport_gridsampleGridSample.export_gridsample   s,   {{$$=E  % 
 HH -,.0		 **
 xx !'* '* '*))) !'* '* '*))) !'* '* '*))) !&) &) &)((( !&) &) &)((( !&) &) &)(((S13h **k6
p HH IHHILH	 **
 	tIs9JK    c                     [         R                  " SS/SS/SS////[         R                  S9n [         R                  " SS/S	S	/S
S
/SS//SS/S
S
/SS/SS////[         R                  S9n[        R                  R                  SSS/S/SS9n[         R                  " / SQ/ SQ///[         R                  S9n[        UX/U/SS9  [        R                  R                  SSS/S/SS9n[         R                  " / SQ/ SQ///[         R                  S9n[        UX/U/SS9  [        R                  R                  SSS/S/SS9n[         R                  " / SQ/ SQ///[         R                  S9n[        UX/U/SS9  g )Nr   r   r   r   r   r   r    g      $g      r$   r   r   r	   r
   r   r   )r   r   r   )r   r   333333?r   )r   r=   r   r   test_gridsample_zeros_paddingr/   border)r   r   r=   r   )r   r=   r   r   test_gridsample_border_padding
reflection)      @r   r=   rB   )rB   r=   r   rB   "test_gridsample_reflection_paddingr4   r5   r6   r1   r2   r3   r   )r	   r
   r7   Y_zerosY_borderY_reflections         r8   export_gridsample_paddingmode(GridSample.export_gridsample_paddingmodeo   s    HHSzC:Sz234**

 xx "8, '* '* '*	 !'* '*( '*	  **#
* {{$$=E 	 % 
 ((/1QRST**

 	9I0		
 {{$$=E!	 % 
 88/1QRST**

 	9J1		
 {{$$=E%	 % 
 xx/1QRST**

 	9!N5		
r;   c                     [         R                  " SS/SS/SS////[         R                  S9n [         R                  " SS/S	S	/S
S
/SS//SS/S
S
/SS/SS////[         R                  S9n[        R                  R                  SSS/S/SS9n[         R                  " / SQ/ SQ///[         R                  S9n[        UX/U/SS9  [        R                  R                  SSS/S/SSS9n[         R                  " / SQ/ SQ///[         R                  S9n[        UX/U/SS9  [        R                  R                  SSS/S/SS9n[         R                  " / SQ/ SQ///[         R                  S9n[        X U/U/SS9  [        R                  R                  SSS/S/SS9n[         R                  " / S Q/ S!Q///[         R                  S9n[        X U/U/S"S9  [         R                  " SS#/S$S	/S%S
/S&S//SS'/S(S
/S)S/SS////[         R                  S9n[        R                  R                  SSS/S/SS*S9n[         R                  " / S+Q/ S,Q///[         R                  S9n[        UX/U/S-S9  [        R                  R                  SSS/S/SSS9n[         R                  " / S+Q/ S.Q///[         R                  S9n[        UX/U/S/S9  [        R                  R                  SSS/S/SS*S9n[         R                  " / S0Q/ S1Q///[         R                  S9n[        UX/U/S2S9  [        R                  R                  SSS/S/SSS9n[         R                  " / S3Q/ S4Q///[         R                  S9n[        UX/U/S5S9  [        R                  R                  SSS/S/SS*S9n[         R                  " / S6Q/ S7Q///[         R                  S9n[        UX/U/S8S9  [        R                  R                  SSS/S/SSS9n[         R                  " / S9Q/ S:Q///[         R                  S9n[        UX/U/S;S9  g )<Nr   r   r   r   r   r   r    r"         r$         ?r   r	   r
   r   r   )r   r   r   )r   rL   r=   rB   )rB   r=   g      @      ?test_gridsample_bilinearr/      r   r   r   r   )r   rM   r   rB   )rB   r   r-   r   !test_gridsample_aligncorners_truenearest)r   r   r   r   )r   r   r   r   test_gridsample_nearestcubic)gH.g):?绸?6@)rV   rU   g@g??test_gridsample_bicubic皙r#   ggffffff?皙?r%   333333ӿr   )r   r   r   r   )r   r   r   r   4test_gridsample_nearest_align_corners_0_additional_1)r   r   r   r   4test_gridsample_nearest_align_corners_1_additional_1)r   ?g?333333@)r+   r(   r+   r   5test_gridsample_bilinear_align_corners_0_additional_1)rY   g333333?gffffff @g@)ffffff
@r)   g
@r   5test_gridsample_bilinear_align_corners_1_additional_1)gV-ƿgoe1?g
?g%C@)gX9v@gD2zF@g|b@g     ?4test_gridsample_bicubic_align_corners_0_additional_1)g	<t?g(\?gS?o*R!@g,(	@)gK7A @g@ȓ@g6f@r   4test_gridsample_bicubic_align_corners_1_additional_1rD   )r	   r
   r7   
Y_bilinearY_align_corners	Y_nearest	Y_bicubics          r8   #export_gridsample_mode_aligncorners.GridSample.export_gridsample_mode_aligncorners   sm    HHSzC:Sz234**

 xx !'* '* '*(	  ( '*((	  **#
* {{$$=E	 % 
 XX/1QRST**


 	9L+		
 {{$$=E % 
 ((/1QRST**

 	9$%4		
 {{$$=E	 % 
 HH#%9:;<**
	
 	TYK>W	

 {{$$=E	 % 
 HH02RSTU**
	
 	TYK>W	
 xx D\D$<$SzJ3Z#ttSkD#;G **
 {{$$=E % 
 HH#%9:;<**
	
 	9KG		
 {{$$=E % 
 HH#%9:;<**
	
 	9KG		
 {{$$=E % 
 XX/1QRST**


 	9LH		
 {{$$=E % 
 XX/1QRST**


 	9LH		
 {{$$=E % 
 HH B@ **

	 	9KG		
 {{$$=E % 
 HH A@ **

	 	9KG		
r;   c            	         [         R                  " SS/SS//SS/SS//S	S
/SS/////[         R                  S9n [         R                  " / SQ/ SQ// SQ/ SQ// SQ/ SQ// SQ/ SQ/// SQ/ SQ// SQ/ SQ// SQ/ SQ// SQ/ SQ////[         R                  S9n[        R                  R                  SSS/S/S S!S"9n[         R                  " SS/SS#/SS/SS//SS#/SS#/SS	/S#S/////[         R                  S9n[        UX/U/S$S%9  [        R                  R                  SSS/S/S S&S"9n[         R                  " SS/SS/SS/SS//SS/SS/SS	/SS/////[         R                  S9n[        UX/U/S'S%9  [        R                  R                  SSS/S/S(S!S"9n[         R                  " S)S*/SS+/S,S-/S.S//S.S//S,S0/SS1/S2S3/////[         R                  S9n[        UX/U/S4S%9  [        R                  R                  SSS/S/S(S&S"9n[         R                  " SS5/S6S7/S8S9/S.S//S.S/S8S:/S;S</SS=/////[         R                  S9n[        UX/U/S>S%9  g )?Nr   r   r   r   r   r   r   r   r   r   r   r   r    )r"   r"   r"   )r"   rK   g333333?)rK   rK   rK   )r   r#   r"   )r$   r$   r$   )rY   r%   r&   )r   r   r   )r"   r   r   )r"   r   r   )r   rY   r$   )rL   rL   rL   )r"   rX   g?)r   r   r   )rY   r&   rZ   r   r	   r
   r   rR   r   rP   r   2test_gridsample_volumetric_nearest_align_corners_0r/   rO   2test_gridsample_volumetric_nearest_align_corners_1r   g      ?g333333@r]   r*   g%@g      @g      ?r`   g)\(@r'   g(\@3test_gridsample_volumetric_bilinear_align_corners_0g@r-   r^   r,   g"@gffffff@g     "@g @gffffff@3test_gridsample_volumetric_bilinear_align_corners_1rD   )r	   r
   r7   rf   rd   s        r8   /export_volumeetric_gridsample_mode_aligncorners:GridSample.export_volumeetric_gridsample_mode_aligncorners  s   HH sc3Z0sc3Z0ttTl3 **
 xx ,->?+->?+_=(*:;	 )*:;+-=>(*;<(*:;	  **#
( {{$$=E % 
 HH sc3Z#tsCjIsc3Z$sCjI **

	 	9KE		
 {{$$=E % 
 HH sc3Z#tsCjIsc3Z$tSkJ **

	 	9KE		
 {{$$=E % 
 XX
 $V,#V,#W-#V,	 $V,#V,$f-#V,	$ **'

, 	9LF		
 {{$$=E % 
 XX
 $V,#V,#V,#V,	 $V,#V,#V,$f-	$ **'

, 	9LF		
r;    )returnN)
__name__
__module____qualname____firstlineno__staticmethodr9   rH   rh   ro   __static_attributes__rq   r;   r8   r   r      sc    _L _LB U
 U
n y
 y
v `
 `
Dr;   r   )numpyr4   r1   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   rq   r;   r8   <module>r|      s!   
   , .u	 u	r;   