import { TwoF64, f64, int } from "../base/common.js"; import { twoSquare } from "../base/eft.js"; //#region src/math/exp-impl.d.ts /** * Compute `x²`, the square of `x`, using extended-precision arithmetic. * * Error-free transform. * * @param x A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x²` */ export declare const square_1: typeof twoSquare; /** * Compute `x²`, the square of `x`, using extended-precision arithmetic. * * Relative error bound: `5u²`. * * @param x A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x²` */ export declare function square_2(x: TwoF64): TwoF64; /** * Compute `x³`, the cube of `x`, using extended-precision arithmetic. * * Relative error bound: `1.5u² + 4u³`. * * @param x A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x³` */ export declare function cube_1(x: f64): TwoF64; /** * Compute `x³`, the cube of `x`, using extended-precision arithmetic. * * Relative error bound: `10u² + 25u⁴`. * * @param x A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `x³` */ export declare function cube_2(x: TwoF64): TwoF64; /** * Integer power of `x` - Compute `xⁿ` using extended-precision arithmetic. * `n` must be an integer. * * @param x A `f64` number representing the base * @param n A `f64` integer representing the exponent * @returns The {@link TwoF64|`TwoF64`} representation of `xⁿ` */ export declare function powint_1(x: f64, n: int): TwoF64; /** * Integer power using compensated linear product (Horner scheme applied to the * polynomial `p(x) = xⁿ`). * * **Assumes `n` is a {@link int | safe integer} such that `n ≥ 3`.** * * The result `[hi, lo]` is such that `f64([hi, lo])` is a faithful rounding * of `xⁿ` as long as `n < 2^25`. */ export declare function _linpow_1(x: f64, n: int): TwoF64; /** * Integer power using compensated logarithmic product, based on successive * squarings (RTL binary exponentiation). * Faster than {@link _linpow_1 | `_linpow_1(x,n)`} for (roughly) `n > 30`. * * **Assumes `n` is a {@link int | safe integer} such that `n ≥ 3`.** * * The result `[hi, lo]` is such that `f64([hi, lo])` is a faithful rounding * of `xⁿ` as long as `n ≤ 2^49`. */ export declare function _logpow_1(x: f64, n: int): TwoF64; /** * Integer power using compensated logarithmic product, based on successive * squarings (LTR binary exponentiation). * Faster than {@link _linpow_1 | `_linpow_1(x,n)`} for (roughly) `n > 30`. * * **Assumes `n` is an integer (supports unsafe int) such that `n ≥ 2`.** * * The result `[hi, lo]` is such that `f64([hi, lo])` is a faithful rounding * of `xⁿ` as long as `n ≤ 2^49`. */ export declare function _logpowltr(x: f64, n: int): TwoF64; /** * Integer power of `x` - Compute `xⁿ` using extended-precision arithmetic. * `n` must be an integer. * * @param x A `TwoF64` number representing the base * @param n A `f64` integer representing the exponent * @returns The {@link TwoF64|`TwoF64`} representation of `xⁿ` */ export declare function powint_2(x: TwoF64, n: int): TwoF64; /** * Integer power using linear product. * * **Assumes `n` is a {@link int | safe integer} such that `n ≥ 3`.** */ export declare function _linpow_2(x: TwoF64, n: int): TwoF64; /** * Integer power using compensated logarithmic product, based on successive * squarings (RTL binary exponentiation). * Faster than {@link _linpow_2 | `_linpow_2(x,n)`} for (roughly) `n > 30`. * * **Assumes `n` is a {@link int | safe integer} such that `n ≥ 3`.** */ export declare function _logpow_2(x: TwoF64, n: int): TwoF64; /** * Compute `eˣ`, the natural base exponential of `x`, using extended-precision * arithmetic. * * @param x A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `eˣ` */ export declare function exp_1(x: f64): TwoF64; /** * Compute `eˣ`, the natural base exponential of `x`, using extended-precision * arithmetic. * * @param x A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `eˣ` */ export declare function exp_2(x: TwoF64): TwoF64; /** * Compute `eˣ - 1`, the natural base exponential of `x` subtracted by `1`, * using extended-precision arithmetic. * * @param x A `f64` number * @returns The {@link TwoF64|`TwoF64`} representation of `eˣ - 1` */ export declare function expm1_1(x: f64): TwoF64; /** * Compute `eˣ - 1`, the natural base exponential of `x` subtracted by `1`, * using extended-precision arithmetic. * * @param x A `TwoF64` number * @returns The {@link TwoF64|`TwoF64`} representation of `eˣ - 1` */ export declare function expm1_2(x: TwoF64): TwoF64; //#endregion