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

    Namespace providing type-safe arithmetic operations for positive finite numbers.

    All operations maintain the positive constraint by clamping non-positive results to MIN_VALUE, while ensuring results remain finite (excluding NaN and Infinity). This type is useful for representing quantities that must always be positive, such as probabilities, magnitudes, and physical measurements.

    Type Declaration

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

      Adds two PositiveFiniteNumber values.

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

      Rounds up a PositiveFiniteNumber to the nearest integer.

    • clamp: (x: number) => PositiveFiniteNumber

      Clamps a number to the positive finite range.

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

      Divides one PositiveFiniteNumber by another.

    • floor: (x: PositiveFiniteNumber) => RemoveNonZeroBrandKey<ToInt<PositiveFiniteNumber>>

      Rounds down a PositiveFiniteNumber to the nearest integer.

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

      Type guard to check if a value is a PositiveFiniteNumber.

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

      Returns the larger of two PositiveFiniteNumber values.

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

      Returns the smaller of two PositiveFiniteNumber values.

    • ReadonlyMIN_VALUE: number

      The minimum value for a positive finite number.

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

      Multiplies two PositiveFiniteNumber values.

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

      Raises a PositiveFiniteNumber to the power of another PositiveFiniteNumber.

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

      Generates a random PositiveFiniteNumber value.

    • round: (x: PositiveFiniteNumber) => RemoveNonZeroBrandKey<ToInt<PositiveFiniteNumber>>

      Rounds a PositiveFiniteNumber to the nearest integer.

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

      Subtracts one PositiveFiniteNumber from another.