lf use min() and max() with Infinity or -Infinity, it throws friendly error#8389
Open
menacingly-coded wants to merge 6 commits intoprocessing:dev-2.0from
Open
lf use min() and max() with Infinity or -Infinity, it throws friendly error#8389menacingly-coded wants to merge 6 commits intoprocessing:dev-2.0from
menacingly-coded wants to merge 6 commits intoprocessing:dev-2.0from
Conversation
Collaborator
There was a problem hiding this comment.
Looks like we did a pretty large refactor, I'll probably give a look to this again.
Thanks for your work on this @menacingly-coded , looks nice so far.
Contributor
Author
|
@perminder-17 , Thanks for reviewing this. |
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.
Resolves #8104
Description:
This pull request fixes the behavior of the min() and max() functions in p5.js when called with Infinity or -Infinity. Previously, passing infinite values triggered a “friendly error,” even though comparisons involving infinities are valid JavaScript behavior. This restores consistent and expected functionality for edge numeric values, closing the unexpected error reported in issue #8104 .
Changes:
-Updated the internal logic used to validate arguments for min() and max() so that Infinity and -Infinity are no longer treated as invalid.
-Refactored condition checks to respect valid number comparisons without throwing unnecessary friendly errors.
-Added unit tests covering numeric edge cases including infinite values, ensuring correct results are returned for all valid numerical inputs.
How To Test:
console.log(min(Infinity, 42)); // Should log 42
console.log(max(-Infinity, 42)); // Should log 42
console.log(min(Infinity, -Infinity)); // Should behave consistently
PR Checklist
npm run lintpasses