Complex
The complex module provides complex number operations for the Crux programming language.
Installation
use new_complex from "crux:complex";
Functions
new_complex
Creates a new complex number with real and imaginary parts.
let c = new_complex(3.0, 4.0) // 3 + 4i
Parameters:
real(Float): Real partimag(Float): Imaginary part
Returns: Complex
Methods
real
Returns the real part of a complex number.
let c = new_complex(3.0, 4.0)
let r = c.real() // 3.0
Returns: Float
imag
Returns the imaginary part of a complex number.
let c = new_complex(3.0, 4.0)
let i = c.imag() // 4.0
Returns: Float
add
Adds two complex numbers together.
let c1 = new_complex(1.0, 2.0)
let c2 = new_complex(3.0, 4.0)
let sum = c1.add(c2) // 4 + 6i
Parameters:
other(Complex): The other complex number
Returns: Complex
subtract
Subtracts another complex number from this one.
let c1 = new_complex(5.0, 6.0)
let c2 = new_complex(3.0, 4.0)
let diff = c1.subtract(c2) // 2 + 2i
Parameters:
other(Complex): The other complex number
Returns: Complex
multiply
Multiplies two complex numbers together.
let c1 = new_complex(1.0, 2.0)
let c2 = new_complex(3.0, 4.0)
let product = c1.multiply(c2) // -5 + 10i
Parameters:
other(Complex): The other complex number
Returns: Complex
divide
Divides this complex number by another.
let c1 = new_complex(1.0, 2.0)
let c2 = new_complex(3.0, 4.0)
let quotient = c1.divide(c2) // 0.44 + 0.08i
Parameters:
other(Complex): The divisor complex number
Returns: Complex
scale
Scales a complex number by a scalar value.
let c = new_complex(1.0, 2.0)
let scaled = c.scale(2.0) // 2 + 4i
Parameters:
scalar(Float): The scalar value
Returns: Complex
magnitude
Returns the magnitude (modulus) of a complex number.
let c = new_complex(3.0, 4.0)
let mag = c.magnitude() // 5.0
Returns: Float
square_magnitude
Returns the squared magnitude of a complex number.
let c = new_complex(3.0, 4.0)
let sq_mag = c.square_magnitude() // 25.0
Returns: Float
conjugate
Returns the complex conjugate of a complex number.
let c = new_complex(3.0, 4.0)
let conj = c.conjugate() // 3 - 4i
Returns: Complex