ts-data-forge
    Preparing search index...
    NonZeroFiniteNumber: {
        abs: (x: NonZeroFiniteNumber) => ToNonNegative<NonZeroFiniteNumber>;
        add: (
            x: NonZeroFiniteNumber,
            y: NonZeroFiniteNumber,
        ) => NonZeroFiniteNumber;
        ceil: (x: NonZeroFiniteNumber) => ToInt<NonZeroFiniteNumber>;
        div: (
            x: NonZeroFiniteNumber,
            y: ToNonZero<NonZeroFiniteNumber>,
        ) => NonZeroFiniteNumber;
        floor: (x: NonZeroFiniteNumber) => ToInt<NonZeroFiniteNumber>;
        is: (a: number) => a is NonZeroFiniteNumber;
        max: (...values: readonly NonZeroFiniteNumber[]) => NonZeroFiniteNumber;
        min: (...values: readonly NonZeroFiniteNumber[]) => NonZeroFiniteNumber;
        mul: (
            x: NonZeroFiniteNumber,
            y: NonZeroFiniteNumber,
        ) => NonZeroFiniteNumber;
        pow: (
            x: NonZeroFiniteNumber,
            y: NonZeroFiniteNumber,
        ) => NonZeroFiniteNumber;
        random: (
            min?: NonZeroFiniteNumber,
            max?: NonZeroFiniteNumber,
        ) => NonZeroFiniteNumber;
        round: (x: NonZeroFiniteNumber) => ToInt<NonZeroFiniteNumber>;
        sub: (
            x: NonZeroFiniteNumber,
            y: NonZeroFiniteNumber,
        ) => NonZeroFiniteNumber;
    } = ...

    Namespace providing type-safe arithmetic operations for non-zero finite numbers.

    All operations maintain the non-zero constraint while ensuring results remain finite (excluding NaN and Infinity). This type is useful for values that must never be zero, such as denominators, scaling factors, and ratios.

    Type Declaration

    • abs: (x: NonZeroFiniteNumber) => ToNonNegative<NonZeroFiniteNumber>

      Returns the absolute value of a non-zero finite number.

    • add: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber

      Adds two NonZeroFiniteNumber values.

    • ceil: (x: NonZeroFiniteNumber) => ToInt<NonZeroFiniteNumber>

      Rounds up a NonZeroFiniteNumber to the nearest integer.

    • div: (
          x: NonZeroFiniteNumber,
          y: ToNonZero<NonZeroFiniteNumber>,
      ) => NonZeroFiniteNumber

      Divides one NonZeroFiniteNumber by another.

    • floor: (x: NonZeroFiniteNumber) => ToInt<NonZeroFiniteNumber>

      Rounds down a NonZeroFiniteNumber to the nearest integer.

    • is: (a: number) => a is NonZeroFiniteNumber

      Type guard to check if a value is a NonZeroFiniteNumber.

    • Readonlymax: (...values: readonly NonZeroFiniteNumber[]) => NonZeroFiniteNumber

      Returns the larger of two NonZeroFiniteNumber values.

    • Readonlymin: (...values: readonly NonZeroFiniteNumber[]) => NonZeroFiniteNumber

      Returns the smaller of two NonZeroFiniteNumber values.

    • mul: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber

      Multiplies two NonZeroFiniteNumber values.

    • pow: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber

      Raises a NonZeroFiniteNumber to the power of another NonZeroFiniteNumber.

    • random: (min?: NonZeroFiniteNumber, max?: NonZeroFiniteNumber) => NonZeroFiniteNumber

      Generates a random NonZeroFiniteNumber value.

    • round: (x: NonZeroFiniteNumber) => ToInt<NonZeroFiniteNumber>

      Rounds a NonZeroFiniteNumber to the nearest integer.

    • sub: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber

      Subtracts one NonZeroFiniteNumber from another.