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                   @  s(   e Zd ZedddZedddZdS )	DFTreturnNonec               	   C  s  t jjddgdgdd} tddddtj}tjj|dd	}|dddd}tj	|j
|jfd
d	tjdddd
}t| |g|gdt jddgd t jjddgdgd
d} tddddtj}tjj|dd	}|dddd}tj	|j
|jfd
d	tjdddd
}t| |g|gdt jddgd t jjddgdgddd} tjddtjddd}tjj|dd	}tj	|j
|jfd
d	tjdddd
}tj	|j
|jfd
d	tjdddd
}t| |g|gdt jddgd d S )Nr   xy   )inputsoutputsaxisr   d   
   r      test_dft_opset19    )r   r   nameopset_importstest_dft_axis_opset19)r   r   inverser   dtypetest_dft_inverse_opset19)onnxhelper	make_nodenparangereshapeastypefloat32fftstackrealimagr   make_opsetid	complex64ifft)noder   r	    r,   S/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/dft.pyexport_opset19   sR   ****
zDFT.export_opset19c                  C  s
  t jjdg ddgd} tddddtj}tjdtj	d	}tj
j
|dd
}|dddd}tj|j|jfdd
tjdddd}t| ||g|gdd t jjdg ddgd} tddddtj}tjdtj	d	}tj
j
|dd
}|dddd}tj|j|jfdd
tjdddd}t| ||g|gdd t jjdg ddgdd} tjddtjd	dd}tjdtj	d	}tj
j|dd
}tj|j|jfdd
tjdddd}tj|j|jfdd
tjdddd}t| ||g|gdd d S )Nr   )r   r   r   r	   )r   r   r   r   r   r
   r   r   r   test_dft)r   r   r   test_dft_axis)r   r   r   test_dft_inverse)r   r   r   r   r    r!   r"   r#   arrayint64r$   r%   r&   r'   r   r)   r*   )r+   r   r   r	   r,   r,   r-   export?   s.   ****z
DFT.exportN)r   r   )__name__
__module____qualname__staticmethodr.   r4   r,   r,   r,   r-   r      s
    0r   )

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