Glen Whitney
84a8b9d5c4
This PR also uses such self-reference to define negate and add for Complex numbers in a way that is independent of component types. Also adds a bigint type and verifies that pocomath will then handle Gaussian integers "for free". Ensures that if one function is invalidated, then any that depend on it will be. Co-authored-by: Glen Whitney <glen@studioinfinity.org> Reviewed-on: #4
9 lines
280 B
JavaScript
9 lines
280 B
JavaScript
import {numComplex} from './Complex.mjs'
|
|
export const negate = {
|
|
/* need a "base case" to avoid infinite self-reference */
|
|
Complex: [['self'], ref => z => {
|
|
if (numComplex(z)) return {re: -z.re, im: -z.im}
|
|
return {re: ref.self(z.re), im: ref.self(z.im)}
|
|
}]
|
|
}
|