[package] [Java implementation] [Execution output]


Complex


class Complex<T>: complex(T: a, T: b);

// Accessors

complex(a, b).re = a;

complex(a, b).im = b;

// Arithmetic identities / implementation

                                   complex(a, b).conjugate = complex(a, -b);

                                   stream << complex(a, b) = stream << a << " + " << b << "i";

                            complex(a, b) == complex(c, d) = (a == c and b == d);

                             complex(a, b) + complex(c, d) = complex(a + c, b + d);

                                            -complex(a, b) = complex(-a, -b);

                             complex(a, b) * complex(c, d) = complex(a * c - b * d, a * d + b * c);

                                            /complex(a, b) = (d = a * a + b * b; complex(a / d, -b / d));

                                         additive_identity = complex(additive_identity, additive_identity);

                                   multiplicative_identity = complex(multiplicative_identity, additive_identity);