@hoff97/tensor-js
Version:
PyTorch like deep learning inferrence library
32 lines • 1.06 kB
JavaScript
import { BinaryOperation } from './binaryOperation';
export class AddOperation extends BinaryOperation {
constructor(tensorConstructor, dtype, allocator) {
super(tensorConstructor, dtype, allocator);
}
getOp(a, b) {
return `alpha*${a} + beta*${b}`;
}
calc(input) {
return this.compute(input.outputShape, { A: input.A, B: input.B }, { alpha: input.alpha, beta: input.beta });
}
getVariables() {
return `
${this.getVarModifier('alpha')} float alpha;
${this.getVarModifier('beta')} float beta;
`;
}
getUniformAttrs() {
return [
{ name: 'alpha', type: 'float' },
{ name: 'beta', type: 'float' },
];
}
getCompilationInfo(input) {
const info = super.getCompilationInfo(input);
return Object.assign(Object.assign({}, info), { alpha: input.alpha, beta: input.beta });
}
getInputInfoString(input) {
return `${super.getInputInfoString(input)}-${input.alpha}-${input.beta}`;
}
}
//# sourceMappingURL=add.js.map