import { BasicArithmetic } from '../arithmetic' import { sum } from './sum' export const sumEqOne = (arithmetic: BasicArithmetic) => (values: N[]) => arithmetic.eq(sum(arithmetic)(values), arithmetic.one) export const sumLtOne = (arithmetic: BasicArithmetic) => (values: N[]) => arithmetic.lt(sum(arithmetic)(values), arithmetic.one) export const sumGtOne = (arithmetic: BasicArithmetic) => (values: N[]) => arithmetic.gt(sum(arithmetic)(values), arithmetic.one) export const sumLteOne = (arithmetic: BasicArithmetic) => (values: N[]) => arithmetic.lte(sum(arithmetic)(values), arithmetic.one) export const sumGteOne = (arithmetic: BasicArithmetic) => (values: N[]) => arithmetic.gte(sum(arithmetic)(values), arithmetic.one) export const getSumComparators = (arithmetic: BasicArithmetic) => { return { sumEqOne: sumEqOne(arithmetic), sumLtOne: sumLtOne(arithmetic), sumGtOne: sumGtOne(arithmetic), sumLteOne: sumLteOne(arithmetic), sumGteOne: sumGteOne(arithmetic), } }