Нашел, откуда взяли коэффициенты для разложения синуса в ряд в микрософтовском бейсике. Книга Computer Apporoximations, J. Hart и другие (1968). Страница 238, набор SIN 3341, только в книге и в бейсике разное масштабирование аргумента и, соответственно, коэффициентов (в книге соответствуют аргументу деленному на pi/2, а в бейсике - на 2pi). Со своей колокольни я бы трактовал использованный подход как умножение на оконную функцию при усечении бесконечного ряда (должен был и сам догадаться). Вместо умножения на прямоугольную оконную функцию (т.е. часть коэффициентов берем с множителем 1, а остальные с множителем 0, т.е. отбрасываем) здесь используется более плавная и больше всего изменяются коэффициенты на границе, в данном случае пятый. В книжке можно увидеть, что в других наборах для синуса с большим или меньшим числом коэффициентов тоже сильнее всего "страдают" именно конечные.
Насчет логарифма. В последних микрософтовских бейсиках для 8080 точно используются коэффициенты из Харта, но там изменили алгоритм. Скорее всего в бейсиках <=5.0 тоже из Харта, только надо найти тот самый набор. Кстати побочный эффект разбирательства с алгоритмом - удостоверился, что корветовский бейсик на базе не последних версий микрософтовского.
Варианты Tiny Basica - это хорошо, но слишком уж он простой.





Ответить с цитированием