
    SiM                    N    S SK Jr  S SKrS SKrS SKJr  S SKJr   " S S\5      r	g)    )annotationsN)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   c                 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       e/var/www/html/ai-image-ml/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_paddingr0   border)r   r   r>   r   )r   r>   r   r   test_gridsample_border_padding
reflection)      @r   r>   rC   )rC   r>   r   rC   "test_gridsample_reflection_paddingr5   r6   r7   r2   r3   r4   r   )r
   r   r8   Y_zerosY_borderY_reflections         r9   export_gridsample_paddingmode(GridSample.export_gridsample_paddingmodep   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   rM   r>   rC   )rC   r>   g      @      ?test_gridsample_bilinearr0      r   r   r   r   )r   rN   r   rC   )rC   r   r.   r   !test_gridsample_aligncorners_truenearest)r   r   r   r   )r   r   r   r   test_gridsample_nearestcubic)gH.g):?绸?6@)rW   rV   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)rZ   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_1rE   )r
   r   r8   
Y_bilinearY_align_corners	Y_nearest	Y_bicubics          r9   #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#   rL   g333333?)rL   rL   rL   )r   r$   r#   )r%   r%   r%   )rZ   r&   r'   )r   r   r   )r#   r   r   )r#   r   r   )r   rZ   r%   )rM   rM   rM   )r#   rY   g?)r   r   r   )rZ   r'   r[   r   r
   r   r   rS   r   rQ   r   2test_gridsample_volumetric_nearest_align_corners_0r0   rP   2test_gridsample_volumetric_nearest_align_corners_1r   g      ?g333333@r^   r+   g%@g      @g      ?ra   g)\(@r(   g(\@3test_gridsample_volumetric_bilinear_align_corners_0g@r.   r_   r-   g"@gffffff@g     "@g @gffffff@3test_gridsample_volumetric_bilinear_align_corners_1rE   )r
   r   r8   rg   re   s        r9   /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<    N)returnNone)
__name__
__module____qualname____firstlineno__staticmethodr:   rI   ri   rp   __static_attributes__rr   r<   r9   r   r      sc    _L _LB U
 U
n y
 y
v `
 `
Dr<   r   )

__future__r   numpyr5   r2   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   rr   r<   r9   <module>r      s$    #   , .u	 u	r<   