Github user dbtsai commented on the pull request:
https://github.com/apache/spark/pull/1425#issuecomment-49954543
@srowen @mengxr and @dorx
Based on our discussion, I've implemented two different APIs for relative
error, and absolute error. It makes sense that test writers should know which
one they need depending on their circumstances.
Developers also need to explicitly specify the eps now, and there is no
default value which will sometimes cause confusion.
When comparing against zero using relative error, a exception will be
raised to warn users that it's meaningless.
For relative error in percentage, users can now write
assert(23.1 ~== 23.52 %+- 2.0)
assert(23.1 ~== 22.74 %+- 2.0)
assert(23.1 ~= 23.52 %+- 2.0)
assert(23.1 ~= 22.74 %+- 2.0)
assert(!(23.1 !~= 23.52 %+- 2.0))
assert(!(23.1 !~= 22.74 %+- 2.0))
// This will throw exception with the following message.
// "Did not expect 23.1 and 23.52 to be within 2.0% using relative
error."
assert(23.1 !~== 23.52 %+- 2.0)
// "Expected 23.1 and 22.34 to be within 2.0% using relative error."
assert(23.1 ~== 22.34 %+- 2.0)
For absolute error,
assert(17.8 ~== 17.99 +- 0.2)
assert(17.8 ~== 17.61 +- 0.2)
assert(17.8 ~= 17.99 +- 0.2)
assert(17.8 ~= 17.61 +- 0.2)
assert(!(17.8 !~= 17.99 +- 0.2))
assert(!(17.8 !~= 17.61 +- 0.2))
// This will throw exception with the following message.
// "Did not expect 17.8 and 17.99 to be within 0.2 using absolute
error."
assert(17.8 !~== 17.99 +- 0.2)
// "Expected 17.8 and 17.59 to be within 0.2 using absolute error."
assert(17.8 ~== 17.59 +- 0.2)
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---