
    Si                    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                  x    \ 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	S j5       r	Sr
g)

ReduceProd   c                    / SQn [         R                  " S/[         R                  S9nSn[        R                  R                  SSS/S/US	9n[         R                  " SS
/SS//SS/SS//SS/SS///[         R                  S9n[         R                  " U[        U5      US:H  S9n[        UXA/U/SS9  [         R                  R                  S5        [         R                  R                  SSU 5      R                  [         R                  5      n[         R                  " U[        U5      US:H  S9n[        UXA/U/SS9  g )N      r      dtyper   r   dataaxesreducedinputsoutputskeepdimsr   r                  	   
         axisr   (test_reduce_prod_do_not_keepdims_exampler   r   name'test_reduce_prod_do_not_keepdims_randomnparrayint64onnxhelper	make_nodefloat32prodtupler   randomseeduniformastypeshaper   r   noder   r   s         e/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/reduceprod.pyexport_do_not_keepdims!ReduceProd.export_do_not_keepdims   s6   xx288,{{$$F#K	 % 
 xx!fq!fAA/1b'B81DERZZ
 ''$U4[8q=I 	<I;		
 			qyy  b%077

C''$U4[8q=I<I:		
    c                    / SQn [         R                  " S/[         R                  S9nSn[        R                  R                  SSS/S/US9n[         R                  " SS	/S
S//SS/SS//SS/SS///[         R                  S9n[         R                  " U[        U5      US:H  S9n[        UXA/U/SS9  [         R                  R                  S5        [         R                  R                  SSU 5      R                  [         R                  5      n[         R                  " U[        U5      US:H  S9n[        UXA/U/SS9  g )Nr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    !test_reduce_prod_keepdims_exampler#   r   r%    test_reduce_prod_keepdims_randomr'   r5   s         r8   export_keepdimsReduceProd.export_keepdims5   s6   xx288,{{$$F#K	 % 
 xx!fq!fAA/1b'B81DERZZ
 ''$U4[8q=I 	<I4		
 			qyy  b%077

C''$U4[8q=I<I3		
r;   c                    / SQn S nSn[         R                  R                  SS/S/US9n[        R                  " SS/SS	//S
S/SS//SS/SS///[        R
                  S9n[        R                  " XAUS:H  S9n[        UU/U/SS9  [        R                  R                  S5        [        R                  R                  SSU 5      R                  [        R
                  5      n[        R                  " XAUS:H  S9n[        UU/U/SS9  g )Nr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    .test_reduce_prod_default_axes_keepdims_exampler#   r   r%   -test_reduce_prod_default_axes_keepdims_random)r+   r,   r-   r(   r)   r.   r/   r   r1   r2   r3   r4   r5   s         r8   export_default_axes_keepdims'ReduceProd.export_default_axes_keepdims\   s   {{$$&I; % 
 xx!fq!fAA/1b'B81DERZZ
 ''$HMB 	6IA		
 			qyy  b%077

C''$HMB6I@		
r;   c                    / SQn [         R                  " S/[         R                  S9nSn[        R                  R                  SSS/S/US	9n[         R                  " SS
/SS//SS/SS//SS/SS///[         R                  S9n[         R                  " U[        U5      US:H  S9n[        UXA/U/SS9  [         R                  R                  S5        [         R                  R                  SSU 5      R                  [         R                  5      n[         R                  " U[        U5      US:H  S9n[        UXA/U/SS9  g )Nr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    /test_reduce_prod_negative_axes_keepdims_exampler#   r   r%   .test_reduce_prod_negative_axes_keepdims_randomr'   r5   s         r8   export_negative_axes_keepdims(ReduceProd.export_negative_axes_keepdims~   s6   xxBHH-{{$$F#K	 % 
 xx!fq!fAA/1b'B81DERZZ
 ''$U4[8q=I 	<IB		
 			qyy  b%077

C''$U4[8q=I<IA		
r;   c                    / SQn Sn/ SQn[         R                  R                  SSS/S/US9n[        R                  " / [        R
                  S	9R                  U 5      n[        R                  " S/[        R                  S	9n[        R                  " [        R                  " U[        R
                  S	95      n[        UXE/U/S
S9  g )N)r   r   r   r   )r   r   r   r   r   r   r   r   r   test_reduce_prod_empty_setr#   )
r+   r,   r-   r(   r)   r.   reshaper*   onesr   )r6   r   reduced_shaper7   r   r   r   s          r8   export_empty_setReduceProd.export_empty_set   s    !{{$$F#K	 % 
 xx"**-55e<xx288,((277=

CD<I-		
r;    N)returnNone)__name__
__module____qualname____firstlineno__staticmethodr9   r?   rD   rJ   rQ   __static_attributes__rS   r;   r8   r   r      sh    $
 $
L $
 $
L 
 
B $
 $
L 
 
r;   r   )

__future__r   numpyr(   r+   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   rS   r;   r8   <module>r`      s$    #   , .n
 n
r;   