Материал из ПМК вики
Версия от 17:44, 10 ноября 2017; AtH (обсуждение | вклад) (→‎Реализация)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

(возведение в степень, читается «игрек в степени икс») — усовершенствованное слово Каллисто.

Yˣ             ( p x −− x1 )                        Возведение положительного числа в степень. x1 := p^x

Степенная функция.

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

В режиме ЛАТ последовательно нажмите четыре клавиши   ,      P   F   0 

Эти нажатия оставляют клавиатуру в режиме NUM.

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

12.6.2.1415   F∗∗                         "f-star-star"            FLOATING EXT
           ( F: r1 r2 -- r3 ) or ( r1 r2 -- r3 )
           Возводит r1 в степень r2, возвращает результат r3.

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

В Форте FSP88 это слово известно под именем ↑

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

∗∗ в предыдущем стандарте Forth-83 (англ.)[править]

     ∗∗           n1 n2 -- n3                                  "power"
          n3 is the value of n1 to the power n2.

∗∗ в стандарте Forth-79 (англ.)[править]

**             n1 n2 -- n3                                  "power"
    Leave the value of n1 to the power n2.

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

В Каллисто 1.0 слово Yˣ является «обёрткой» вокруг многострадальной команды ЭКВМ F xy:

1621 ;#FTimesTimes
1622 ; Yˣ               ( p x −− x1 )                        Возведение положительного числа p в степень x. x1 := pˣ
1623 LPOWER:         .DB     2
1624                 .TEXT   "Y"                     ; Y^X ( y x −− y^x )
1625                 .DB     190
1626                 .DW     LONEX
1627 POWER:          .DW     JPOWER
1628 JPOWER:         RM3 MB  1 +  MA M3
1629                 KRMB KRMA FX^Y KMA  KGOTO9      ; Степенная функция, обёртка вокруг FX^Y.

Порядок её аргументов изменён, чтобы быть более естественным. Например, определение

: CUBE ( x -- x^3)   3 Yˣ ;

определяет слово, возводящее число в куб.

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

\ X>0
CODE F**     \ *
       FXCH
       FYL2X
       FLD1
       FLD ST(1)
       FPREM
       F2XM1
       FADD
       FSCALE
       FXCH
       FSTP ST
       RET
END-CODE

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


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


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