o
    soi                     @  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                   @  sR   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dS )ReduceL1returnNonec                  C  s   g d} t jdgt jd}d}tjjdddgdg|d	}t t jd
t | d
 t j	d| }t j
t |t||d
kd}t|||g|gdd t jd t jdd| t j	}t j
t |t||d
kd}t|||g|gdd d S )N      r
   r
   dtyper   r   dataaxesreducedinputsoutputskeepdims   aaxisr   &test_reduce_l1_do_not_keepdims_exampler   r   name
   %test_reduce_l1_do_not_keepdims_randomnparrayint64onnxhelper	make_nodereshapearangeprodfloat32sumabstupler   randomseeduniformastypeshaper   r   noder   r    r3   X/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/reducel1.pyexport_do_not_keepdims   4   $
zReduceL1.export_do_not_keepdimsc                  C     g d} t jdgt jd}d}tjjdddgdg|d	}t t jdt | d t j	d| }t j
t |t||dkd
}t|||g|gdd t jd t jdd| t j	}t j
t |t||dkd
}t|||g|gdd d S )Nr   r
   r   r   r   r   r   r   r   r    test_reduce_l1_keep_dims_exampler   r   r   r   test_reduce_l1_keep_dims_randomr   r0   r3   r3   r4   export_keepdims5   r6   zReduceL1.export_keepdimsc                  C  s   g d} t jg t jd}d}tjjdddgdg|d}t t jdt | d t j	d| }t j
t |d |dkd	}t|||g|gd
d t jd t jdd| t j	}t j
t |d |dkd	}t|||g|gdd d S )Nr   r   r   r   r   r   r   r   r   ,test_reduce_l1_default_axes_keepdims_exampler   r   r   r   +test_reduce_l1_default_axes_keepdims_random)r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r   r,   r-   r.   r/   r0   r3   r3   r4   export_default_axes_keepdims\   s.   $
z%ReduceL1.export_default_axes_keepdimsc                  C  r7   )Nr   r   r   r   r   r   r   r   r   .test_reduce_l1_negative_axes_keep_dims_exampler   r   r   r   -test_reduce_l1_negative_axes_keep_dims_randomr   r0   r3   r3   r4   export_negative_axes_keepdims   r6   z&ReduceL1.export_negative_axes_keepdimsc                  C  s   g d} d}g d}t jjdddgdg|d}tjg tjd	| }tjdgtjd	}ttj|tjd	}t	|||g|gd
d d S )N)r
   r      r   )r
   r   rB   r   r   r   r   r   r   test_reduce_l1_empty_setr   )
r"   r#   r$   r   r    r(   r%   r!   zerosr   )r1   r   reduced_shaper2   r   r   r   r3   r3   r4   export_empty_set   s$   
zReduceL1.export_empty_setN)r   r   )	__name__
__module____qualname__staticmethodr5   r:   r=   rA   rF   r3   r3   r3   r4   r      s    &&#&r   )

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