UNPKG

lysergic

Version:

Synaptic's neural network compiler

40 lines (39 loc) 3.67 kB
import { DocumentNode, ExpressionNode, FunctionNode, HeapReferenceNode, FloatNumberNode, TernaryExpressionNode, BinaryExpressionNode, BinaryOperator, UnaryExpressionNode, UnaryOperator, ParametersNode, BlockNode, HeapPointer, VariableDeclaration, VariableReference, IntNumberNode } from './nodes'; export declare function heap(position: number): HeapReferenceNode; export declare function number(floatingNumber: number): FloatNumberNode; export declare function intNumber(floatingNumber: number): IntNumberNode; export declare function assign(target: HeapReferenceNode | HeapPointer, rhs: ExpressionNode): BinaryExpressionNode; export declare function krnonecker(i: ExpressionNode, j: ExpressionNode): BinaryExpressionNode; export declare function assignMul(target: HeapReferenceNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function assignSum(target: HeapReferenceNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function assignSub(target: HeapReferenceNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function assignDiv(target: HeapReferenceNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function sum(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function max(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function gt(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function gte(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function lt(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function lte(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function equal(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function pow(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function sub(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function mul(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function div(lhs: ExpressionNode, rhs: ExpressionNode): BinaryExpressionNode; export declare function exp(rhs: ExpressionNode): UnaryExpressionNode; export declare function sign(rhs: ExpressionNode): UnaryExpressionNode; export declare function ln(rhs: ExpressionNode): UnaryExpressionNode; export declare function sqrt(rhs: ExpressionNode): UnaryExpressionNode; export declare function neg(rhs: ExpressionNode): UnaryExpressionNode; export declare function abs(rhs: ExpressionNode): UnaryExpressionNode; export declare function rand(rhs: ExpressionNode): UnaryExpressionNode; export declare function conditional(condition: any, truePart: any, falsePart: any): TernaryExpressionNode; export declare function binaryOp(lhs: ExpressionNode, op: BinaryOperator, rhs: ExpressionNode): BinaryExpressionNode; export declare function unaryOp(op: UnaryOperator, rhs: ExpressionNode): UnaryExpressionNode; export declare function func(name: string, ...parameters: string[]): FunctionNode; export declare function params(...parameters: string[]): ParametersNode; export declare function document(...args: ExpressionNode[]): DocumentNode; export declare function pointer(ptr: ExpressionNode): HeapPointer; export declare function floatVariable(name: string, value: number): VariableDeclaration; export declare function integerVariable(name: string, value: number): VariableDeclaration; export declare function block(...ops: ExpressionNode[]): BlockNode; export declare function forLoop(variableName: string, from: number, to: number, fun: (loopc: VariableReference) => ExpressionNode): BlockNode;