basic_complex.pb
来自「Delphi脚本控件」· PB 代码 · 共 100 行
PB
100 行
Structure Complex
Dim re As Double
Dim im As Double
Shared Dim i As Complex = (0.0, 1.0)
' "+"
Operator + (x As Complex, y As Complex) As Complex
Dim result As Complex = (x.re + y.re, x.im + y.im)
return result
End Operator
Operator + (x As Double, y As Complex) As Complex
Dim result As Complex = (x + y.re, y.im)
return result
End Operator
Operator + (x As Complex, y As Double) As Complex
Dim result As Complex = (x.re + y, x.im)
return result
End Operator
' "-"
Operator - (x As Complex, y As Complex) As Complex
Dim result As Complex = (x.re - y.re, x.im - y.im)
return result
End Operator
Operator - (x As Double, y As Complex) As Complex
Dim result As Complex = (x - y.re, - y.im)
return result
End Operator
Operator - (x As Complex, y As Double) As Complex
Dim result As Complex = (x.re - y, x.im)
return result
End Operator
' unary "-"
Operator - (x As Complex) As Complex
Dim result As Complex = (-x.re, -x.im)
return result
End Operator
' "*"
Operator * (x As Complex, y As Complex) As Complex
Dim result As Complex = (x.re * y.re - x.im * y.im, x.re * y.im + y.re * x.im)
return result
End Operator
Operator * (x As Complex, y As Double) As Complex
Dim result As Complex = (x.re * y, x.im * y)
return result
End Operator
Operator * (x As Double, y As Complex) As Complex
Dim result As Complex = (y.re * x, y.im * x)
return result
End Operator
' "/"
Operator / (x As Complex, y As Complex) As Complex
Dim result As Complex
Dim d As Double = y.re * y.re + y.im * y.im
result.re = (x.re * y.re + x.im * y.im) / d
result.im = (x.im * y.re - x.re * y.im) / d
return result
End Operator
Operator / (x As Complex, y As Double) As Complex
Dim result As Complex = (x.re / y, x.im / y)
return result
End Operator
Operator / (x As Double, y As Complex) As Complex
Dim result As Complex
Dim d As Double = y.re * y.re + y.im * y.im
result.re = x * y.re / d
result.im = - x * y.im / d
return result
End Operator
' "="
Operator = (x As Complex, y As Complex) As Boolean
return (x.re = y.re) and (x.im = y.im)
End Operator
Operator = (x As Double, y As Complex) As Boolean
return (x = y.re) and (0.0 = y.im)
End Operator
Operator = (x As Complex, y As Double) As Boolean
return (x.re = y) and (x.im = 0.0)
End Operator
' "<>"
Operator <> (x As Complex, y As Complex) As Boolean
return (x.re <> y.re) or (x.im <> y.im)
End Operator
Operator <> (x As Double, y As Complex) As Boolean
return (x <> y.re) or (0.0 <> y.im)
End Operator
Operator <> (x As Complex, y As Double) As Boolean
return (x.re <> y) or (x.im <> 0.0)
End Operator
End Structure
Dim x As Complex, y As Complex, z As Complex
println Complex.i.re
x.re = 56.7
x.im = 8
y.re = 12
y.im = 22.2
z = x + y
println x, y, z
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?