Class Complex

  • All Implemented Interfaces:
    Serializable, Cloneable, Cloneable

    public final class Complex
    extends Object
    implements Cloneable, Serializable
    A simple class for the handling of complex numbers. This is not the purpose of this class to provides a full-fledged library for complex number handling. This class exists mostly for the limited needs of some transformation methods.

    For performance reasons, the methods in this class never create new objects. They always operate on an object specified in argument, and store the result in the object on which the method was invoked.

    This class is final for performance reason.

    Since:
    2.2
    Author:
    Justin Deoliveira, Martin Desruisseaux
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      double imag
      The imaginary part of the complex number.
      double real
      The real part of the complex number.
    • Constructor Summary

      Constructors 
      Constructor Description
      Complex()
      Creates a complex number initialized to (0,0).
      Complex​(double real, double imag)
      Creates a complex number initialized to the specified real and imaginary parts.
      Complex​(Complex c)
      Creates a complex number initialized to the same value than the specified one.
    • Field Detail

      • real

        public double real
        The real part of the complex number.
      • imag

        public double imag
        The imaginary part of the complex number.
    • Constructor Detail

      • Complex

        public Complex()
        Creates a complex number initialized to (0,0).
      • Complex

        public Complex​(Complex c)
        Creates a complex number initialized to the same value than the specified one.
      • Complex

        public Complex​(double real,
                       double imag)
        Creates a complex number initialized to the specified real and imaginary parts.
    • Method Detail

      • copy

        public void copy​(Complex c)
        Set this complex number to the same value than the specified one. This method computes the following:
         this = c
         
      • multiply

        public void multiply​(Complex c,
                             double s)
        Multiplies a complex number by a scalar. This method computes the following:
         this = c * s
         
      • multiply

        public void multiply​(Complex c1,
                             Complex c2)
        Multplies two complex numbers. This method computes the following:
         this = c1 * c2
         
      • divide

        public void divide​(Complex c1,
                           Complex c2)
        Divides one complex number by another. This method computes the following:
         this = c1 / c2
         
      • add

        public void add​(Complex c1,
                        Complex c2)
        Adds to complex numbers. This method computes the following:
         this = c1 + c2
         
      • addMultiply

        public void addMultiply​(Complex c0,
                                Complex c1,
                                Complex c2)
        Multplies two complex numbers, and add the result to a third one. This method computes the following:
         this = c0 + (c1 * c2)
         
      • power

        public void power​(Complex c,
                          int power)
        Computes the integer power of a complex number up to 6. This method computes the following:
         this = c ^ power
         
      • equals

        public boolean equals​(Complex c)
        Returns true if this complex number has the same value than the specified one.
      • equals

        public boolean equals​(Object c)
        Compares this complex with the specified object for equality.
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Returns a hash value for this complex number.
        Overrides:
        hashCode in class Object
      • toString

        public String toString()
        Returns a string representation of this complex number.
        Overrides:
        toString in class Object