sqrtf

Started by
2 comments, last by masonium 22 years, 6 months ago
How fast or slow is the square root function?
Advertisement
It is slow if you use it like ten thousand times in a loop, but still much faster than you can calculate it with a pencil and paper
should translate into this in assembly language. is it fast. this is always a relative question. floating point calculations are always more intensive then integer calculations.

/*
**
** [func] - _sqrtf.
** [desc] - calculates the square root of "eax" 32-bit float.
** [entr] - ss:[esp]: 32-bit floating point value.
** [exit] - eax: resulting square root.
**
*/
_sqrtf:
; store the base pointer.
push ebp
mov ebp, esp
; retrieve the 32-bit float value from the stack.
fld dword ptr ss:[ebp + 4]
fsqrt
; store the square root 32-bit float value to the stack.
fstp dword ptr ss:[ebp + 4]
mov eax, dword ptr ss:[ebp + 4]
; restore the base pointer.
pop eax
ret
To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
For a Pentium II (the only processor I have available CC charts for) a fsqrt is 70 clock cycles. So, it''s not that bad, but something you should avoid if it is not needed.

[Resist Windows XP''s Invasive Production Activation Technology!]

This topic is closed to new replies.

Advertisement