
    Ng                     J    d dl Zd dlZd dlmZ d dlmZ  G d de          ZdS )    N)Base)expectc                       e Zd Zedd            Zedd            Zedd            Zedd            Zedd            ZdS )	
ReduceProdreturnNc                     g d} t          j        dgt           j                  }d}t          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
                            d           t           j
                            dd|                               t           j                  }t          j        |t          |          |dk              }t          |||g|gd           d S )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         b/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/node/reduceprod.pyexport_do_not_keepdimsz!ReduceProd.export_do_not_keepdims   s   		x28,,,{$$F#K	 % 
 
 x!fq!fAA/1b'B81DERZ
 
 
 '$U4[[8q=III 	$<I;		
 	
 	
 	
 		qy  b%0077
CC'$U4[[8q=III$<I:		
 	
 	
 	
 	
 	
    c                     g d} t          j        dgt           j                  }d}t          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
                            d           t           j
                            dd|                               t           j                  }t          j        |t          |          |dk              }t          |||g|gd           d S )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_keepdims4   s   		x28,,,{$$F#K	 % 
 
 x!fq!fAA/1b'B81DERZ
 
 
 '$U4[[8q=III 	$<I4		
 	
 	
 	
 		qy  b%0077
CC'$U4[[8q=III$<I3		
 	
 	
 	
 	
 	
r9   c                  D   g d} d }d}t           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        	                    d           t          j        
                    dd|                               t          j                  }t          j        |||dk              }t          ||g|gd           d S )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[   sZ   		{$$&I; % 
 
 x!fq!fAA/1b'B81DERZ
 
 
 '$THMBBB 	6IA		
 	
 	
 	
 		qy  b%0077
CC'$THMBBB6I@		
 	
 	
 	
 	
 	
r9   c                     g d} t          j        dgt           j                  }d}t          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
                            d           t           j
                            dd|                               t           j                  }t          j        |t          |          |dk              }t          |||g|gd           d S )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   		xBH---{$$F#K	 % 
 
 x!fq!fAA/1b'B81DERZ
 
 
 '$U4[[8q=III 	$<IB		
 	
 	
 	
 		qy  b%0077
CC'$U4[[8q=III$<IA		
 	
 	
 	
 	
 	
r9   c                     g d} d}g d}t           j                            dddgdg|          }t          j        g t          j        	                              |           }t          j        dgt          j        	          }t          j        t          j        |t          j        	                    }t          |||g|gd
           d S )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	 % 
 
 x"*---55e<<x28,,,(27=
CCCDD$<I-		
 	
 	
 	
 	
 	
r9   )r   N)	__name__
__module____qualname__staticmethodr8   r=   rA   rF   rL    r9   r7   r   r      s        $
 $
 $
 \$
L $
 $
 $
 \$
L 
 
 
 \
B $
 $
 $
 \$
L 
 
 
 \
 
 
r9   r   )numpyr'   r*   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   rQ   r9   r7   <module>rU      s~   
      , , , , , , . . . . . .n
 n
 n
 n
 n
 n
 n
 n
 n
 n
r9   