函数 simplifyCore #
simplifyCore() 执行单次简化,适用于需要极致性能的应用。总而言之,它处理类似于 simplifyConstant() 但仅凭单个参数的知识就足以确定值的情况。相比之下,simplify() 通过额外的多次简化来扩展 simplifyCore(),以提供更深层次的简化(例如合并同类项)。
具体来说,simplifyCore
- 将所有具有运算符等效项的函数调用转换为它们的运算符形式。
- 移除保证没有效果的运算符或函数调用(例如一元 ‘+’)。
- 移除双重一元 ‘-‘、‘~’ 和 ‘not’
- 消除加/减 0 以及乘/除/幂 1 或 0。
- 将加一个负数转换为减法。
- 消除具有常量 true 或 false 作为前导参数的逻辑运算。
- 如果乘法根据选项被视为可交换的(这是默认设置),则将常量放在乘积的左边。
Syntax #
math.simplifyCore(expr)
math.simplifyCore(expr, options)
Parameters #
| Parameter | Type | Description |
|---|---|---|
node |
Node | string | 要简化的表达式 |
options |
Object | 简化选项,同 simplify() |
Returns #
| Type | Description |
|---|---|
| Node | 返回应用了基本简化的表达式 |
Throws #
Type | Description —- | ———–
Examples #
const f = math.parse('2 * 1 * x ^ (1 - 0)')
math.simplifyCore(f) // Node "2 * x"
math.simplify('2 * 1 * x ^ (1 - 0)', [math.simplifyCore]) // Node "2 * x"