' vbc /optimize /optionexplicit /optionstrict pftest5.vb

Imports System

Module pftest5
  Sub Test()
    Const MAXDIM As Integer = 30000
    Dim sum As Double = 0.0
    Dim rdm As New Random()

    Dim dm(MAXDIM-1) As Double

    Dim i As Integer, j As Integer
    Dim temp As Double

    For i = 0 To MAXDIM-1
      dm(i) = rdm.NextDouble()
    Next

    Dim tstart As Integer = System.Environment.TickCount

    For i = 0 To MAXDIM-1
      j = MAXDIM - i - 1
      dm(i) = dm(i) * dm(j) + 1
    Next

    For i = 0 To MAXDIM-1
        j = MAXDIM - 1
        Do While j > i
            If dm(i) > dm(j) Then
                temp = dm(i)
                dm(i) = dm(j)
                dm(j) = temp
            End If
            j = j - 1
        Loop
    Next

    For i = 0 To MAXDIM-1
        j = MAXDIM - i - 1
        dm(i) = dm(i) * dm(j) - 1
    Next

    For i = 0 To MAXDIM-1
        sum = sum + dm(i)
    Next

    Dim tend As Integer = System.Environment.TickCount

    Console.WriteLine("SUM = {0} : elpased = {1}", sum, tend - tstart)
  End Sub

  Sub Main()
    Dim i As Integer
    Console.WriteLine("VB.NET")
    For i = 1 To 10
      Test()
    Next
  End Sub
End Module
