Большое целое число в Forth?

Я разработал систему больших целых чисел (для чисел динамической длины) в Forth (ANS-94), но она слишком медленная. Есть ли в наличии быстрые системы?

Кроме того, любые советы по этому вопросу приветствуются.

1 ответ

Решение

Научная библиотека Forth включает модуль " Арифметика больших чисел со знаком". Хотя, чтобы увидеть, какая реализация быстрее, требуется тест. Для использования этого модуля в SP-Forth необходимо включить несколько библиотек:

REQUIRE [IF]    lib/include/tools.f
REQUIRE M+      lib/include/double.f

S" big.fth" INCLUDED \ just for example

В любом случае, если Forth генерирует код с недостаточной производительностью (и алгоритм уже оптимизирован), можно использовать любую другую реализацию в форме динамической библиотеки (DLL, SO).

Что касается производительности, лучше использовать динамическую память (вместо пространства словаря) для буферов в SP-Forth 4.21, поскольку пространство данных и пространство кода не разделены.

Другие вопросы по тегам