ts-data-forge
    Preparing search index...
    NonZeroFiniteNumber: {
        abs: (x: NonZeroFiniteNumber) => IntersectBrand<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>;
    }

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

    The NonZeroFiniteNumber type represents a non-zero finite number.

    Type Declaration

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

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

      The result is non-negative and keeps the NonZeroFiniteNumber brand.

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

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

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

      Divides two non-zero finite numbers, returning a / b as a NonZeroFiniteNumber.

      Exact (non-flooring) division of two non-zero finite numbers is always non-zero, so this stays closed. For the non-closed operations (add/sub, whose result may be 0) use Num.add/Num.sub.

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

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

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

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

      isNonZeroFiniteNumber for usage examples

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

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

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

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

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

      Multiplies two non-zero finite numbers, returning a * b as a NonZeroFiniteNumber.

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

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

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

      Generates a random NonZeroFiniteNumber within the given range.

      The range is inclusive on both ends.

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

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