Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 9798d444 authored by hhakim's avatar hhakim
Browse files

Add two unit tests for matfaust and pyfaust DFT factorization (factparams.ParamsHierarchicalDFT).

parent b8350fce
Branches
Tags
No related merge requests found
...@@ -558,6 +558,20 @@ classdef FaustFactoryTest < matlab.unittest.TestCase ...@@ -558,6 +558,20 @@ classdef FaustFactoryTest < matlab.unittest.TestCase
this.verifyLessThanOrEqual(err, 0.20) this.verifyLessThanOrEqual(err, 0.20)
end end
function test_hierarchical_dft(this)
disp('Test hierarchical dft')
import matfaust.fact.hierarchical
import matfaust.dft
DFT = full(dft(32))
F = hierarchical(DFT, 'dft', 'backend', 2020)
err = norm(full(F)-DFT)/norm(DFT)
this.verifyLessThanOrEqual(err, 1e-3)
DFT = full(dft(32))
F = hierarchical(DFT, 'dft', 'backend', 2016)
err = norm(full(F)-DFT)/norm(DFT)
this.verifyLessThanOrEqual(err, 1e-3)
end
end end
methods methods
......
...@@ -1605,6 +1605,17 @@ class TestFaustFactory(unittest.TestCase): ...@@ -1605,6 +1605,17 @@ class TestFaustFactory(unittest.TestCase):
F = hierarchical_mhtp(M, param, mhtp_param) F = hierarchical_mhtp(M, param, mhtp_param)
self.assertLessEqual(norm((F.toarray()-M), "fro")/norm(M,"fro"), 0.5) self.assertLessEqual(norm((F.toarray()-M), "fro")/norm(M,"fro"), 0.5)
def test_hierarchical_dft(self):
print("Test hierarchical dft")
from pyfaust import dft
from pyfaust.fact import hierarchical
DFT = dft(32).toarray()
F = hierarchical(DFT, 'dft', backend=2020)
err = norm(F.toarray()-DFT)/norm(DFT)
self.assertLessEqual(err, 1e-6)
F = hierarchical(DFT, 'dft', backend=2016)
err = norm(F.toarray()-DFT)/norm(DFT)
self.assertLessEqual(err, 1e-6)
if __name__ == "__main__": if __name__ == "__main__":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment