mathjslab
Version:
MathJSLab - An interpreter with language syntax like MATLAB®/Octave, ISBN 978-65-00-82338-7.
38 lines (37 loc) • 1.5 kB
TypeScript
type RuntimeElement = unknown;
/**
* MATLAB/Octave-like runtime equality helpers.
*
* This module owns the value comparison contract used by `isequal` and by
* runtime features, such as `AbortSet`, that need the same user-visible
* equality semantics without depending on the built-in function registry.
*/
declare abstract class RuntimeEquality {
private static readonly isObject;
private static readonly isComplexLike;
private static readonly isCharStringLike;
private static readonly isArrayLike;
private static readonly isStructureLike;
private static readonly isFunctionHandleLike;
private static readonly isClassInstanceLike;
private static readonly isClassEnumerationValueLike;
private static readonly scalarPartEqual;
private static readonly partToString;
/**
* Compare two runtime values using `isequal`-style semantics.
*
* @param left Left value.
* @param right Right value.
* @returns `true` when both values should be considered equal.
*/
static readonly valuesEqual: (left: RuntimeElement, right: RuntimeElement) => boolean;
private static readonly functionHandleString;
private static readonly multiArraysEqual;
private static readonly structuresEqual;
private static readonly propertyTablesEqual;
private static readonly elementListsEqual;
private static readonly arrayEquals;
private static readonly linearize;
}
export { RuntimeEquality };
export default RuntimeEquality;