UNPKG

@holgerengels/compute-engine

Version:

Symbolic computing and numeric evaluations for JavaScript and Node.js

48 lines (47 loc) 2.17 kB
/* 0.26.0-alpha2 */ import type { IComputeEngine, FunctionDefinition, BoxedFunctionDefinition, RuntimeScope } from '../public'; import type { BoxedExpression, CollectionHandlers, CompiledExpression, EvaluateOptions, Sign } from './public'; import { Type } from '../../common/type/types'; import { OneOf } from '../../common/one-of'; export declare class _BoxedFunctionDefinition implements BoxedFunctionDefinition { engine: IComputeEngine; scope: RuntimeScope; name: string; description?: string | string[]; wikidata?: string; threadable: boolean; associative: boolean; commutative: boolean; commutativeOrder: ((a: BoxedExpression, b: BoxedExpression) => number) | undefined; idempotent: boolean; involution: boolean; pure: boolean; complexity: number; hold: boolean; signature: Type; inferredSignature: boolean; type?: (ops: ReadonlyArray<BoxedExpression>, options: { engine: IComputeEngine; }) => Type | undefined; sgn?: (ops: ReadonlyArray<BoxedExpression>, options: { engine: IComputeEngine; }) => Sign | undefined; eq?: (a: BoxedExpression, b: BoxedExpression) => boolean | undefined; neq?: (a: BoxedExpression, b: BoxedExpression) => boolean | undefined; even?: (ops: ReadonlyArray<BoxedExpression>, options: { engine: IComputeEngine; }) => boolean | undefined; canonical?: (ops: ReadonlyArray<BoxedExpression>, options: { engine: IComputeEngine; }) => BoxedExpression | null; evaluate?: (ops: ReadonlyArray<BoxedExpression>, options: EvaluateOptions & { engine: IComputeEngine; }) => BoxedExpression | undefined; evalDimension?: (ops: ReadonlyArray<BoxedExpression>, options: { engine: IComputeEngine; }) => BoxedExpression; compile?: (expr: BoxedExpression) => CompiledExpression; collection?: Partial<CollectionHandlers>; constructor(ce: IComputeEngine, name: string, def: FunctionDefinition); reset(): void; } export declare function makeFunctionDefinition(engine: IComputeEngine, name: string, def: OneOf<[FunctionDefinition | BoxedFunctionDefinition]>): BoxedFunctionDefinition;