SerikaNum
    Preparing search index...

    Interface SerikaNum

    Basic library for performing mathematical operations on numbers exceeding 2^1024.

    interface SerikaNum {
        new SerikaNum(number: number): LuaTuple<[number, number]>;
        abs: (mantissa: number, exponent: number) => LuaTuple<[number, number]>;
        add: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => LuaTuple<[number, number]>;
        ceil: (mantissa: number, exponent: number) => LuaTuple<[number, number]>;
        changeDecimalPoints: (decimalPoints: number) => void;
        changeDefaultAbbreviation: (mode: "suffix" | "scientific") => void;
        changeThreshold: (threshold: number) => void;
        div: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => LuaTuple<[number, number]>;
        equals: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
            tolerance?: number,
        ) => boolean;
        equalsExact: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => boolean;
        floor: (mantissa: number, exponent: number) => LuaTuple<[number, number]>;
        fromSingle: (single: number) => LuaTuple<[number, number]>;
        fromString: (str: string) => LuaTuple<[number, number]>;
        fromSuffix: (str: string) => LuaTuple<[number, number]>;
        lessEquals: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => boolean;
        lessThan: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => boolean;
        log: (
            mantissa: number,
            exponent: number,
            base?: number,
        ) => undefined | LuaTuple<[number, number]>;
        log10: (
            mantissa: number,
            exponent: number,
        ) => undefined | LuaTuple<[number, number]>;
        mod: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => LuaTuple<[number, number]>;
        moreEquals: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => boolean;
        moreThan: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => boolean;
        mul: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => LuaTuple<[number, number]>;
        pow: (
            mantissa: number,
            exponent: number,
            power: number,
        ) => LuaTuple<[number, number]>;
        reciprocal: (
            mantissa: number,
            exponent: number,
        ) => LuaTuple<[number, number]>;
        revert: (mantissa: number, exponent: number) => number;
        root: (
            mantissa: number,
            exponent: number,
            root: number,
        ) => LuaTuple<[number, number]>;
        round: (mantissa: number, exponent: number) => LuaTuple<[number, number]>;
        sub: (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ) => LuaTuple<[number, number]>;
        toScientific: (mantissa: number, exponent: number) => string;
        toSingle: (mantissa: number, exponent: number) => number;
        toString: (
            mantissa: number,
            exponent: number,
            mode?: "suffix" | "scientific",
        ) => string;
        toSuffix: (mantissa: number, exponent: number) => string;
        unary: (mantissa: number, exponent: number) => LuaTuple<[number, number]>;
    }
    Index

    Constructors

    • Create a new SerikaNum tuple from a primitive number, returning the mantissa and exponent respectively.

      Parameters

      • number: number

      Returns LuaTuple<[number, number]>

    Properties

    abs: (mantissa: number, exponent: number) => LuaTuple<[number, number]>

    Get the absolute value of the SerikaNum tuple.

    Type Declaration

      • (mantissa: number, exponent: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Absolute value of the SerikaNum tuple

    add: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => LuaTuple<[number, number]>

    Adds two SerikaNum tuples together.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): LuaTuple<[number, number]>
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    ceil: (mantissa: number, exponent: number) => LuaTuple<[number, number]>

    Rounds up the SerikaNum tuple to the nearest integer. This operation is unsafe for numbers beyond 2^1024.

    Type Declaration

      • (mantissa: number, exponent: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        SerikaNum tuple rounded up to the nearest integer

    changeDecimalPoints: (decimalPoints: number) => void

    Change the number of decimal points when formatting SerikaNum tuples into a string.

    Type Declaration

      • (decimalPoints: number): void
      • Parameters

        • decimalPoints: number

          Decimal points to display in strings

        Returns void

    changeDefaultAbbreviation: (mode: "suffix" | "scientific") => void

    Change the default abbreviation mode used in toString.

    Type Declaration

      • (mode: "suffix" | "scientific"): void
      • Parameters

        • mode: "suffix" | "scientific"

          Abbreviation method to use

        Returns void

    changeThreshold: (threshold: number) => void

    In SerikaNum, addition and substraction is usually performed at up to 16 digits of precision. This means that 1e+16 + 1 will simply remain as 1e+16, while 1e+15 + 1 would change. Change this threshold to modify how large a difference is allowed for such calculations. Note that this usually does not provide any performance improvements.

    Type Declaration

      • (threshold: number): void
      • Parameters

        • threshold: number

          New exponent threshold

        Returns void

    div: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => LuaTuple<[number, number]>

    Divides the first SerikaNum tuple by the second.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): LuaTuple<[number, number]>
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    equals: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
        tolerance?: number,
    ) => boolean

    Checks if two SerikaNum tuples are equivalent.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
            tolerance?: number,
        ): boolean
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        • Optionaltolerance: number

          Optional tolerance for floating point comparison (defaults to 1e-7)

        Returns boolean

        Equality of the two SerikaNum tuples

    equalsExact: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => boolean

    Checks if two SerikaNum tuples are exactly the same. This does not account for floating point precision errors.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): boolean
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns boolean

        Exact equality of the two SerikaNum tuples

    floor: (mantissa: number, exponent: number) => LuaTuple<[number, number]>

    Rounds down the SerikaNum tuple to the nearest integer. This operation is unsafe for numbers beyond 2^1024.

    Type Declaration

      • (mantissa: number, exponent: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        SerikaNum tuple rounded down to the nearest integer

    fromSingle: (single: number) => LuaTuple<[number, number]>

    Converts the single primitive number back into a SerikaNum tuple. This SerikaNum tuple is usually much more inaccurate than it previous was before conversion into a single primitive number. Use this method to display numbers stored in leaderboard datastores.

    Type Declaration

      • (single: number): LuaTuple<[number, number]>
      • Parameters

        • single: number

          Single primitive number

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    fromString: (str: string) => LuaTuple<[number, number]>

    Converts a formatted string into a SerikaNum tuple.

    Type Declaration

      • (str: string): LuaTuple<[number, number]>
      • Parameters

        • str: string

          String to parse

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    fromString("5.5UCe") // returns (5.5, 306)
    fromString("5.5e125") // returns (5.5, 125)
    fromSuffix: (str: string) => LuaTuple<[number, number]>

    Converts a formatted string into a SerikaNum tuple.

    Type Declaration

      • (str: string): LuaTuple<[number, number]>
      • Parameters

        • str: string

          String to parse

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    fromSuffix("5.5UCe") // returns (5.5, 306)
    
    lessEquals: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => boolean

    Checks if the first SerikaNum tuple is less than or equal to the second.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): boolean
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns boolean

        First SerikaNum tuple is less than or equal to the second

    lessThan: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => boolean

    Checks if the first SerikaNum tuple is less than the second.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): boolean
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns boolean

        First SerikaNum tuple is less than the second

    log: (
        mantissa: number,
        exponent: number,
        base?: number,
    ) => undefined | LuaTuple<[number, number]>

    Get the logarithm of the SerikaNum tuple with the specified primitive number base.

    Type Declaration

      • (
            mantissa: number,
            exponent: number,
            base?: number,
        ): undefined | LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        • Optionalbase: number

          Base of the logarithm as a primitive number

        Returns undefined | LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    log10: (
        mantissa: number,
        exponent: number,
    ) => undefined | LuaTuple<[number, number]>

    Get the logarithm of the SerikaNum tuple with a base of 10.

    Type Declaration

      • (mantissa: number, exponent: number): undefined | LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns undefined | LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    mod: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => LuaTuple<[number, number]>

    Gets the remainder of the first SerikaNum tuple divided by the second. This is a slightly expensive operation.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): LuaTuple<[number, number]>
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    moreEquals: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => boolean

    Checks if the first SerikaNum tuple is more than or equal to the second.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): boolean
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns boolean

        First SerikaNum tuple is more than or equal to the second

    moreThan: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => boolean

    Checks if the first SerikaNum tuple is more than to the second.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): boolean
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns boolean

        First SerikaNum tuple is more than the second

    mul: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => LuaTuple<[number, number]>

    Multiplies two SerikaNum tuples together.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): LuaTuple<[number, number]>
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    pow: (
        mantissa: number,
        exponent: number,
        power: number,
    ) => LuaTuple<[number, number]>

    Raises the SerikaNum tuple by the specified power.

    Type Declaration

      • (mantissa: number, exponent: number, power: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        • power: number

          Power to raise by in a primitive number.

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    reciprocal: (mantissa: number, exponent: number) => LuaTuple<[number, number]>

    Calculates the reciprocal of the SerikaNum tuple (1/x).

    Type Declaration

      • (mantissa: number, exponent: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Reciprocal of the SerikaNum tuple

    revert: (mantissa: number, exponent: number) => number

    Reverts the SerikaNum tuple back to a primitive number. For numbers beyond 2^1024, this will return math.huge.

    Type Declaration

      • (mantissa: number, exponent: number): number
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns number

        Reverted primitive number

    root: (
        mantissa: number,
        exponent: number,
        root: number,
    ) => LuaTuple<[number, number]>

    Calculates the nth root of the SerikaNum tuple.

    Type Declaration

      • (mantissa: number, exponent: number, root: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        • root: number

          Root to calculate (e.g., 2 for square root, 3 for cube root)

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    round: (mantissa: number, exponent: number) => LuaTuple<[number, number]>

    Rounds the SerikaNum tuple to the nearest integer. This operation is unsafe for numbers beyond 2^1024.

    Type Declaration

      • (mantissa: number, exponent: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        SerikaNum tuple rounded to the nearest integer

    sub: (
        mantissa1: number,
        exponent1: number,
        mantissa2: number,
        exponent2: number,
    ) => LuaTuple<[number, number]>

    Substracts the first SerikaNum tuple by the second.

    Type Declaration

      • (
            mantissa1: number,
            exponent1: number,
            mantissa2: number,
            exponent2: number,
        ): LuaTuple<[number, number]>
      • Parameters

        • mantissa1: number

          First SerikaNum tuple's mantissa

        • exponent1: number

          First SerikaNum tuple's exponent

        • mantissa2: number

          Second SerikaNum tuple's mantissa

        • exponent2: number

          Second SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Resulting SerikaNum tuple

    toScientific: (mantissa: number, exponent: number) => string

    Converts the SerikaNum tuple into a string in scientific notation format.

    Type Declaration

      • (mantissa: number, exponent: number): string
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns string

        Resulting string

    toSingle: (mantissa: number, exponent: number) => number

    Converts the SerikaNum tuple into a single primitive number that represents the magnitude of the number. This method should only be used for leaderboards and other things that do not require the specific number itself as the resulting single numbers are highly inaccurate.

    Type Declaration

      • (mantissa: number, exponent: number): number
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns number

        Resulting single number

    toString: (
        mantissa: number,
        exponent: number,
        mode?: "suffix" | "scientific",
    ) => string

    Converts the SerikaNum tuple into a string with the specified mode. If suffix is used, this method is equivalent to toSuffix. If scientific is used, this method is equivalent to toScientific.

    Type Declaration

      • (mantissa: number, exponent: number, mode?: "suffix" | "scientific"): string
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        • Optionalmode: "suffix" | "scientific"

          Mode of conversion to string

        Returns string

        Resulting string

    toSuffix: (mantissa: number, exponent: number) => string

    Converts the SerikaNum tuple into a string with a number and suffix. Use the Suffixer.changeSuffixes method to edit the suffixes. If a suffix for the specified SerikaNum tuple is not found, scientific notation is used.

    Type Declaration

      • (mantissa: number, exponent: number): string
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns string

        Resulting string

    unary: (mantissa: number, exponent: number) => LuaTuple<[number, number]>

    Flips the sign of the SerikaNum tuple. Equivalent to multiplying by -1.

    Type Declaration

      • (mantissa: number, exponent: number): LuaTuple<[number, number]>
      • Parameters

        • mantissa: number

          SerikaNum tuple's mantissa

        • exponent: number

          SerikaNum tuple's exponent

        Returns LuaTuple<[number, number]>

        Negative of the SerikaNum tuple