Convert ext/standard/math to HNI#1684
Conversation
|
I have one test failing locally from what appears to be a bug with HNI. doubles being passed back are being rounded to 14 dp, not truncated. This is happening with log(). I tried to find where this was happening, but couldn't. |
|
And that test passes on Travis. |
|
This breaks if you build with ext_zend_compat enabled as that expects to be able to call |
|
Thought I missed a spot. I've changed it to call |
|
Seeing more problems with this too: hphp/test/zend/good/Zend/tests/bug30394.php +2 - HipHop Warning: Too many arguments for max(), expected 1 |
|
hphp/test/zend/good/ext/standard/tests/array/max_variation2.php also hits an AddressSanitizer fault in the native invocation, as does min_variation1.php -- I believe these are all the same root cause as the above one. |
|
Hmm, not seeing them with Travis or locally. Has something changed recently with how varargs are handled with HNI functions? (I'm rebasing/building now to check, but it'll probably be faster if someone knows) |
|
I fixed the two tests that were failing. I've got no idea why the -r tests are failing. I haven't looked into it, as I've never managed to figure out that part of the code before. Running the And the stack trace: Command run was: |
|
Something strange is going on here in repo mode with HNI. @sgolemon, can you take a look here? |
Also adds a test for a singular value.
|
@simonwelsh As mentioned on IRC, since the PR is causing otherwise inexplicable perf regressions, I'm going to take over doing the math functions a few at a time to try to narrow down the issue. |
Summary: fixes #1684 Convert ext/standard/math to HNI Reviewed By: @ptarjan, @JoelMarcey Differential Revision: D1646888 Signature: t1:1646888:1414613111:207e8c5ce9c600857a98461a4848aec6bf739647 Pulled By: @nigelchanyk
All changes and deletions to the tests came from running the import script again. It looks like the deletions are all because of a 32bit check.
Part of #1480