Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Jan 19, 2000

Use Faster Floating-Point Division

If you do a lot of floating-point division operations in VB, you can optimize these operations by multiplying by the reciprocal value. For example, instead of performing this calculation:
 
X/Y
Do this:
 
X * (1 / Y)
You can see how this works in VB by adding this code to a form in a new project:
 
Private Declare Function GetTickCount Lib _
	"kernel32" () As Long
Const NORMAL As Double = 1453
Const RECIPROCAL As Double = 1 / NORMAL
Const TOTAL_COUNT As Long = 10000000
Private Sub Form_Click()
	Dim dblRes As Double
	Dim lngC As Long
	Dim lngStart As Long
	On Error GoTo Error_Normal
	lngStart = GetTickCount
	For lngC = 1 To TOTAL_COUNT
		dblRes = Rnd / NORMAL
		Next lngC
	MsgBox "Normal Time:  " & GetTickCount - lngStart
	lngStart = GetTickCount
	For lngC = 1 To TOTAL_COUNT
		dblRes = Rnd * RECIPROCAL
	Next lngC
	MsgBox "Reciprocal Time:  " & GetTickCount - lngStart
Exit Sub
Error_Normal:
	MsgBox Err.Number & " - " & Err.Description
End Sub
I
Jason Bock
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date