home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hot Shareware 35
/
hot35.iso
/
ficheros
/
LVB
/
T2W32543.ZIP
/
_MATH.FRM
< prev
next >
Wrap
Text File
|
1998-05-21
|
13KB
|
522 lines
VERSION 5.00
Begin VB.Form frmMath
BorderStyle = 4 'Fixed ToolWindow
Caption = "Math"
ClientHeight = 4785
ClientLeft = 1890
ClientTop = 3270
ClientWidth = 7485
MaxButton = 0 'False
MDIChild = -1 'True
PaletteMode = 1 'UseZOrder
ScaleHeight = 4785
ScaleWidth = 7485
ShowInTaskbar = 0 'False
Begin VB.Frame Frame1
Height = 570
Left = 0
TabIndex = 1
Top = -90
Width = 7485
Begin VB.CommandButton cmdNP
Caption = ">"
Height = 285
Index = 1
Left = 7110
TabIndex = 6
Top = 195
Width = 285
End
Begin VB.CommandButton cmdNP
Caption = "<"
Height = 285
Index = 0
Left = 6210
TabIndex = 5
Top = 195
Width = 285
End
Begin VB.CommandButton Command1
Caption = "&Go"
Default = -1 'True
Height = 285
Left = 6570
TabIndex = 4
Top = 195
Width = 465
End
Begin VB.ComboBox cmb_Function
Height = 315
Left = 1365
TabIndex = 2
Top = 180
Width = 4755
End
Begin VB.Label Label2
Caption = "&Select a function"
Height = 255
Left = 90
TabIndex = 3
Top = 210
Width = 1275
End
End
Begin VB.TextBox txt_Result
BackColor = &H00C0C0C0&
BorderStyle = 0 'None
Height = 4005
Left = 105
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 0
Top = 630
Width = 7260
End
End
Attribute VB_Name = "frmMath"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Option Base 1
Private Const Iteration = 250
Dim IsLoaded As Integer
Dim TimerStartOk As Integer
Dim TimerCloseOk As Integer
Dim TimerHandle As Integer
Dim TimerValue As Long
Private Sub cmdNP_Click(Index As Integer)
Call sub_NextPrev(cmb_Function, Index)
End Sub
Private Sub cmb_Function_Click()
If (IsLoaded = False) Then Exit Sub
Call cDisableFI(mdiT2W.Picture1)
txt_Result = ""
DoEvents
Select Case cmb_Function.ListIndex
Case 0
Call TestComplex
Case 1
Call TestRootN
Case 2
Call TestGreatCommonDivisor
Case 3
Call TestRotate
Case 4
Call TestSortDigits
Case 5
Call TestSumX
Case 6
Call TestRound
End Select
DoEvents
Call cEnableFI(mdiT2W.Picture1)
End Sub
Private Sub Form_Activate()
mdiT2W.Label2.Caption = cInsertBlocks(mdiT2W.Label2.Tag, "" & Iteration)
End Sub
Private Sub Form_Load()
IsLoaded = False
Show
Call sub_Load_Combo(cmb_Function, T2WDirInst + "_math.t2w")
IsLoaded = True
End Sub
Private Sub Command1_Click()
Call cmb_Function_Click
End Sub
Private Sub TestRootN()
Dim lResult As Long
Dim dResult As Long
Dim strResult As String
Dim strDisplay As String
Dim i As Integer
Dim dValue As Double
Dim Str1 As String
Dim Str2 As String
Dim Itr As Long
lResult = 0
strResult = ""
strDisplay = ""
dValue = 123456789.987654
strDisplay = strDisplay & "Root 3 of " & dValue & " with a precision of " & vbCrLf & vbCrLf
For i = 3 To 20 Step 2
strDisplay = strDisplay & " " & i & " is " & cRootN(dValue, 3, i, Itr) & " (Iteration = " & Itr & ")" & vbCrLf
Next i
strDisplay = strDisplay & vbCrLf
dValue = 123456789.987654
strDisplay = strDisplay & "Root 70 of " & dValue & " with a precision of " & vbCrLf & vbCrLf
For i = 3 To 20 Step 2
strDisplay = strDisplay & " " & i & " is " & cRootN(dValue, 70, i, Itr) & " (Iteration = " & Itr & ")" & vbCrLf
Next i
strDisplay = strDisplay + vbCrLf
txt_Result = strDisplay
'time the function
TimerHandle = cTimerOpen()
TimerStartOk = cTimerStart(TimerHandle)
For i = 1 To Iteration
dResult = cRootN(dValue, 10, 15, Itr)
Next i
mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
TimerCloseOk = cTimerClose(TimerHandle)
End Sub
Private Sub TestComplex()
Dim lResult As Long
Dim dResult As Double
Dim strResult As String
Dim strDisplay As String
Dim i As Integer
Dim Str1 As String
Dim Str2 As String
Dim z1 As tagCOMPLEX
Dim z2 As tagCOMPLEX
Dim z As tagCOMPLEX
strResult = ""
strDisplay = ""
z1.a = 3: z1.b = 4
z2.a = 6: z2.b = 8
strDisplay = strDisplay & "z1 = ( " & z1.a & " + i . " & z1.b & " )" & vbCrLf
strDisplay = strDisplay & "z2 = ( " & z2.a & " + i . " & z2.b & " )" & vbCrLf & vbCrLf
z = cCpxAdd(z1, z2)
strDisplay = strDisplay & "z1+z2 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf & vbCrLf
z = cCpxSub(z1, z2)
strDisplay = strDisplay & "z1-z2 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf & vbCrLf
z = cCpxMul(z1, z2)
strDisplay = strDisplay & "z1.z2 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf & vbCrLf
z = cCpxDiv(z1, z2)
strDisplay = strDisplay & "z1/z2 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf & vbCrLf
z = cCpxConjugue(z1)
strDisplay = strDisplay & "conjugue of z1 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf
z = cCpxConjugue(z2)
strDisplay = strDisplay & "conjugue of z2 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf & vbCrLf
z = cCpxPowerN(z1, 3)
strDisplay = strDisplay & "power 3 of z1 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf
z = cCpxPowerN(z2, 3)
strDisplay = strDisplay & "power 3 of z2 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf & vbCrLf
z = cCpxSqrt(z1)
strDisplay = strDisplay & "square root of z1 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf
z = cCpxSqrt(z2)
strDisplay = strDisplay & "square root of z2 = ( " & z.a & " + i . " & z.b & " )" & vbCrLf & vbCrLf
dResult = cCpxModulus(z1)
strDisplay = strDisplay & "modulus of z1 = " & dResult & vbCrLf
dResult = cCpxModulus(z2)
strDisplay = strDisplay & "modulus of z1 = " & dResult & vbCrLf & vbCrLf
dResult = cCpxArgument(z1)
strDisplay = strDisplay & "argument of z1 = " & dResult & vbCrLf
dResult = cCpxArgument(z2)
strDisplay = strDisplay & "argument of z2 = " & dResult & vbCrLf & vbCrLf
strDisplay = strDisplay + vbCrLf
txt_Result = strDisplay
'time the function
TimerHandle = cTimerOpen()
TimerStartOk = cTimerStart(TimerHandle)
For i = 1 To Iteration
z = cCpxAdd(z1, z2)
Next i
mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
TimerCloseOk = cTimerClose(TimerHandle)
End Sub
Private Sub TestGreatCommonDivisor()
Dim lResult As Long
Dim strResult As String
Dim strDisplay As String
Dim i As Integer
Dim a As Long
Dim b As Long
lResult = 0
strResult = ""
strDisplay = ""
Call cRndInit(-1)
For i = 1 To 10
a = cRndL()
b = cRndL()
strDisplay = strDisplay & "Great Common Divisor of (" & a & ", " & b & ") is " & cGreatCommonDivisor(a, b) & vbCrLf
Next i
strDisplay = strDisplay & vbCrLf
txt_Result = strDisplay
'time the function
TimerHandle = cTimerOpen()
TimerStartOk = cTimerStart(TimerHandle)
For i = 1 To Iteration
lResult = cGreatCommonDivisor(a, b)
Next i
mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
TimerCloseOk = cTimerClose(TimerHandle)
End Sub
Private Sub TestRotate()
Dim lResult As Long
Dim strResult As String
Dim strDisplay As String
Dim i As Integer
Dim a As Long
Dim b As Integer
lResult = 0
strResult = ""
strDisplay = ""
Call cRndInit(-1)
For i = 1 To 10
a = Abs(cRndL())
b = Abs(cRndI()) Mod 10
strDisplay = strDisplay & "Rotate '" & a & " (" & b & " times) is " & cRotate(a, b) & vbCrLf
Next i
strDisplay = strDisplay & vbCrLf
txt_Result = strDisplay
'time the function
TimerHandle = cTimerOpen()
TimerStartOk = cTimerStart(TimerHandle)
For i = 1 To Iteration
lResult = cRotate(a, b)
Next i
mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
TimerCloseOk = cTimerClose(TimerHandle)
End Sub
Private Sub TestSortDigits()
Dim lResult As Long
Dim strResult As String
Dim strDisplay As String
Dim i As Integer
Dim a As Long
lResult = 0
strResult = ""
strDisplay = ""
Call cRndInit(-1)
For i = 1 To 10
a = cRndL()
strDisplay = strDisplay & "Sort '" & a & " is " & cSortDigits(a) & vbCrLf
Next i
strDisplay = strDisplay & vbCrLf
txt_Result = strDisplay
'time the function
TimerHandle = cTimerOpen()
TimerStartOk = cTimerStart(TimerHandle)
For i = 1 To Iteration
lResult = cSortDigits(a)
Next i
mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
TimerCloseOk = cTimerClose(TimerHandle)
End Sub
Private Sub TestSumX()
Dim lResult As Long
Dim strResult As String
Dim strDisplay As String
Dim i As Integer
Dim a As Long
lResult = 0
strResult = ""
strDisplay = ""
Call cRndInit(-1)
For i = 1 To 5
a = cRndL()
strDisplay = strDisplay & "SumDigits '" & a & " is " & cSumDigits(a) & vbCrLf
strDisplay = strDisplay & "SumDigitsAlt '" & a & " is " & cSumDigitsAlt(a) & vbCrLf
strDisplay = strDisplay & "SumDivisors '" & a & " is " & cSumDivisors(a) & vbCrLf & vbCrLf
Next i
txt_Result = strDisplay
'time the function
TimerHandle = cTimerOpen()
TimerStartOk = cTimerStart(TimerHandle)
For i = 1 To Iteration
lResult = cSumDigits(a)
Next i
mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
TimerCloseOk = cTimerClose(TimerHandle)
End Sub
Private Sub TestRound()
Dim lResult As Long
Dim dResult As Double
Dim strResult As String
Dim strDisplay As String
Dim i As Integer
Dim a As Long
lResult = 0
strResult = ""
strDisplay = ""
strDisplay = "Round (x,y) " & vbCrLf & vbCrLf
strDisplay = strDisplay & "(3.56376, 3) = " & cRound(3.56376, 3) & vbCrLf
strDisplay = strDisplay & "(3.56376, 1) = " & cRound(3.56376, 1) & vbCrLf
strDisplay = strDisplay & "(3.56376, 0) = " & cRound(3.56376, 0) & vbCrLf
strDisplay = strDisplay & "(3.56376, 2) = " & cRound(3.56376, 2) & vbCrLf
strDisplay = strDisplay & "(1.4999, 3) = " & cRound(1.4999, 3) & vbCrLf
strDisplay = strDisplay & "(1.4999, 2) = " & cRound(1.4899, 2) & vbCrLf & vbCrLf
strDisplay = strDisplay & "RoundNearest (x,y) " & vbCrLf & vbCrLf
strDisplay = strDisplay & "(12.4, 5) = " & cRoundNearest(12.4, 5) & vbCrLf
strDisplay = strDisplay & "(12.4, 5) = " & cRoundNearest(12.5, 5) & vbCrLf
strDisplay = strDisplay & "(12.6, 5) = " & cRoundNearest(12.6, 5) & vbCrLf
strDisplay = strDisplay & "(18.1, 5) = " & cRoundNearest(18.1, 5) & vbCrLf
strDisplay = strDisplay & "(0.1, 5) = " & cRoundNearest(0.1, 5) & vbCrLf
strDisplay = strDisplay & "(2.6, 5) = " & cRoundNearest(2.6, 5) & vbCrLf
txt_Result = strDisplay
'time the function
TimerHandle = cTimerOpen()
TimerStartOk = cTimerStart(TimerHandle)
For i = 1 To Iteration
dResult = cRound(1.2345, 5)
Next i
mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
TimerCloseOk = cTimerClose(TimerHandle)
End Sub