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.
This PR changes how arrays are accessed in all the operations. It appears that for some reason the hashtables are becoming non-packed, but I am not sure why. Changing directly accessing
arData
to usingzend_hash_index_find
fixes this issue. Under the hoodzend_hash_index_find
evaluates whether the array is properly packed, and delegates to directly accessing arData. So I think this change should be as performant as it was before, if your arrays are properly packed.All the tests run successfully with these changes.
There are still deprecation warnings about
self
andstatic
calls, but it looks like Zephir has not yet developed a fix for this. zephir-lang/zephir#2405There are also warnings like "Implicit conversion from float 3.3 to int loses precision", which appear to be coming from calls into Zend mod_function. I was not sure of the mathematically correct way to resolve this one.
Minor changes like
int
tofloat
warnings are also fixed, and a return type ofVector
is fixed to match the non-extension code.(Potentially) fixes #33 and #38