import { Complex } from './type.js' import {FnEqual} from '../interfaces/relational' import {FnAdd, FnIsReal, FnIsSquare} from '../interfaces/arithmetic' export const isReal = (dep: { equal: FnEqual, add: FnAdd, isReal: FnIsReal }): FnIsReal> => (z) => dep.isReal(z.re) && dep.equal(z.re, dep.add(z.re, z.im)) export const isSquare = (): FnIsSquare> => (z) => true // FIXME: not correct for Complex once we get there