
    bIg                    N    d dl mZ d dlZd dlZd dlmZ d dlmZ  G d de      Z	y)    )annotationsN)Base)expectc                  f    e Zd Zedd       Zedd       Zedd       Zedd       Zedd       Zy)
ReduceProdc                    g d} t        j                  dgt         j                        }d}t        j                  j                  dddgdg|	      }t        j                  dd
gddggddgddggddgddgggt         j                        }t        j                  |t        |      |dk(        }t        |||g|gd       t         j                  j                  d       t         j                  j                  dd|       j                  t         j                        }t        j                  |t        |      |dk(        }t        |||g|gd       y )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         c/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/backend/test/case/node/reduceprod.pyexport_do_not_keepdimsz!ReduceProd.export_do_not_keepdims   s:   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                    g d} t        j                  dgt         j                        }d}t        j                  j                  dddgdg|      }t        j                  dd	gd
dggddgddggddgddgggt         j                        }t        j                  |t        |      |dk(        }t        |||g|gd       t         j                  j                  d       t         j                  j                  dd|       j                  t         j                        }t        j                  |t        |      |dk(        }t        |||g|gd       y )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&   r4   s         r7   export_keepdimszReduceProd.export_keepdims5   s:   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		
r9   c                 <   g d} d }d}t         j                  j                  ddgdg|      }t        j                  ddgdd	ggd
dgddggddgddgggt        j
                        }t        j                  |||dk(        }t        ||g|gd       t        j                  j                  d       t        j                  j                  dd|       j                  t        j
                        }t        j                  |||dk(        }t        ||g|gd       y )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   r0   r1   r2   r3   r4   s         r7   export_default_axes_keepdimsz'ReduceProd.export_default_axes_keepdims\   s   {{$$&I; % 
 xx!fq!fAA/1b'B81DERZZ
 ''$THMB 	6IA		
 			qyy  b%077

C''$THMB6I@		
r9   c                    g d} t        j                  dgt         j                        }d}t        j                  j                  dddgdg|	      }t        j                  dd
gddggddgddggddgddgggt         j                        }t        j                  |t        |      |dk(        }t        |||g|gd       t         j                  j                  d       t         j                  j                  dd|       j                  t         j                        }t        j                  |t        |      |dk(        }t        |||g|gd       y )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&   r4   s         r7   export_negative_axes_keepdimsz(ReduceProd.export_negative_axes_keepdims~   s:   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		
r9   c                    g d} d}g d}t         j                  j                  dddgdg|      }t        j                  g t        j
                  	      j                  |       }t        j                  dgt        j                  	      }t        j                  t        j                  |t        j
                  	            }t        |||g|gd
       y )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   )r5   r   reduced_shaper6   r   r   r   s          r7   export_empty_setzReduceProd.export_empty_set   s    !{{$$F#K	 % 
 xx"**-55e<xx288,((277=

CD$<I-		
r9   N)returnNone)	__name__
__module____qualname__staticmethodr8   r=   rA   rF   rL    r9   r7   r   r      sh    $
 $
L $
 $
L 
 
B $
 $
L 
 
r9   r   )

__future__r   numpyr'   r*   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   rS   r9   r7   <module>rX      s$    #   , .n
 n
r9   