(
v: string,
raw: MathJSON,
openOp: 'gt' | 'lt',
closedOp: 'ge' | 'le'
)
| 285 | v: string, |
| 286 | raw: MathJSON, |
| 287 | openOp: 'gt' | 'lt', |
| 288 | closedOp: 'ge' | 'le' |
| 289 | ): void => { |
| 290 | let bound = raw; |
| 291 | let open = false; |
| 292 | if (Array.isArray(bound) && bound[0] === 'Open') { |
| 293 | open = true; |
| 294 | bound = bound[1]; |
| 295 | } |
| 296 | if (isInfiniteBound(bound)) return; // skip infinite bounds |
| 297 | guards.push({ k: 'cmp', wc: wc(v), op: open ? openOp : closedOp, bound: W(bound) }); |
| 298 | }; |
| 299 | |
| 300 | // Same, for a part extractor of a variable (Element(Im(z), Interval(a,b))) |
| 301 | const pushPartBound = ( |
| 302 | part: 're' | 'im' | 'abs' | 'arg', |
| 303 | v: string, |
| 304 | raw: MathJSON, |
no test coverage detected