未验证 提交 7a0b0dab 编写于 作者: 张春乔 提交者: GitHub

fix div 0 error of fftfreq (#49954)

* fix div 0 error of fftfreq

* fix div 0 error of fftfreq

* bug fix

* add 'n' value check
上级 f43cb3b7
......@@ -1275,6 +1275,8 @@ def fftfreq(n, d=1.0, dtype=None, name=None):
# Tensor(shape=[5], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
# [ 0. , 0.40000001, 0.80000001, -0.80000001, -0.40000001])
"""
if d * n == 0:
raise ValueError("d or n should not be 0.")
dtype = paddle.framework.get_default_dtype()
val = 1.0 / (n * d)
......
......@@ -1823,6 +1823,23 @@ class TestFftFreq(unittest.TestCase):
)
@place(DEVICES)
@parameterize(
(TEST_CASE_NAME, 'n', 'd', 'dtype', 'expect_exception'),
[
('test_with_0_0', 0, 0, 'float32', ValueError),
('test_with_n_0', 20, 0, 'float32', ValueError),
('test_with_0_d', 0, 20, 'float32', ValueError),
],
)
class TestFftFreqException(unittest.TestCase):
def test_fftfreq2(self):
"""Test fftfreq with d = 0"""
with paddle.fluid.dygraph.guard(self.place):
with self.assertRaises(self.expect_exception):
paddle.fft.fftfreq(self.n, self.d, self.dtype)
@place(DEVICES)
@parameterize(
(TEST_CASE_NAME, 'n', 'd', 'dtype'),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册