import { TwoF64, f64 } from "../base/common.js"; import { twoSum } from "../base/eft.js"; import { AccurateDWPlusDW, DWPlusFP } from "../base/algorithms.js"; //#region src/arithmetic/add.d.ts export declare const add11: typeof twoSum; export declare const add21: typeof DWPlusFP; export declare const add22: typeof AccurateDWPlusDW; /** * Extended-precision addition of a given sequence of floating-point numbers. * * @param terms `ArrayLike` object of `f64` summands * @returns The sum of the given `terms` as a {@link TwoF64|`TwoF64`} number */ export declare function sum1(terms: ArrayLike): TwoF64; /** * Extended-precision addition of a given sequence of `TwoF64` numbers. * * @param terms `ArrayLike` object of `TwoF64` summands * @returns The sum of the given `terms` as a {@link TwoF64|`TwoF64`} number */ export declare function sum2(terms: ArrayLike): TwoF64; /** * Extended-precision addition of a given sequence of `TwoF64` numbers. * * @param terms `ArrayLike` object of `TwoF64` summands * @returns The sum of the given `terms` as a {@link TwoF64|`TwoF64`} number */ export declare function sum2_alt(terms: ArrayLike): TwoF64; /** * Extended-precision addition `x + y`. * * @param x A `f64` or `TwoF64` number * @param y A `f64` or `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x + y` */ export declare function add(x: f64 | TwoF64, y: f64 | TwoF64): TwoF64; /** * Extended-precision addition of a given sequence of numbers (that must all be * of the same type, either `f64` or `TwoF64`, no mix allowed). * * @param terms Array-like object of summands * @returns The sum of the given `terms` as a {@link TwoF64|`TwoF64`} number */ export declare function sum(terms: ArrayLike | ArrayLike): TwoF64; //#endregion