Аналіз ефективності реалізації арифметичних алгоритмів на мовах програмування C++ та Python - Новокшонов, А.К. (Проблеми програмування, 2016)
У даній роботі представлені результати обчислювального експерименту, метою якого є уточнення реальної швидкодії арифметич-них алгоритмів з використанням арифметики довільної точності при реалізації на мовах програмування C++ та Python. Як матема-тичну модель для арифметичних алгоритмів обрана цілочисельна «машина, що складає». «Машина, що складає» – це математична абстракція, введена Р. Флойдом та Д. Кнутом, суть якої полягає у тому, що лише за допомогою операцій додавання, віднімання, порівняння, присвоювання та обмеженої кількості регістрів можна з прийнятною обчислювальною ефективністю виразити більш складні операції, такі як знаходження лишку за модулем, множення, знаходження найбільшого спільного дільника, піднесення до степеня за модулем. Особливістю даної реалізації є використання арифметики довільної точності, що може бути корисним для ви-користання у криптографічних алгоритмах. В данной работе представлены результаты вычислительного эксперимента, целью которого является уточнение реальной производительности арифметических алгоритмов с использованием арифметики произвольной точности при реализации на языках программирования C++ и Python. Как математическая модель для арифметических алгоритмов выбрана целочисленная «складывающая машина». «Складывающая машина» – это математическая абстракция, введённая Р. Флойдом и Д. Кнутом, суть которой заключается в том, что с помощью только операций сложения, вычитания, сравнения, присваивания и ограниченного количества регистров можно с приемлемой вычислительной эффективностью выразить более сложные операции, такие как нахождение остатка по модулю, умножение, нахождение наибольшего общего делителя, возведение в степень по модулю. Особенностью данной реализации является использование арифметики произвольной точности, что может быть полезным для использования в криптографических алгоритмах. This paper presents the results of the numerical experiment, which aims to clarify the actual performance of arithmetic algorithms implemented in C ++ and Python programming languages using arbitrary precision arithmetic. "Addition machine" has been chosen as a mathematical model for integer arithmetic algorithms. "Addition machine" is a mathematical abstraction, introduced by R. Floyd and D. Knuth. The essence of "addition machine" is the following: using only operations of addition, subtraction, comparison, assignment and a limited number of registers it is possible to calculate more complex operations such as finding the residue modulo, multiplication, finding the greatest common divisor, exponentiation modulo with reasonable computational efficiency. One of the features of this implementation is the use of arbitrary precision arithmetic, which may be useful in cryptographic algorithms.