-
- Downloads
Implement pyfaust.FaustFactory.fact_palm4msa_fgft() wrapper to Palm4MSAFFT...
Implement pyfaust.FaustFactory.fact_palm4msa_fgft() wrapper to Palm4MSAFFT (aka FGFT) and a unit test (in test_FaustPy.py) to validate equivalency to C++ core. More details: - The implementation factorizes the previous code from basis Palm4MSA because it's very similar: e.g. FaustFact.h(pp) now has a fact_palm4MSA_gen() function which is called from fact_palm4MSAFFT() and fact_palm4MSA() to do their work generically. Likewise in FaustCorePy.pyx there are these 3 functions. - A trick is used in FaustFact.hpp/FaustCorePy.pyx to store the return arguments lambda and D diagonal in the same buffer (it's handy to handle generically the Palm4MSA and Palm4MSAFFT algos). - The equivalence test is only for real matrices but complex matrices (if it ever applies) should work also (not for GivensFGFT but Palm4MSAFFT -- that is the FaustFactory.fact_palm4msa_fgft() wrapper). - Add a Palm4MSAFFT::get_D() overload for optimization reason (directly retrieving the diagonal into a buffer -- not the full matrix is transfered to python memory world). - Add ctors in ParamsPalm4MSAFFT for a similar reason: transfer init_D diagonal only as a contiguous buffer (not a whole numpy matrix).
Showing
- misc/test/src/Python/test_FaustPy.py 46 additions, 4 deletionsmisc/test/src/Python/test_FaustPy.py
- src/algorithm/factorization/faust_Palm4MSAFFT.h 1 addition, 0 deletionssrc/algorithm/factorization/faust_Palm4MSAFFT.h
- src/algorithm/factorization/faust_Palm4MSAFFT.hpp 7 additions, 0 deletionssrc/algorithm/factorization/faust_Palm4MSAFFT.hpp
- src/algorithm/factorization/faust_ParamsPalmFFT.h 23 additions, 0 deletionssrc/algorithm/factorization/faust_ParamsPalmFFT.h
- src/algorithm/factorization/faust_ParamsPalmFFT.hpp 17 additions, 0 deletionssrc/algorithm/factorization/faust_ParamsPalmFFT.hpp
- wrapper/python/pyfaust.py 23 additions, 1 deletionwrapper/python/pyfaust.py
- wrapper/python/pyfaust/factparams.py 30 additions, 1 deletionwrapper/python/pyfaust/factparams.py
- wrapper/python/src/FaustCoreCy.pxd 8 additions, 0 deletionswrapper/python/src/FaustCoreCy.pxd
- wrapper/python/src/FaustCorePy.pyx 71 additions, 14 deletionswrapper/python/src/FaustCorePy.pyx
- wrapper/python/src/FaustFact.h 21 additions, 0 deletionswrapper/python/src/FaustFact.h
- wrapper/python/src/FaustFact.hpp 48 additions, 9 deletionswrapper/python/src/FaustFact.hpp
Loading
Please register or sign in to comment