o
    q::jj                     @  sH   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 deZ	dS )    )annotationsN)Base)expectc                   @  s   e Zd ZedddZedddZedddZedd	d
ZedddZedddZ	edddZ
edddZedddZdS )CumProdreturnNonec                  C  sn   t jjdddgdgd} tg dtj}tjdtjd}tg d	tj}t| ||g|gd
d d S )Nr   xaxisyinputsoutputs      ?       @      @      @      @r   dtype)r   r         @      8@      ^@test_cumprod_1dr   r   name	onnxhelper	make_nodenparrayastypefloat64int32r   noder   r	   r
    r'   j/home/nk/hobo-godmode/plappi-mvp/.venv/lib/python3.10/site-packages/onnx/backend/test/case/node/cumprod.pyexport_cumprod_1d   s
   zCumProd.export_cumprod_1dc                  C  p   t jjdddgdgdd} tg dtj}tjdtjd	}tg d
tj}t| ||g|gdd d S )Nr   r   r	   r
      r   r   	exclusiver   r   r   )r   r   r   r   r   test_cumprod_1d_exclusiver   r   r%   r'   r'   r(   export_cumprod_1d_exclusive      z#CumProd.export_cumprod_1d_exclusivec                  C  r*   )Nr   r   r	   r
   r+   )r   r   reverser   r   r   )r   r         N@      4@r   test_cumprod_1d_reverser   r   r%   r'   r'   r(   export_cumprod_1d_reverse    r0   z!CumProd.export_cumprod_1d_reversec                  C  sr   t jjdddgdgddd} tg dtj}tjdtjd	}tg d
tj}t| ||g|gdd d S )Nr   r   r	   r
   r+   )r   r   r1   r-   r   r   r   )r   r2   r3   r   r   !test_cumprod_1d_reverse_exclusiver   r   r%   r'   r'   r(   #export_cumprod_1d_reverse_exclusive*   s   
z+CumProd.export_cumprod_1d_reverse_exclusivec                  C  z   t jjdddgdgd} tg dtjd}tjdtjd	}tg d
tjd}t	| ||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r         r   r   )r   r   r   r   g      $@g      2@test_cumprod_2d_axis_0r   
r   r   r   r    r!   r"   r#   reshaper$   r   r%   r'   r'   r(   export_cumprod_2d_axis_09      z CumProd.export_cumprod_2d_axis_0c                  C  r8   )Nr   r   r	   r
   r   r9   r:   r+   r   r   r   r   r   r3   r   test_cumprod_2d_axis_1r   r>   r%   r'   r'   r(   export_cumprod_2d_axis_1I   rA   z CumProd.export_cumprod_2d_axis_1c                  C  r8   )Nr   r   r	   r
   r   r9   r:   r   rB   test_cumprod_2d_negative_axisr   r>   r%   r'   r'   r(   export_cumprod_2d_negative_axisY   s   
z'CumProd.export_cumprod_2d_negative_axisc                  C  sz   t jjdddgdgd} tg dtjd}tjdtjd	}tg d
tjd}t| ||g|gdd d S )Nr   r   r	   r
   r   )r+   r;   r<            r:   r   r   )r+   r;   r<   rH   
      test_cumprod_2d_int32r   )	r   r   r   r    r!   r"   r$   r?   r   r%   r'   r'   r(   export_cumprod_2d_int32k   s   zCumProd.export_cumprod_2d_int32c                  C  sp   t jjdddgdgdd} tg dtj}tjdtjd	}tg d
tj}t| ||g|gdd d S )Nr   r   r	   r
   r+   r,   )r+   r;   r<   rH   rI   r   r   )r+   r+   r;   rJ      test_cumprod_1d_int32_exclusiver   )r   r   r   r    r!   r"   r$   r   r%   r'   r'   r(   !export_cumprod_1d_int32_exclusivew   s   
z)CumProd.export_cumprod_1d_int32_exclusiveN)r   r   )__name__
__module____qualname__staticmethodr)   r/   r5   r7   r@   rD   rG   rN   rQ   r'   r'   r'   r(   r      s&    		r   )

__future__r   numpyr    r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r'   r'   r'   r(   <module>   s   