возведение в степень в С++

nomad

В программке, написанной в С++Вuilder, надо считать x^{2/3} (x-известное число, в степени 2/3). Подскажите, как это прописать. Хэлп выдал:
extern PACKAGE Extended __fastcall Power(constExtended Base, const Extended Exponent);
но мне это совсем не хэлп ):

AlexV769

#include <math.h>
result = pow(x, 2./3);

ppplva

result = pow(x, 2./3);

kruzer25

А что, в первом варианте result окажется единицей? ппц.

AlexV769

да будет так :)

nomad

Спасибо, работает.

tokuchu

Есть подозрение, что pow работает через экспоненту и логарифмы, т.е. если степень фиксирована и нужна скорость - то лучше самому развернуть формулу.
Спецы по процессорам - поправьте, если не так что. :)

procenkotanya

Некоторые оптимизирующие компиляторы обладают знаниями для оптимизации популярных библиотечных функций. В контексте этого треда можно заметить, что gcc умеет заменять pow(x, 4) на sqr(sqr(x pow(x, .5) на sqrt(x pow(x, 1./3) на cbrt(x) и pow(x, 2./3) на sqr(cbrt(x.
Оставить комментарий
Имя или ник:
Комментарий: