Module:Utils/doc: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
ArrowHead294 (talk | contribs)
mNo edit summary
Ganaram inukshuk (talk | contribs)
update documentation
Line 12: Line 12:
: Allows [[Module:Yesno]], which is not invokable directly, to be accessed by templates through [[Template:Yesno]].
: Allows [[Module:Yesno]], which is not invokable directly, to be accessed by templates through [[Template:Yesno]].


; <code>table_contains(tbl,&nbsp;x)</code>*
; <code>table_contains(tbl,&nbsp;value,&nbsp;compare_func)</code>*
: Check if table contains x.
: Check whether table contains <code>value</code>. Passing in <code>compare_func</code> is optional; if <code>value</code> is a table and <code>tbl</code> a table of tables, pass in a comparison function <code>compare_func</code> to determine whether <code>value</code> and an element in <code>tbl</code> have the same value.<code>tbl</code> have the same value.


; <code>index_of(array,&nbsp;index)</code>*
; <code>index_of(array,&nbsp;value,&nbsp;compare_func)</code>*
: Return the first index with the given value (or nil if not found).
: Return the first index with the given <code>value</code> (or nil if not found). Passing in <code>compare_func</code> is optional; if <code>value</code> is a table and <code>tbl</code> a table of tables, pass in a comparison function <code>compare_func</code> to determine whether <code>value</code> and an element in <code>tbl</code> have the same value.<code>tbl</code> have the same value.


; <code>value_provided(s)</code>*
; <code>value_provided(s)</code>*

Revision as of 06:51, 5 October 2025

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 underscore-prefixed functions.

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.
table_contains(tbl, value, compare_func)*
Check whether table 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 to determine whether value and an element in tbl have the same value.tbl have the same value.
index_of(array, value, compare_func)*
Return 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 to determine whether value and an element in tbl have the same value.tbl have the same value.
value_provided(s)*
Checks if s is a non-empty string.
wlink(a, b)
Provides a link to Wikipedia.
eval_num_arg(input, def_value)*
Checks if input is a number; on error, use def_value.
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: }}.