ts-data-forge
    Preparing search index...
    PositiveUint32: {
        add: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32;
        div: (
            x: WithSmallInt,
            y: ToNonZeroIntWithSmallInt<PositiveUint32>,
        ) => PositiveUint32;
        fromNumber: (x: number) => PositiveUint32;
        is: (a: number) => a is PositiveUint32;
        max: (...values: readonly WithSmallInt<PositiveUint32>[]) => PositiveUint32;
        MAX_VALUE: number;
        min: (...values: readonly WithSmallInt<PositiveUint32>[]) => PositiveUint32;
        MIN_VALUE: 1;
        mul: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32;
        pow: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32;
        random: (
            min?: WithSmallInt<PositiveUint32>,
            max?: WithSmallInt<PositiveUint32>,
        ) => PositiveUint32;
        sub: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32;
    }

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

    The PositiveUint32 type represents a positive integer in [1, 2^32). Division (div) uses floor division.

    Type Declaration

    • add: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32

      Adds two positive integers, returning a + b as a PositiveUint32.

    • div: (x: WithSmallInt, y: ToNonZeroIntWithSmallInt<PositiveUint32>) => PositiveUint32

      Divides two positive integers using floor division (⌊a / b⌋): the result is a / b rounded toward negative infinity, as a PositiveUint32.

    • fromNumber: (x: number) => PositiveUint32

      Converts an arbitrary number into a PositiveUint32, rounding to the nearest integer and saturating the result into the range [MIN_VALUE, MAX_VALUE].

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

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

      Type guard that checks if a value is a positive integer in [1, 2^32).

      isPositiveUint32 for usage examples

    • Readonlymax: (...values: readonly WithSmallInt<PositiveUint32>[]) => PositiveUint32

      Returns the largest of the given positive integers.

    • MAX_VALUE: number

      The largest value representable as PositiveUint32 (the upper saturation target of fromNumber).

    • Readonlymin: (...values: readonly WithSmallInt<PositiveUint32>[]) => PositiveUint32

      Returns the smallest of the given positive integers.

    • MIN_VALUE: 1

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

    • mul: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32

      Multiplies two positive integers, returning a * b as a PositiveUint32.

    • pow: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32

      Raises a to the power b, returning a ** b as a PositiveUint32 (floored to an integer).

    • random: (
          min?: WithSmallInt<PositiveUint32>,
          max?: WithSmallInt<PositiveUint32>,
      ) => PositiveUint32

      Generates a random PositiveUint32 within the given range.

      The range is inclusive on both ends.

    • sub: (x: WithSmallInt, y: WithSmallInt) => PositiveUint32

      Subtracts two positive integers, returning a - b as a PositiveUint32.