Skip to content

Commit 339c751

Browse files
committed
doc.: changelog
1 parent d916ab7 commit 339c751

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,59 @@
11
## [Unreleased]
22

3+
### ? ? ?
4+
5+
- More consistency with BoxedSymbol properties causing symbol-binding: e.g.
6+
`isFinite` and `isInfinity` cause binding, in a similar way to `isOdd`,
7+
`isEven`.
8+
39
### Breaking Changes
410

511
- The `expr.value` property is now equivalent to `expr.valueOf()`. It was
612
previously equivalent to `expr.N().valueOf()`, however the implicit evaluation
713
of the expression produced some unexpected results, for example when the
814
expression was not pure.
915

16+
- `BoxedExpr.sgn` now returns _undefined_ for complex numbers, or symbols with a
17+
complex-number value.
18+
19+
-
20+
1021
### New Features and Improvements
1122

1223
- Added a rule to solve the equation `a^x + b = 0`
1324
- The LaTeX parser now supports the `\placeholder[]{}`, `\phantom{}`,
1425
`\hphantom{}`, `\vphantom{}`, `\mathstrut`, `\strut` and `\smash{}` commands.
1526

27+
- The range of recognized sign values, i.e. as returned from
28+
`BoxedExpression.sgn` has been simplified (e.g. '...-infinity' and 'nan' have
29+
been removed)
30+
31+
- The Power canonical-form is less aggressive - only carrying-out ops. as listed
32+
in doc. - is much more careful in its consideration of operand types &
33+
values... (for example, typically, exponents are required to be _numbers_:
34+
e.g. `x^1` will simplify, but `x^y` (where y===0), or `x^{1+0}`, will not)
35+
36+
### Issues Resolved
37+
38+
- Ensure expression LaTeX serialization is based on MathJSON generated with
39+
matching 'pretty' formatting (or not), therefore resulting in LaTeX with less
40+
prettification, where `prettify == false` (#daef87f)
41+
42+
- Symbols declare with a `constant` flag are now not marked as 'inferred'
43+
44+
- Some BoxedSymbols properties now more consistently return 'undefined', instead
45+
of a 'boolean' (i.e. because the symbol is non-bound)
46+
47+
- Some `expr.root()` computations
48+
49+
- Canonical-forms
50+
- Fixes the `Number` form
51+
- Forms (at least, 'Number', 'Power') do not mistakenly _fully_ canonicalize
52+
operands
53+
- This (partial canonicalization) now substitutes symbols (constants) with a
54+
`holdUntil` value of _never_ during/prior-to canonicalization (i.e. just
55+
like for full canonicalization)
56+
1657
## 0.29.1 _2025-03-31_
1758

1859
- **#231** During evaluation, some numbers, for example `10e-15` were

src/compute-engine/global-types.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,13 @@ export interface BoxedExpression {
579579
* If this expression is already canonical, the value of canonical is
580580
* `this`.
581581
*
582+
* :::info[Note]
583+
* 'Partially' canonical expressions, such as those produced through `CanonicalForm`, also yield
584+
* an expression which is marked as 'canonical'. This means that, likewise for partially canonical
585+
* expressions, the `canonical` property will return the self-same expression (& 'isCanonical'
586+
* will also be true).
587+
* :::
588+
*
582589
*/
583590
get canonical(): BoxedExpression;
584591

0 commit comments

Comments
 (0)