UNPKG

typegpu

Version:

A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.

22 lines (21 loc) 1.04 kB
import { Operator } from 'tsover-runtime'; import { MatBase } from "./matrix.js"; import { VecBase } from "./vectorImpl.js"; import { assignInfixOperator } from "../tgsl/infixDispatch.js"; let infixOperatorsAssigned = false; export function assignInfixOperators() { if (infixOperatorsAssigned) { return; } infixOperatorsAssigned = true; assignInfixOperator(VecBase, 'add', Operator.plus); assignInfixOperator(MatBase, 'add', Operator.plus); assignInfixOperator(VecBase, 'sub', Operator.minus); assignInfixOperator(MatBase, 'sub', Operator.minus); assignInfixOperator(VecBase, 'mul', Operator.star); assignInfixOperator(MatBase, 'mul', Operator.star); assignInfixOperator(VecBase, 'div', Operator.slash); assignInfixOperator(VecBase, 'mod', Operator.percent); assignInfixOperator(VecBase, 'bitShiftLeft', Symbol()); // bitShift does not yet have tsover operator symbol assignInfixOperator(VecBase, 'bitShiftRight', Symbol()); // bitShift does not yet have tsover operator symbol }