import Returns from '../core/Returns.mjs' export * from './Types/Complex.mjs' /* Returns true if w is z multiplied by a complex unit */ export const associate = { 'Complex,Complex': ({ 'multiply(Complex,Complex)': times, 'equalTT(Complex,Complex)': eq, 'zero(T)': zr, 'one(T)': uno, 'complex(T,T)': cplx, 'negate(Complex)': neg }) => Returns('boolean', (w,z) => { if (eq(w,z) || eq(w,neg(z))) return true const ti = times(z, cplx(zr(z.re), uno(z.im))) return eq(w,ti) || eq(w,neg(ti)) }) }