Platforms to show: All Mac Windows Linux Cross-Platform
Required plugins for this example: MBS DataTypes Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /DataTypes/Large Number Test
This example is the version from Sat, 8th Mar 2019.
Project "Large Number Test.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class MainWindow Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
EventHandler Sub Open()
#Pragma DisableBackgroundTasks True
If True Then
Dim l1 As New LargeNumberMBS(162435634567)
Dim l2 As New LargeNumberMBS(1543654634567)
Dim l3 As LargeNumberMBS
Dim m1 As Double = Microseconds
For i As Integer = 1 To 10000
l3 = l1 + l2
Next
Dim m2 As Double = Microseconds
List.AddRow "LargeNumberMBS adds", Str( (m2-m1) / 10000, "0.00")
End If
If True Then
Dim l1 As New LargeNumberMBS(546345634564531)
Dim l2 As New LargeNumberMBS(563456345617)
Dim l3 As LargeNumberMBS
Dim m1 As Double = Microseconds
For i As Integer = 1 To 10000
l3 = l1 - l2
Next
Dim m2 As Double = Microseconds
List.AddRow "LargeNumberMBS subs", Str( (m2-m1) / 10000, "0.00")
End If
If True Then
Dim l1 As New LargeNumberMBS(3456345634563456)
Dim l2 As New LargeNumberMBS(1546345637)
Dim l3 As LargeNumberMBS
Dim m1 As Double = Microseconds
For i As Integer = 1 To 10000
l3 = l1 * l2
Next
Dim m2 As Double = Microseconds
List.AddRow "LargeNumberMBS muls", Str( (m2-m1) / 10000, "0.00")
End If
If True Then
Dim l1 As New LargeNumberMBS(12346754567567890)
Dim l2 As New LargeNumberMBS(178456845687)
Dim l3 As LargeNumberMBS
Dim m1 As Double = Microseconds
For i As Integer = 1 To 10000
l3 = l1 / l2
Next
Dim m2 As Double = Microseconds
List.AddRow "LargeNumberMBS divs", Str( (m2-m1) / 10000, "0.00")
End If
If True Then
Dim b1 As New BigNumberMBS(4567456745671)
Dim b2 As New BigNumberMBS(1657456745677)
Dim b3 As BigNumberMBS
Dim m3 As Double = Microseconds
For i As Integer = 1 To 10000
b3 = b1 + b2
Next
Dim m4 As Double = Microseconds
List.AddRow "BigNumberMBS adds", Str( (m4-m3) / 10000, "0.00")
End If
If True Then
Dim b1 As New BigNumberMBS(4567456745671)
Dim b2 As New BigNumberMBS(1657456745677)
Dim b3 As BigNumberMBS
Dim m3 As Double = Microseconds
For i As Integer = 1 To 10000
b3 = b1 - b2
Next
Dim m4 As Double = Microseconds
List.AddRow "BigNumberMBS subs", Str( (m4-m3) / 10000, "0.00")
End If
If True Then
Dim b1 As New BigNumberMBS(4567456745671)
Dim b2 As New BigNumberMBS(1657456745677)
Dim b3 As BigNumberMBS
Dim m3 As Double = Microseconds
For i As Integer = 1 To 10000
b3 = b1 * b2
Next
Dim m4 As Double = Microseconds
List.AddRow "BigNumberMBS muls", Str( (m4-m3) / 10000, "0.00")
End If
If True Then
Dim b1 As New BigNumberMBS(4567456745671)
Dim b2 As New BigNumberMBS(1657456745677)
Dim b3 As BigNumberMBS
Dim m3 As Double = Microseconds
For i As Integer = 1 To 10000
b3 = b1 / b2
Next
Dim m4 As Double = Microseconds
List.AddRow "BigNumberMBS divs", Str( (m4-m3) / 10000, "0.00")
End If
End EventHandler
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project
The items on this page are in the following plugins: MBS DataTypes Plugin.