LN

Материал из ПМК вики
Перейти к навигации Перейти к поиску

LN (натуральный логарифм) — традиционное слово Каллисто. Логарифм по основанию e = 2,7182818284590.

LN             ( p −− x )                           Вычисление натурального логарифма. x := ln p
Пример работы слова LN

x — натуральный логарифм p. Аргумент p должен быть больше нуля.

Ввод слова LN[править]

В режиме ЛАТ последовательно нажмите две белые клавиши     4 

FLN в стандарте ANS Forth[править]

12.6.2.1553   FLN                       "f-l-n"                    FLOATING EXT
           ( F: r1 -- r2 ) or ( r1 -- r2 )
           r2 - натуральный логарифм r1. Неопределенная ситуация существует 
           если r1 - меньше или равно нулю.

История[править]

В Форте слово LN одно из самых древних, хотя вошло в стандарт под именем FLN лишь в 1994 году.

Впервые слово LN появилось в 1964 году под именем LOG в программе CURVE, написанной Чак Муром на Алголе для Burroughs B5500 в 1964 году (Национальная ускорительная лаборатория SLAC, Стэнфордский университет). Разумеется, слово LOG в 1964 году вызывало библиотечную функцию.

Снова слово LOG появилось в Форте 1971-73 годах, когда Чак Мур перенёс транслятор на DEC PDP-11 в National Radio Astronomy Observatory (англ., Шарлотсвилл). Логарифм вычислялся по основанию 2. Функции EXP и LOG работали с фиксированной запятой — 10 бит справа от двоичной запятой.

В MMSFORTH слово LN было известно под именем LOG

Под именем LN это слово было в Форте FSP88.

В Каллисто имя LN восходит к надписи на клавиатуре советского ПМК «Электроника Б3-34», выпущенного в 1980 году.

Реализация[править]

Слово LN является «обёрткой» вокруг команды ЭКВМ F ln.

Натуральный логарифм не определён для нуля и отрицательных чисел. Обработка этой ошибки производится встроенной программой. Например, последовательность слов  0 LN  вызывает аварийный останов Каллисто с сообщением «Переполнение» в строке комментариев. Можно ввести с клавиатуры произвольное число в качестве значения «логарифма 0» и вернуться в Каллисто, нажав  С/П . Подробнее см. статью Авост Каллисто.

В случае аварийного останова рекомендуется произвести «холодную перезагрузку» Каллисто с удалением всех введённых слов, нажав последовательно клавиши  В/О   С/П .

1589 ;#LN
1590 ; LN               ( p −− x )                           Натуральный логарифм. x := ln p
1591 LLN:            .DB     2
1592                 .TEXT   "LN"                    ; ( x −− ln x )
1593                 .DW     LLG
1594 LN:             .DW     JLN
1595 JLN:            PKRM03 FLN PKM03  KGOTO9        ; Обёртка вокруг Fln.

Реализация из SP-Forth 4.20:

CODE FLN   \ *
       FLDLN2
       FXCH
       FYL2X
       RET
END-CODE

Ссылки[править]


  Stub-icon-48px.png Это заготовка статьи. Вы можете помочь проекту, дополнив её.