nanomath/src/generic/arithmetic.js
Glen Whitney 7daa621571
All checks were successful
/ test (pull_request) Successful in 16s
feat: more Complex methods
* Adds associate, conj, multiply, negate, subtract, indistinguishable
  * As a result equal is now supported
  * Adds a check for recursive loops in resolve (a key/signature method
    depending on itself
2025-04-24 20:13:35 -07:00

8 lines
299 B
JavaScript

import {Returns} from '#core/Type.js'
import {match, Any} from '#core/TypePatterns.js'
export const conj = match(Any, (_math, T) => Returns(T, a => a))
export const square = match(Any, (math, T) => {
const mult = math.multiply.resolve([T, T])
return Returns(mult.returns, a => mult(a, a))
})