Computer Arithmetic: Algorithms and Hardware Implementations