10 lines
420 B
TypeScript
10 lines
420 B
TypeScript
|
import {Complex} from './type.js'
|
||
|
import type {Dependencies, Signature} from '../interfaces/type.js'
|
||
|
|
||
|
export const isReal =
|
||
|
<T>(dep: Dependencies<'add' | 'equal' | 'isReal', T>):
|
||
|
Signature<'isReal', Complex<T>> =>
|
||
|
z => dep.isReal(z.re) && dep.equal(z.re, dep.add(z.re, z.im))
|
||
|
|
||
|
export const isSquare: Signature<'isSquare', Complex<any>> = z => true // FIXME: not correct for Complex<bigint> once we get there
|