diff --git a/src/generic/all.ts b/src/generic/all.ts deleted file mode 100644 index 40a35e4..0000000 --- a/src/generic/all.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { ForType } from '../core/Dispatcher.js' -import { GenericReturn } from './type.js' -import * as generic from './arithmetic.js' - -export { generic } - -declare module "../core/Dispatcher" { - interface ReturnTypes - extends ForType<'numbers', GenericReturn> { } -} diff --git a/src/generic/arithmetic.ts b/src/generic/arithmetic.ts deleted file mode 100644 index 5cb4801..0000000 --- a/src/generic/arithmetic.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { ConservativeUnary, Dependency, ImpType, Signature } from "../core/Dispatcher"; - -declare module "./type" { - interface GenericReturn { - // Jos: not sure how to define this or why it is needed - square: Signature - // square: ConservativeUnary - // square: Params extends [infer R] - // ? R extends number ? UnderlyingReal : never - // : never - } -} - -export const square = - (dep: Dependency<'multiply', [T, T]>): - ImpType<'square', [T]> => - z => dep.multiply(z, z) diff --git a/src/generic/type.ts b/src/generic/type.ts deleted file mode 100644 index 8589417..0000000 --- a/src/generic/type.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface GenericReturn { - -} \ No newline at end of file diff --git a/src/numbers/relational.ts b/src/numbers/relational.ts index b5285c6..cd0a418 100644 --- a/src/numbers/relational.ts +++ b/src/numbers/relational.ts @@ -1,34 +1,27 @@ -import { configDependency } from '../core/Config.js' -import { Signature, ImpType, Dependency } from '../core/Dispatcher.js' +import {configDependency} from '../core/Config.js' +import {Signature, ImpType} from '../core/Dispatcher.js' const DBL_EPSILON = Number.EPSILON || 2.2204460492503130808472633361816E-16 declare module "./type" { interface NumbersReturn { equal: Signature - unequal: Signature } } export const equal = (dep: configDependency): ImpType<'equal', [number, number]> => - (x, y) => { - const eps = dep.config.epsilon - if (eps === null || eps === undefined) return x === y - if (x === y) return true - if (isNaN(x) || isNaN(y)) return false + (x, y) => { + const eps = dep.config.epsilon + if (eps === null || eps === undefined) return x === y + if (x === y) return true + if (isNaN(x) || isNaN(y)) return false - if (isFinite(x) && isFinite(y)) { - const diff = Math.abs(x - y) - if (diff < DBL_EPSILON) return true - return diff <= Math.max(Math.abs(x), Math.abs(y)) * eps - } - - return false + if (isFinite(x) && isFinite(y)) { + const diff = Math.abs(x - y) + if (diff < DBL_EPSILON) return true + return diff <= Math.max(Math.abs(x), Math.abs(y)) * eps } -export const unequal = (dep: Dependency<'equal', [number, number]>): - ImpType<'unequal', [number, number]> => - (x, y) => { - return !dep.equal(x, y) + return false }