lf use min() and max() with Infinity or -Infinity, it throws friendly error #8389
+87
−30
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