Оберон-клуб «ВЄДАsoft»
https://zx.oberon2.ru/forum/

Компактная вещественная арифметика для Спектрума (Compact real arithmetic for Spectrum)
https://zx.oberon2.ru/forum/viewtopic.php?f=10&t=141
Страница 1 из 1

Автор:  Zorko [ 28 сен 2013, 00:32 ]
Заголовок сообщения:  Компактная вещественная арифметика для Спектрума (Compact real arithmetic for Spectrum)

Такая идея. Когда для вещественных вычислений не так важно быстродействие, как объём занимаемой памяти, можно разработать модуль ZXRomCalc, который предоставит доступ к подпрограммам вещественного калькулятора Спектрума (RST #28) вместо более быстрой, но менее точной и менее компактной реализации вещественных вычислений SDCC. Выглядеть это может, например, так:
Код: "OBERON"
  1. MODULE TestCalc;
  2. IMPORT Calc := ZXRomCalc;
  3. VAR
  4. result: INTEGER;
  5. BEGIN
  6. Calc.IntToStack(24); (* Положить на стек калькулятора число 24. *)
  7. Calc.Run; (* Запуск калькулятора (RST #28). *)
  8. Calc.PiDiv2; (* Ложим на стек число Пи/2 (#A3). *)
  9. Calc.Mult (* Умножим 24 на Пи/2 (#04). *)
  10. Calc.Done; (* Закончили работать с калькулятором (#38). *)
  11. result := Calc.StackToInt(); (* Выводим округленный результат в целую переменную result. *)
  12. END TestCalc.
Этот пример будет занимать чуть более десятка байт, а вещественная арифметика SDCC — не один килобайт. Интересно было бы конечно поэкспериментировать на Z80 с вещественной арифметикой пониженной точности, возможно, она была бы полезной.

Реализовывать такой модуль в ближайшем будущем не собираюсь за ненадобностью, но пусть идея идёт в массы. :)

Автор:  slenkar [ 09 окт 2013, 18:19 ]
Заголовок сообщения:  Re: Компактная вещественная арифметика для Спектрума (Compact real arithmetic for Spectrum)

This might give me some more bytes to play with

Автор:  Saferoll [ 14 окт 2013, 10:29 ]
Заголовок сообщения:  Re: Компактная вещественная арифметика для Спектрума (Compact real arithmetic for Spectrum)

Место это конечно сэкономит, но зато вычисление формулы придется писать не на Обероне и даже не на Бейсике, а почти на Форте :)

Автор:  Zorko [ 14 окт 2013, 20:54 ]
Заголовок сообщения:  Re: Компактная вещественная арифметика для Спектрума (Compact real arithmetic for Spectrum)

И непереносимо! Но это же всё не от хорошей жизни. ;) А в комментах можно дать наглядную формулу. :)

slenkar, I would advise you to carefully examine the memory usage for each part of your game, especially related with REAL arithmetic. If you can, get rid of the real arithmetic at all. INTEGER arithmetic can be used successfully to simulate the real functions like Sin/Cos, etc.

Автор:  Zorko [ 02 сен 2016, 04:55 ]
Заголовок сообщения:  Re: Компактная вещественная арифметика для Спектрума (Compact real arithmetic for Spectrum)

Реализовал-таки библиотечку для компактной вещественной арифметики.

Вложения:
TestCalc.tap [250 байт]
Скачиваний: 324
TestCalc.png
TestCalc.png [ 9.56 КБ | Просмотров: 9977 ]

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/