Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

pascal - возведение в степень   Найти похожие ветки 

 
Igit ©   (2003-10-19 11:48) [0]

F:=((-1)^n)*((2*x)^n);
Я думал это "^", но он ругается.
n - integer
F - real
x - const = 0.5


 
Anatoly Podgoretsky ©   (2003-10-19 12:03) [1]

Power


 
mOOx_ ©   (2003-10-19 12:04) [2]

Ты думал не правильно.
Возведение в степень: exp(y*ln(x)), где x - число, y - степень.
Удачи.
ЗЫ. И учи паскаль и математику ;)


 
default ©   (2003-10-19 12:22) [3]


function Degree(const DegBasis, DegParam: Extended): Extended;
asm
// Вход: DegBasis, DegParam --> в стеке
// Выход: Result(= DegParam в случае некорректных данных) --> ST(0)

FLD DegParam
FLDZ
FCOMIP ST, ST(1)
JNZ @@DegParam_is_not_0
FFREE ST
FLD1
JMP @@exit
@@DegParam_is_not_0:
JNC @@DegParam_is_less_than_0
XOR EAX, EAX
JMP @@cmp_DegBasis_to_0
@@DegParam_is_less_than_0:
OR EAX, 1
@@cmp_DegBasis_to_0:
FLD DegBasis
FLDZ
FCOMIP ST, ST(1)
JNZ @@DegBasis_is_not_0
TEST EAX, 1
JZ @@DegParam_is_greater_than_0
FSTP ST
JMP @@exit
@@DegParam_is_greater_than_0:
FSTP ST(1)
JMP @@exit
@@DegBasis_is_not_0:
JC @@DegBasis_is_greater_than_0
FABS
FXCH
OR EAX, 1
FLD ST
FRNDINT
FSUB ST, ST(1)
FLDZ
FCOMIP ST, ST(1)
FSTP ST
JZ @@DegParam_is_integer
FLD1
FDIV ST, ST(1)
FABS
FLD1
FCOMIP ST, ST(1)
JC @@Abs_1_div_DegParam_greater_than_1
FSTP ST
FSTP ST(1)
JMP @@exit
@@Abs_1_div_DegParam_greater_than_1:
FISTP QWORD PTR @@Int_64
TEST BYTE PTR @@Int_64, 1
JNZ @@change_a_sign_at_the_and_of_calculations
FSTP ST(1)
JMP @@exit
@@DegParam_is_integer:
FLD ST
FISTP QWORD PTR @@Int_64
TEST BYTE PTR @@Int_64, 1
JNZ @@change_a_sign_at_the_and_of_calculations
XOR EAX, EAX
@@change_a_sign_at_the_and_of_calculations:
FXCH
@@DegBasis_is_greater_than_0:
FYL2X
FLD ST
FRNDINT
FSUB ST(1), ST
FXCH
F2XM1
FLD1
FADD
FSCALE
FSTP ST(1)
TEST EAX, 1
JZ @@exit
FCHS
JMP @@exit
@@Int_64:
DQ 0
@@exit:
FWAIT

end;

или так
Degree(-8, 1 / 3) = -2
Math.Power, например, такое не берёт


 
default ©   (2003-10-19 12:30) [4]

mOOx_ © (19.10.03 12:04) [2]
exp(y*ln(x)), X > 0


 
mOOx_ ©   (2003-10-19 12:32) [5]

Ну да :). По крайней мере не такой асмовский изврат :) Тебе не в лома было эту штуку писать?


 
default ©   (2003-10-19 12:34) [6]

mOOx_ © (19.10.03 12:32) [5]
упражняться же надо на чём-то)


 
Igit ©   (2003-10-19 13:01) [7]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-98604
lasso
2003-10-21 16:14
2003.10.30
форма


14-98806
Gfa
2003-10-12 13:57
2003.10.30
Смешно :)


14-98829
Undert
2003-10-11 22:40
2003.10.30
Это я


3-98520
The X
2003-10-08 10:27
2003.10.30
Проблема ограничений кол-ва полей в таблицах Paradox


3-98496
AndB
2003-10-09 12:40
2003.10.30
Если CommandText