Closed sethaxen closed 1 year ago
Merging #76 (1083d5b) into master (eebbf5b) will not change coverage. The diff coverage is
n/a
.
@@ Coverage Diff @@
## master #76 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 3 3
Lines 397 391 -6
=========================================
- Hits 397 391 -6
Impacted Files | Coverage Δ | |
---|---|---|
src/Quaternion.jl | 100.00% <ø> (ø) |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
By the above arguments, implementing it was a bug, and this is a non-breaking change.
I think this PR can be considered a breaking change since it removes the feature instead of solving the issue. Since v1.0 has not been released yet, I think it will not be a problem with a breaking change.
Sure, we can hold until it for now until we make other breaking changes; it's unlikely anyone will be using cis
.
Following after https://github.com/JuliaGeometry/Quaternions.jl/pull/56#issuecomment-1046273555, after further thought, implementing
cis
(andcispi
) seems dangerous, as our implementation disagrees with the docstring in Base. A few other relevant notes.Of all overloads defined in #56, its complex version is the only function that takes a real number to a complex number (i.e. is specific to
Complex
), and it's the only function that violatesf(z') == f(z)'
.Its power series representation is
cis(z) = \sum_{n=0}^\infty im^n/n! z^n
, so that its coefficients area_n = im^n/n!
. However, thecis
overload we define is actually equivalent tocis2(z) = cis(z * sign(imag(z)))
, which has the power series representation:cis2(z) = \sum_{n=0}^\infty (sign(imag(z)) im)^n/n! z^n
. These are not the same function:This PR removes
cis
/cispi
. By the above arguments, implementing it was a bug, and this is a non-breaking change.