Option Explicit'------------------------------------------' A class for dealing with complex numbers'------------------------------------------' The main propertiesPublic Real As DoublePublic Imaginary As Double' Initialize this complex number' (returns Me)Function Init(Real As Double, Imaginary As Double) As CComplexNumber Me.Real = Real Me.Imaginary = Imaginary Set Init = MeEnd Function' Returns another complex number with given' real and imaginary partsFunction Complex(Real As Double, Imaginary As Double) As CComplexNumber Set Complex = New CComplexNumber Complex.Real = Real Complex.Imaginary = ImaginaryEnd Function' Add a complex number to the current one' (returns Me)Function Add(other As CComplexNumber) As CComplexNumber Real = Real + other.Real Imaginary = Imaginary + other.Imaginary Set Add = MeEnd Function' Add a complex number to the current one' (returns the result CComplexNumber)Function Add2(Real As Double, Imaginary As Double) As CComplexNumber Set Add2 = New CComplexNumber Add2.Real = Me.Real + Real Add2.Imaginary = Me.Imaginary + ImaginaryEnd Function' Subtract a complex number from the current one' (returns the result CComplexNumber)Function Subtract2(Real As Double, Imaginary As Double) As CComplexNumber Set Subtract2 = New CComplexNumber Subtract2.Real = Me.Real - Real Subtract2.Imaginary = Me.Imaginary - ImaginaryEnd Function' Multiple a complex number by the current one' (returns the result CComplexNumber)Function Multiply2(Real As Double, Imaginary As Double) As CComplexNumber Set Multiply2 = New CComplexNumber Multiply2.Real = (Me.Real * Real - Me.Imaginary * Imaginary) Multiply2.Imaginary = Me.Real * Imaginary + Me.Imaginary * RealEnd Function' Divide the current number by another complex number' (returns the result CComplexNumber)Function Divide2(Real As Double, Imaginary As Double) As CComplexNumber Set Divide2 = New CComplexNumber Dim sum As Double ' create the sum only once sum = Real * Real + Imaginary * Imaginary ' evaluate the real and imaginary parts Divide2.Real = (Me.Real * Real + Me.Imaginary * Imaginary) / sum Divide2.Imaginary = (Me.Imaginary * Real - Me.Real * Imaginary) / sumEnd Function' Return the textual description of a complex numberFunction Text() As String If Imaginary = 0 Then Text = LTrim$(Real) ElseIf Real = 0 Then Text = LTrim$(Imaginary) & "i" ElseIf Imaginary > 0 Then Text = LTrim$(Real) & "+" & LTrim$(Imaginary) & "i" Else Text = LTrim$(Real) & LTrim$(Imaginary) & "i" End IfEnd Function


The Best Mechanical Keyboards For Programmers: Where To Find Them
When it comes to programming, a good mechanical keyboard can make all the difference. Naturally, you would want one of the best mechanical keyboards for programmers. But with so many