U
    rh                     @  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                   @  sf   e Zd ZeddddZeddddZeddddZeddd	d
ZeddddZdS )ReduceL1None)returnc                  C  s   dddg} 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      Zdtyper   r   dataaxesreducedinputsoutputskeepdims   aZaxisr   Z&test_reduce_l1_do_not_keepdims_exampler   r   name
   Z%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    r.   H/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/reducel1.pyexport_do_not_keepdims   s4    
$zReduceL1.export_do_not_keepdimsc                  C  s   dddg} 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   Z test_reduce_l1_keep_dims_exampler   r   r   r   Ztest_reduce_l1_keep_dims_randomr   r+   r.   r.   r/   export_keepdims5   s4    
$zReduceL1.export_keepdimsc                  C  s   dddg} 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   r   Z,test_reduce_l1_default_axes_keepdims_exampler   r   r   r   Z+test_reduce_l1_default_axes_keepdims_random)r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r   r'   r(   r)   r*   r+   r.   r.   r/   export_default_axes_keepdims\   s4    
   $z%ReduceL1.export_default_axes_keepdimsc                  C  s   dddg} 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   Z.test_reduce_l1_negative_axes_keep_dims_exampler   r   r   r   Z-test_reduce_l1_negative_axes_keep_dims_randomr   r+   r.   r.   r/   export_negative_axes_keepdims   s4    
$z&ReduceL1.export_negative_axes_keepdimsc                  C  s   dddg} d}dddg}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 )Nr	   r      r   r   r   r   r   r   r
   Ztest_reduce_l1_empty_setr   )
r   r   r   r   r   r#   r    r   zerosr   )r,   r   Zreduced_shaper-   r   r   r   r.   r.   r/   export_empty_set   s$    

zReduceL1.export_empty_setN)	__name__
__module____qualname__staticmethodr0   r1   r2   r4   r7   r.   r.   r.   r/   r      s   &&#&r   )

__future__r   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r.   r.   r.   r/   <module>   s
   