Residue Number Systems: Theory and Applications