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

    Namespace providing type-safe operations for the NonNegativeFiniteNumber branded type.

    The NonNegativeFiniteNumber type represents a non-negative finite number.

    Type Declaration

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

      Adds two non-negative finite numbers, returning a + b as a NonNegativeFiniteNumber.

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

      Returns the smallest integer greater than or equal to a non-negative finite number.

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

      Divides two non-negative finite numbers, returning a / b as a NonNegativeFiniteNumber.

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

      Returns the greatest integer less than or equal to a non-negative finite number.

    • fromNumber: (x: number) => NonNegativeFiniteNumber

      Converts an arbitrary number into a NonNegativeFiniteNumber, saturating it into the range [MIN_VALUE, MAX_VALUE].

      Unlike asNonNegativeFiniteNumber, this is total: out-of-range inputs are clamped to the nearest representable NonNegativeFiniteNumber instead of throwing.

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

      Type guard that checks if a value is a non-negative finite number.

      isNonNegativeFiniteNumber for usage examples

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

      Returns the largest of the given non-negative finite numbers.

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

      Returns the smallest of the given non-negative finite numbers.

    • MIN_VALUE: 0

      The smallest value representable as NonNegativeFiniteNumber (the lower saturation target of fromNumber).

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

      Multiplies two non-negative finite numbers, returning a * b as a NonNegativeFiniteNumber.

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

      Raises a to the power b, returning a ** b as a NonNegativeFiniteNumber.

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

      Generates a random NonNegativeFiniteNumber within the given range.

      The range is inclusive on both ends.

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

      Returns the value of a non-negative finite number rounded to the nearest integer.

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

      Subtracts two non-negative finite numbers, returning a - b as a NonNegativeFiniteNumber.