struct Complex
      
inherits Struct
¶
  A complex number is a number represented in the form a + bi. In this form, a and b are real numbers, and i is an imaginary number such as i² = -1. The a is the real part of the number, and the b is the imaginary part of the number.
require "complex"
Complex.new(1, 0)   # => 1.0 + 0.0i
Complex.new(5, -12) # => 5.0 - 12.0i
1.to_c # => 1.0 + 0.0i
1.i    # => 0.0 + 1.0i
Class methods¶
Methods¶
    
      #abs
    
¶
  
    Returns the absolute value of this complex number in a number form, using the Pythagorean theorem.
require "complex"
Complex.new(42, 2).abs  # => 42.04759208325728
Complex.new(-42, 2).abs # => 42.04759208325728
    
      #abs2
    
¶
  
    Returns the square of absolute value in a number form.
require "complex"
Complex.new(42, 2).abs2 # => 1768
    
      #conj
    
¶
  
    Returns the conjugate of self.
require "complex"
Complex.new(42, 2).conj  # => 42.0 - 2.0i
Complex.new(42, -2).conj # => 42.0 + 2.0i
    
      #inspect(io : IO) : Nil
    
¶
  (io : IO) : Nil
    Writes this complex object to an io, surrounded by parentheses.
require "complex"
Complex.new(42, 2).inspect # => "(42.0 + 2.0i)"
    
      #polar
    
¶
  
    Returns a Tuple with the abs value and the phase.
require "complex"
Complex.new(42, 2).polar # => {42.047592083257278, 0.047583103276983396}
    
      #to_f32
    
¶
  
    Returns the value as a Float32 if possible (the imaginary part should be exactly zero),
raises otherwise.
    
      #to_f64
    
¶
  
    Returns the value as a Float64 if possible (the imaginary part should be exactly zero),
raises otherwise.
    
      #to_i64
    
¶
  
    Returns the value as an Int64 if possible (the imaginary part should be exactly zero),
raises otherwise.
    
      #to_s(io : IO) : Nil
    
¶
  (io : IO) : Nil
    Writes this complex object to an io.
require "complex"
Complex.new(42, 2).to_s # => "42.0 + 2.0i"
    
      #to_u64
    
¶
  
    Returns the value as an UInt64 if possible (the imaginary part should be exactly zero),
raises otherwise.