Всем доброго дня!
Есть вопрос: какие операции с плавающей точкой выполняются быстрее - умножение или деление? То есть, как эффективней считать нормировку на ядре Arm:
double a; double b, c, d;//значения присваиваются в ходе выполнения программы
a = sqrt(b*b + c*c + d*d);
b /= a; c /= a; d /= a;
Или: double a; double b, c, d;//значения присваиваются в ходе выполнения программы
a = 1./sqrt(b*b + c*c + d*d);
b *= a; c *= a; d *= a; Ядрa: Cortex-M1 и Cortex-M4F (что не особо важно, т.к. расчеты должны быть в формате double и плавающая запятая в Cortex-M4F не поможет)
Спасибо
|