Is rsqrt the same as Fast inverse square root?
25 ビュー (過去 30 日間)
表示 古いコメント
Hello,
I would like to us sqrt() and run it on a embeded controller. I was wondering sqrt() is the same as Fast inverse square root ( https://en.wikipedia.org/wiki/Fast_inverse_square_root ). if not, is it efficent as Fast inverse square root. Does it support code generation? Can I use it in embeded control software?
Thanks,
Hongbo
採用された回答
stozaki
2021 年 9 月 13 日
Hi,
The Simulink sqrt block supports rsqrt.
The algorithm is Newton-Raphson, so it can be considered the same as the one described on the wiki.
With that setting, C code generation is possible.
その他の回答 (1 件)
Jan
2021 年 9 月 13 日
i = * ( long * ) &y
This is equivalent to:
y = single(pi);
i = typecast(y, 'int32');
The shown code of Q_rsqrt is an approximation of 1/sqrt(x) for single precision floating point values. It might have a fair speed on CPUs without a floating point unit, but it is less accurate then the direct calculation.
参考
カテゴリ
Find more on Simulink Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!