dcsimg
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

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.


Tip of the Day
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
    Set Add = Me
End 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 + Imaginary
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
 
Comment and Contribute

 

 

 

 

 


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

 

 

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