TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
 Specialized Dev Zones Research Center eBook Library .NET Java C++ Web Dev Architecture Database Security Open Source Enterprise Mobile Special Reports 10-Minute Solutions DevXtra Blogs Slideshow

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Language: VB4,VB5,VB6
Expertise: Intermediate
Dec 23, 2000

### WEBINAR:On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning

# CComplexNumber - A class for dealing with complex numbers

``````Option Explicit

'------------------------------------------
' A class for dealing with complex numbers
'------------------------------------------

' The main properties
Public Real As Double
Public 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 = Me
End Function

' Returns another complex number with given
' real and imaginary parts

Function Complex(Real As Double, Imaginary As Double) As CComplexNumber
Set Complex = New CComplexNumber
Complex.Real = Real
Complex.Imaginary = Imaginary
End 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
End Function

' Add a complex number to the current one
' (returns the result CComplexNumber)

Function Add2(Real As Double, Imaginary As Double) As CComplexNumber
End 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 - Imaginary
End 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 * Real
End 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) / sum
End Function

' Return the textual description of a complex number

Function 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 If
End Function

``````
Francesco Balena

 Submit a Tip Browse "XML" Tips Browse All Tips
Comment and Contribute

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

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