Синусы/косинусы

8 views
Skip to first unread message

Василий Долматов

unread,
Jul 13, 2022, 3:47:26 AM7/13/22
to 'Кирилл Кобелев' via БЭСМ-6
А напомните мне как считались элементарные функции (экстракоды/библиотеки в языке)?

- ряд?
- экстраполяция по таблице?

и то и то?

и кусочки кода если показать, то вообще хорошо.

Leo B.

unread,
Jul 13, 2022, 4:17:41 AM7/13/22
to БЭСМ-6
В экстракодах они считались аппроксимирующей функцией (в простых случаях полиномом, но часто рациональной - это видно по командам деления).

Коэффициенты для этих функций в файле https://github.com/besm6/besm6.github.io/blob/master/sources/dispak-svs/дисп80.bemsh
в строках 80-123.
Собственно код функций - со строки 2545.

Насколько я знаю, несмотря на неэффективность входа-выхода в экстракоды, все продолжали пользоваться ими, вместо того, чтобы выдрать эти функции и константы,
и сделать библиотечные функции явным образом. 

Leo

Василий Долматов

unread,
Jul 13, 2022, 4:30:15 AM7/13/22
to 'Кирилл Кобелев' via БЭСМ-6
а ГДР-овских трансляторах (Фортран, Алгол) не свои ли реализации были? Или меня склероз путает?


13 июля 2022 г., в 11:17, Leo B. <leo...@gmail.com> написал(а):

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/e2ac30ad-3383-4c35-a980-292ff5f29c6cn%40googlegroups.com.

Leo B.

unread,
Jul 13, 2022, 12:05:54 PM7/13/22
to БЭСМ-6
On Wednesday, July 13, 2022 at 1:30:15 AM UTC-7 ReedCat wrote:
а ГДР-овских трансляторах (Фортран, Алгол) не свои ли реализации были? Или меня склероз путает?

Фортран-Дубна для синуса вызывает функцию SIN (вход в STANDFUN) со стандартным соглашением о связях, которая выглядит как
C===========================================
 SIN:,ENTRY, 
 C===========================================
 ,ATI,14
 14,XTA,
 ,*51,
 13,UJ, 

Фортран-ГДР  вызывает SIN*, которая принимает аргумент на сумматоре, и аналог STANDFUN втрое короче и выглядит как
          SIN*:,NAME,DTRAN  /01.04.83/
          14,VTM,1
          ,UJ,*0006B
         C===========================================
          COS*:,ENTRY,
         C===========================================
          14,VTM,2
          ,UJ,*0006B
         C===========================================
          SQRT*:,ENTRY,
         C===========================================
          14,VTM,
          ,UJ,*0006B
         C===========================================
          LN*:,ENTRY,
         C===========================================
          14,VTM,5
          ,UJ,*0006B
         C===========================================
          ARCTAN*:,ENTRY,
         C===========================================
          14,VTM,3
          ,UJ,*0006B
         C===========================================
          EXP*:,ENTRY,
         C===========================================
          14,VTM,6
          *0006B:14,*50,
          13,UJ,
          ,UTC,
          ,END,


Форекс вызывает Э50 1 непосредственно. То есть если кому очень хотелось, он мог выдрать код из Диспака и подменить SIN*, 
но в стандартной поставке этого не делалось.

Leo

Reply all
Reply to author
Forward
0 new messages