Sl (23.08.2017 18:51, просмотров: 148) ответил SciFi на Вы там буковку забыли. sqrtf() же.
Ну, да. :) Слона то я и не приметил. сказывается, отсутствие опыта использования float. Сразу в 17 раз быстрее...
Но все равно транслятор использует подпрограмму.
374 FUinFC10_tmp = sqrtf(FUinADC_tmp);
\ 000000D4 0xEEB0 0x0A68 VMOV.F32 S0,S17
\ 000000D8 0x.... 0x.... BL sqrtf
\ 000000DC 0xEEB0 0x8A40 VMOV.F32 S16,S0
sqrtf:
0x201f90: 0xeeb5 0x0ac0 VCMPE.F32 S0, #0.0
0x201f94: 0xeef1 0xfa10 VMRS APSR_nzcv, FPSCR
0x201f98: 0xd402 BMI.N 0x201fa0
0x201f9a: 0xeeb1 0x0ac0 VSQRT.F32 S0, S0
0x201f9e: 0x4770 BX LR
0x201fa0: 0xf06f 0x4c00 MVN.W R12, #-2147483648 ; 0x80000000
0x201fa4: 0xee00 0xca10 VMOV S0, R12
0x201fa8: 0xf3af 0x8000 NOP.W
0x201fac: 0x4770 BX LR