Module:Utils/doc

Revision as of 15:21, 24 November 2025 by FloraC (talk | contribs) (Clarify +1 and consistency)

This is the documentation page for Module:Utils

This module primarily serves as a library for other modules and has no corresponding template.

This module provides several mathematical functions which are likely to be used frequently on the Xenharmonic Wiki.

Namely, the functions in this module can be called from other modules by using require("Module:Utils") and calling the desired functions.

For pairs of functions with names that differ by a single leading underscore (for example, gcd and _gcd), the function with an underscore is meant to be called by other modules, and the function without an underscore can be used with #invoke.

To see introspection summary, see this module's main page.

Functions

trim(s)
Removes leading and trailing whitespaces (but not interior ones) from a string.
_yesno(frame)
Allows Module: Yesno, which is not invokable directly, to be accessed by templates through Template: Yesno.[clarification needed]
_clamp(val, min_val, max_val)
Returns val such that it's between min_val and max_val.
table_contains(tbl, value, compare_func) *
Checks whether table tbl contains value. Passing in compare_func is optional; if value is a table and tbl a table of tables, pass in a comparison function compare_func, which returns true if value and an element in tbl have the same value.[clarification needed]
index_of(array, value, compare_func) *
Returns the first index with the given value (or nil if not found). Passing in compare_func is optional; if value is a table and tbl a table of tables, pass in a comparison function compare_func, which returns true if value and an element in tbl have the same value.[clarification needed]
value_provided(s) *
Checks if s is a non-empty string.
eval_num_arg(input, def_value) *
Evaluates input as a number, fraction notation supported but not other expressions; uses def_value on error.
log(x, b)
Returns the logarithm base b of x. Parameter b defaults to base 2 (octave) if it is omitted.
gcd(a, b)
Returns the greatest common divisor of a and b.
round_dec(x, places)
Returns x rounded to a precision of places decimal places. Parameter places defaults to 0 if it is omitted.
round(x, prec)
Returns x rounded to a precision of prec significant figures. Parameter prec defaults to 6 if it is omitted.
is_prime(n)*
Returns true if the given integer n is a prime number.
prime_factorization(n)
Returns the prime factorization of the given integer n using the exponential form (in wikitext).
prime_factorization_raw(n) *
Returns a table encoding the prime factorization of n.
signum(x) *
Returns 1 for positive numbers, −1 for negative ones, and 0 for zero and non-integer inputs.
next_young_diagram(d)
Returns the next Young diagram of the same size; the first one is [N], the last one is [1, 1, …, 1]. After the last one, nil is returned. The input table is modified.

* These functions are designed to be used by other modules only; they cannot be called with {{#invoke: }}.