Repository navigation
worked on fixing cast mechanisms for handling cast-issues on MSVC - #1012
Merged
Merged
Conversation
The problem is that MSVC does not have proper complex support. Now we use an inline wrapper call that does the correct thing by compile time optimizations Since cython removes branches we can use checks at the different branches of data-types, hence removing all boiler plate code before the heavy lifting. This results in a little more verbose code, but will compile on windows (hopefully) and also with no performance penalty. Also, one should never do += because Cython can't translate it to proper arithmetic on Windows (no support of the complex dtype). The inlined code does not use *const* because Cython thinks that const T is no the same as T, meaning it reconstructs the type at pass. I'll try and do this on the other parts of the code as well.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1012 +/- ##
=======================================
Coverage 86.64% 86.64%
=======================================
Files 414 414
Lines 54754 54754
=======================================
Hits 47442 47442
Misses 7312 7312 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem is that MSVC does not have proper complex support.
Now we use an inline wrapper call that does the correct thing by compile time optimizations
Since cython removes branches we can use checks at the different branches of data-types, hence removing all boiler plate code before the heavy lifting.
This results in a little more verbose code, but will compile on windows (hopefully) and also with no performance penalty.
Also, one should never do += because Cython can't translate it to proper arithmetic on Windows (no support of the complex dtype).
The inlined code does not use const because Cython thinks that const T is no the same as T, meaning it reconstructs the type at pass.
I'll try and do this on the other parts of the code as well.
docs/changes/<num>.<type>.rst