
    h%:                     H    S SK rS SKrS SKJr  S SKJr  S r " S S\5      rg)    N)Base)expectc                  2   [         R                  " / 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                  " / SQ[         R                  S9n[         R                  " / SQ/ SQ/ SQ/[         R                  S9nXU4$ )N
gTR'?gzG?g9EGr?g??g1?gݓ?g؁sF?gq?g?g333333?
gfa?gx?glV}?g@߾?ggj+?g=U?gZd;?g(~k	?g??gǘ?
gL7A`?gH.!?gF%u?gk	?guq?g*	?gQI?gy):?g(\?gꕲq?
g0*?gjt?g/$?g1w-!?gm4?g\ Ac?gm4?g0*?glxz,C?giq?
gH.?g_L?g-?gH.?g>W[?gU?g rh?gMbX9?g_vO?gMO?
g?g	h"l?g?g37?gmV}b?geX?g_L?gjt?gۊe?g@?
gR'?6[ ?g??g?߾?gC?gBi?gΪV?gl?O@a?gS:?
gQ|?t$~?g8gDio?gq?g?gZd;?g'1Z?gq?g1w-!?gi o?
g~:?46<?g(y?a+e?gX ?gx#?gQ?gгYں?g#?g?
g ~:p?g|гY?gz6?gQI&?gsh|??gV/?g:M?g_Q?gYڊ?gݵ|г?dtyper   r   r   )r   r   	   r   )r         r   )r   r   r   r   )nparrayfloat32int64)Xbatch_indicesroiss      ^/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/roialign.pyget_roi_align_input_valuesr#      s    
[y{}	
| jj@	AB HHYbhh7M88\<>bjjQDT!!    c                   P    \ rS rSr\SS j5       r\SS j5       r\SS j5       rSrg)RoiAlign   Nc                  6   [         R                  R                  S/ SQS/SSSSSS9n [        5       u  p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///[        R                  S9n[        U XU/U/SS9  g )Nr&   r   r!   r    Y      ?r      output_half_pixelinputsoutputsspatial_scaleoutput_heightoutput_widthsampling_ratiocoordinate_transformation_mode)g}b?g0*?gn?g߾3?gBfj?)gi o?gt$~?g%C?g\ Ac?gX9v?)geX?gUN@?g?ܵ?gTR'?gW2ı?)gy)?gqh ?g?grh|?g2U0*?)gI.!?g?gr?gFx?g|?5^?)gz6>W?gZd;O?g(?gR!u?gݓZ?)gڊe?g(\?gI+?g:M?g r?)g&S?g|a2U0?gw#?gʡE?giq?)g	c?gu?gǺ?g'W?gL
F%u?)g(?gTR'?g?ܵ?g6>W[?gMbX?)g2%?`TR'?g?gQ?g46<R?)gQ?gMbX9?g;pΈ?gk+ݓ?g6[ ?)gOe?gT?g0*D?gQ|a?gMb?)gA`"?g	h"l?gk	g?gۊe?g
ףp=
?)gV-?gw-!l?gz?g2ı.n?gJ4?r   test_roialign_aligned_falser/   r0   nameonnxhelper	make_noder#   r   r   r   r   noder   r    r!   r*   s        r"   export_roialign_aligned_false&RoiAlign.export_roialign_aligned_false   s    {{$$1E+> % 	
 "<!=$HH A@@@@ A@@@@ A@@@@': **=
B 	]+C.		
r$   c                  6   [         R                  R                  S/ SQS/SSSSSS9n [        5       u  p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///[        R                  S9n[        U XU/U/SS9  g )Nr&   r)   r*   r+   r   r,   
half_pixelr.   )g6;Nё?gё\C?g7d?g3?g:M?)g\ Ac?g@a+?gͪV?gxz,C?g:H?)g2U0*?g"u?g"~?gm4@?gV-?)gq=
ףp?g58EGr?gX?g
F%u?g	g?)gǘ?gZB>?gAc]K?g߾3?g}b?)gS?g<Nё\?gz6>W[?gZd;?g^I+?)gq?gHPs?gz):?g<,?gSt$?)g&W?gH}?g!uq?gˡE?g4@?)g?gn?g48E?gffffff?g2U0*?)gz?gz?gJ4?g9#J{?g1w-!?)gea?gGz?r6   g)\(?g	cZ?)r   gDJ?gʡE?gCiq?g?)gy?gN@?g o_?gı.n?g(\?)gJ4?g8EGr?g%䃞?g3?gd`TR?)g46<?gܵ|?gp_Q?g=U?gGr?r   test_roialign_aligned_truer8   r:   r>   s        r"   export_roialign_aligned_true%RoiAlign.export_roialign_aligned_true   s    {{$$1E+7 % 	
 "<!=$HH A@@@@ A@@@@ A@@@@': **=
B 	]+C-		
r$   c                  F   [         R                  " / 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                  " / SQ/ SQ/ SQ/[         R                  S9n[         R                  " / SQ[         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///[         R                  S9n[        R
                  R                  S/ S QS!S"/S#S$S$S%S&S'9	n[        UXU/U/S(S)9  g )*Nr   r   r   r	   r
   r   r   r   r   r   r   )        rH         "@rI   )rH         @g      @rI   )rJ   rJ   rI   rI   r   )g|[?g!?g"s<;?gAѪ?gq
yP?)gؔYt?gat?gS<I?g ?gI%Y?)gx*?g 1?g@q?gǸ\?gT%_CO?)gh#?gHo?gFl?gm ?g0T(?)g?gz:?g_㟾J?g7K{?g55?)g?g=F?g(mj?g*?g6{?)gBsF?r   gğv2?gֵ?g#g?)g^B?gu~?g-u?gֵ?gA&5?)gþSW?r   gU,.?r   g
g?)gV<?֝?g._TW?gGI"?g$T=?gP<?)g_vV?giEpw?g<?g-7?g?)gd?gI%=?gi2?r   g?)ghL?gP?g.$w?g٨M?g*;"U?)g1R0?gP?g.$w?geM?g*;"U?)g/Ud?g*D?gV?g}^?gfPLb9?r&   r)   maxr*   r+   r   r,   r-   )r/   moder0   r1   r2   r3   r4   r5   test_roialign_mode_maxr8   )r   r   r   r   r;   r<   r=   r   )r   r!   r    r*   r?   s        r"   export_roialign_mode_max!RoiAlign.export_roialign_mode_max  sa   HH[y{}| **@
B xx!#79MN**
 "((;HH RQQQQ RMSKQ SNQSR': **=
B {{$$1E+> % 

 	]+C)		
r$    )returnN)	__name__
__module____qualname____firstlineno__staticmethodr@   rE   rN   __static_attributes__rP   r$   r"   r&   r&      s@    4
 4
l 4
 4
l z
 z
r$   r&   )	numpyr   r;   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r#   r&   rP   r$   r"   <module>r[      s(   
   , .D"Nj
t j
r$   