import { TwoF64, f64 } from "./common.js"; //#region src/base/algorithms.d.ts /** * Extended-precision addition `x + y`. * * Relative error bound: `2u²` (`u²` for positive operands), with `u = 2^-53` * * FP ops: 10 * * @param x A `TwoF64` number * @param y A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x + y` */ export declare function DWPlusFP(x: TwoF64, y: f64): TwoF64; /** * Extended-precision addition `x + y`. * * Relative error bound: `3u² + 13u³` with `u = 2^-53` * * FP ops: 20 * * @param x A `TwoF64` number * @param y A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x + y` */ export declare function AccurateDWPlusDW(x: TwoF64, y: TwoF64): TwoF64; /** * Extended-precision multiplication `x * y`. * * Relative error bound: `1.5u² + 4u³` with `u = 2^-53` * * FP ops: 25 * * @param x A `TwoF64` number * @param y A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x * y` */ export declare function DWTimesFP1(x: TwoF64, y: f64): TwoF64; /** * Extended-precision multiplication `x * y`. * * Relative error bound: `5u²` with `u = 2^-53` * * FP ops: 24 * * @param x A `TwoF64` number * @param y A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x * y` */ export declare function DWTimesDW1(x: TwoF64, y: TwoF64): TwoF64; /** * Extended-precision division `x/y`. * * Relative error bound: `3u²` with `u = 2^-53` * * FP ops: 25 * * @param x A `TwoF64` number * @param y A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x/y` */ export declare function DWDivFP3(x: TwoF64, y: f64): TwoF64; /** * Extended-precision division `x/y`. * * Relative error bound: `15u² + 56u³` with `u = 2^-53` * * FP ops: 33 * * @param x A `TwoF64` number * @param y A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x/y` */ export declare function DWDivDW2(x: TwoF64, y: TwoF64): TwoF64; /** * Extended-precision subtraction `x - y`. * * Relative error bound: `2u²` with `u = 2^-53` * * FP ops: 10 * * @param x A `TwoF64` number * @param y A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x - y` */ export declare function DWMinusFP(x: TwoF64, y: f64): TwoF64; /** * Extended-precision subtraction `x - y`. * * Relative error bound: `3u² + 13u³` with `u = 2^-53` * * FP ops: 17 * * @param x A `TwoF64` number * @param y A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x - y` */ export declare function AccurateDWMinusDW(x: TwoF64, y: TwoF64): TwoF64; /** * Extended-precision division `x/y`. * * Relative error bound: `3u²` with `u = 2^-53` * * FP ops: 24 * * @param x A `f64` number * @param y A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x/y` */ export declare function twoDiv(x: f64, y: f64): TwoF64; /** * Extended-precision multiplicative inverse of `x`, `1/x`. * * Relative error bound: `3u²` with `u = 2^-53` * * FP ops: 24 * * @param x A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `1/x` */ export declare function twoInv(x: f64): TwoF64; /** * Extended-precision multiplicative inverse of `x`, `1/x`. * * Relative error bound: `15u² + 56u³` with `u = 2^-53` * * FP ops: 32 * * @param x A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `1/x` */ export declare function DWInv(x: TwoF64): TwoF64; //#endregion