KK
Size: a a a
KK
DF
A
DF
DF
AL
9.0 * x.powi(3) - 15.0 * x.powi(2)
достаточно выполнить 4 умножения: x2 = x * x;Но я удивился когда увидел, что в Rust это выполняется в 5 умножений - он куб и квадрат от x считает независимо.
x3 = x2 * x;
9.0 * x3 - 15.0 * x2
AZ
3
ИЛ
3
AL
AZ
AZ
A
A
MB
A
MB
KK
#include <math.h>Но в Rust хотя бы радует, что он вызов powi() смог скомпилять в операции умножения, а gcc вызов powf() компиляет как вызов подпрограммы. (хотя powf конечно же не аналог powi - что-то с ходу не нашёл на C аналог)
float calc(float x)
{
float a = fabs(x);
return 9.0 * (a * a * a) - 15.0 * (a * a);
}