-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Add new Complex Number Functions introduced in MS Excel 2013 #601
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…mber library - Added calculation engine support for the new complex number functions that were added in MS Excel 2013 - IMCOSH() Returns the hyperbolic cosine of a complex number - IMCOT() Returns the cotangent of a complex number - IMCSC() Returns the cosecant of a complex number - IMCSCH() Returns the hyperbolic cosecant of a complex number - IMSEC() Returns the secant of a complex number - IMSECH() Returns the hyperbolic secant of a complex number - IMSINH() Returns the hyperbolic sine of a complex number - IMTAN() Returns the tangent of a complex number
…at's taking more time away from writing the more important unit tests :(
Next time, try |
I see |
|
For that matter, the number of people likely to make use of the new functions is probably just as small; but they're there for completeness, and for consistency with the MS Excel Engineering function set. I'm also planning on adding the Bitwise functions for the same reason. And for luck, I'm planning on moving matrix functions out to a separate library as well (and fixing the broken ones too), so that they'll then become a dependency as well... and after that I can do some work on the Trends classes to modernise them as an external library too. |
Externalizing libs sounds like a good idea. I've been wondering whether we should split reader/writer as separate packages too in order to modularize required PHP modules (maybe similar to https://github.com/php-cache). But I am not quite ready to commit to that idea yet, as it could increase maintenance work... |
# Conflicts: # CHANGELOG.md
…lculation\Engineering class, but using Complex\Complex and docblock flagged as deprecated
…ce#601) * - Refactored Complex Engineering Functions to use external complex number library - Added calculation engine support for the new complex number functions that were added in MS Excel 2013 - IMCOSH() Returns the hyperbolic cosine of a complex number - IMCOT() Returns the cotangent of a complex number - IMCSC() Returns the cosecant of a complex number - IMCSCH() Returns the hyperbolic cosecant of a complex number - IMSEC() Returns the secant of a complex number - IMSECH() Returns the hyperbolic secant of a complex number - IMSINH() Returns the hyperbolic sine of a complex number - IMTAN() Returns the tangent of a complex number * Simplified the parseComplex() method in the PhpOffice\PhpSpreadsheet\Calculation\Engineering class, using Complex\Complex; and docblock flagged as deprecated
This is:
Checklist:
Why this change is needed?
This change provides the new Complex number functions that were introduced in MS Excel 2013 for the calculation engine.
Rather than implementing those functions directly in PHPSpreadsheet, they are implemented through the markbaker/complex repo, and existing complex number functions have been modified to use that library as well to provide the benefits of consistency and to fix a couple of issues in the previous implementation.