import {
ShaderBuilder,
basicExpressionBuilder,
compoundAssignmentBuilder,
abstractFloatShaderBuilder,
abstractIntShaderBuilder,
} from '../expression.js';
export function binary(op: string): ShaderBuilder {
return basicExpressionBuilder(values => `(${values.map(v => `(${v})`).join(op)})`);
}
export function compoundBinary(op: string): ShaderBuilder {
return compoundAssignmentBuilder(op);
}
export function abstractFloatBinary(op: string): ShaderBuilder {
return abstractFloatShaderBuilder(values => `(${values.map(v => `(${v})`).join(op)})`);
}
export function abstractIntBinary(op: string): ShaderBuilder {
return abstractIntShaderBuilder(values => `(${values.map(v => `(${v})`).join(op)})`);
}
export const kAbstractFloatMatrixBinaryOpBatchSize = 1;