Can anyone make this faster?
VB Code:
Public Function SquareRoot(ByVal Number As Double) As Double If Number < 0 Then Number = Number * -1 Dim i As Long Dim Temp As Double Dim Power As Long Dim Estimate As Double Temp = 1 'Calculate an initial Estimate If Number >= 1 Then Do While Number > Temp Temp = Temp * 10 Power = Power + 1 Loop Else Do While Number < Temp Temp = Temp / 10 Power = Power - 1 Loop End If Power = Power / -2 Estimate = 10 ^ Power * Number 'Calculate actual square root Dim OldEstimate As Double Do OldEstimate = Estimate Estimate = 0.5 * (Estimate + Number/Estimate) Loop Until OldEstimate = Estimate SquareRoot = Estimate End Function
(Wrote this just now, so I haven't debugged it; I'll go check it now but I want to post it first just in case I get a BSOD.)




Reply With Quote