The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Math-GComplex

0.13    2019-02-07

        - Documentation improvements.
        - Added the `polar(x)` method, which returns the polar form of `x`.

0.12    2019-01-07

        - Added the `round(z)` method to round `z` to the nearest Gaussian integer.
        - Added the `gcd(a, b)` method for computing the greatest common divisors of two complex numbers.
        - Added the `invmod(n, m)` method for computing the modular multiplicative inverse of two complex numbers.
        - Added the `powmod(x, n, m)` method for efficiently computing `x**n % m`, using the exponentiation by squaring method.

0.11    2018-12-13

        - Added the `pown` method for computing `x**n` where `n` is a native integer (using the exponentiation by squaring method).
        - Added the bitwise methods: `lsft`, `rsft`, `and`, `or`, `xor`, which also provide support for operator overloading of `<<`, `>>`, `&`, `|` and `^`.

0.10    2018-10-13

        - Added the `_cartesian` and `_polar` private methods, for basic compatibility with Math::Complex.
        - Added the `make` alias for the `new` method, for basic compatibility with Math::Complex.
        - Added the `emake` and `cplxe` methods, for basic compatibility with Math::Complex.

0.09    2018-04-09

        - The `floor()` and `ceil()` functions are now included in the `:misc` export group.
        - Minor documentation tweaks.

0.08    2018-02-09

        - Added the `norm()` method.
        - Fixed `0**0` and `0**z` special cases in the `pow()` method.
        - Handle division by zero in the tan(), cot(), sec() and csc() functions, when the components of a complex number are native Perl numbers.

0.07    2018-01-20

        - Fixed the trigonometry tests under Perl built with -Duselongdouble (thanks to Slaven Rezić)

0.06    2018-01-20

        - Added the `rad2deg(x)` and `deg2rad(x)` functions.
        - Comparing anything to `NaN` (including `NaN` itself), now returns `undef`.
        - Minor performance improvements.

0.05    2018-01-06

        - Fixed the `floor()` and `ceil()` functions for integer arguments.
        - Make sure `Math::AnyNum >= 0.20` is installed. Otherwise skip the `t/anynum.t` test. (thanks to Slaven Rezić for reporting this issue)

0.04    2018-01-05

        - Fixed the result of the `atan2(x, y)` function, when `x` and `y` are non-positive numbers.

0.03    2018-01-03

        - Added more examples.
        - Added subroutine prototypes.
        - Division by zero is now handled for native Perl numbers as components of complex numbers.
        - Binary numbers are no longer overloaded (such as: `0b101`, `0xff` or `012`).
        - Documented the syntax for disabling the `:overload` behavior.

0.02    2018-01-01

        - Removed some non-portable tests.

0.01    2018-01-01

        - First release.