digital algorithm