Skip to content

V1 10 5#206

Open
rchillyard wants to merge 4 commits into
mainfrom
V1_10_5
Open

V1 10 5#206
rchillyard wants to merge 4 commits into
mainfrom
V1_10_5

Conversation

@rchillyard
Copy link
Copy Markdown
Owner

No description provided.

- Fix missing case for exp(-∞) β†’ 0 (surfaced by EML tree expansion)
- Fix missing case for UniFunction(Zero, Exp) β†’ One
- Fix infinite loop in Expression.simplify for expressions involving Infinity
- Add BiFunction guard: expressions involving Infinity short-circuit simplification
- Add commutativity flatMap fix in BiFunction.structuralMatcher for correct
  re-matching after operand swap
- Add Noop("NaN") results for indeterminate forms: ∞ + (-∞), 0 Γ— ∞
- Add ExpressionMatcherPatterns test trait with simplifiesTo helper
- Add Infinity rules test in ExpressionSpec
- Add Noop rules (and test)
- Add override evaluateAsIs in Noop
- Add Noop.apply for standard "NaN"
- Add Number.`∞`
- Add ExpressionMatcherPatterns (currently unused)

Bugs surfaced by systematic EML tree expansion (expandN) in NumberApps,
which generated 458,285 distinct expression trees and exposed edge cases
in the simplifier that would have been very difficult to find by hand.
Otherwise, mostly cosmetic changes due to renaming isInfinity to isInfinite.
Number changes:
- Fix exp(-∞) β†’ 0 (1.10.3)
- Fix UniFunction(Zero, Exp) β†’ One
- Fix ln(exp(x)) β†’ x simplification
- Fix commutativity flatMap in BiFunction.structuralMatcher
- Add Expression-level guards: ∞ + (-∞), 0 Γ— ∞ β†’ Noop("NaN")
- Add core-level guards for indeterminate forms involving ∞
- Fix publishLocal race condition via concurrentRestrictions
- Add ExpressionMatcherPatterns test trait with simplifiesTo helper
- Add Infinity rules tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant