Module:Utils/doc: Difference between revisions

ArrowHead294 (talk | contribs)
No edit summary
ArrowHead294 (talk | contribs)
mNo edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{dochead|header=none}}
{{documentation|
{{dochead|header=none}}{{lua|Arguments|yesno}}
This module provides several mathematical functions which are likely to be used frequently on the Xenharmonic Wiki.
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 <code>require("Module:Utils")</code> and calling the <code>_</code>-prefixed functions.
Namely, the functions in this module can be called from other modules by using <code>require("Module:Utils")</code> and calling the underscore-prefixed functions.


=== Functions ===
=== Functions ===
; <code>table_contains(tbl, x)</code>
; <code>trim(s)</code>
: Check if table contains x. This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Removes leading and trailing whitespaces (but not interior ones) from a string.


; <code>index_of(array, index)</code>
; <code>_yesno(frame)</code>
: Return the first index with the given value (or nil if not found). This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Allows [[Module:Yesno]], which is not invokable directly, to be accessed by templates through [[Template:Yesno]].


; <code>value_provided(s)</code>
; <code>table_contains(tbl,&nbsp;x)</code>*
: Checks if <code>s</code> is a non-empty string. This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Check if table contains x.


; <code>eval_num_arg(input, def_value)</code>
; <code>index_of(array,&nbsp;index)</code>*
: Checks if <code>input</code> is a number; on error, use <code>def_value</code>. This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Return the first index with the given value (or nil if not found).


; <code>log(x, b)</code>
; <code>value_provided(s)</code>*
: Checks if <code>s</code> is a non-empty string.
 
; <code>wlink(a, b)</code>
: Provides a link to Wikipedia.
 
; <code>eval_num_arg(input,&nbsp;def_value)</code>*
: Checks if <code>input</code> is a number; on error, use <code>def_value</code>.
 
; <code>log(x,&nbsp;b)</code>
: Returns the logarithm base <code>b</code> of <code>x</code>. Parameter <code>b</code> defaults to base 2 (octave) if it is omitted.
: Returns the logarithm base <code>b</code> of <code>x</code>. Parameter <code>b</code> defaults to base 2 (octave) if it is omitted.


; <code>gcd(a, b)</code>
; <code>gcd(a,&nbsp;b)</code>
: Returns the greatest common divisor of <code>a</code> and <code>b</code>.  
: Returns the greatest common divisor of <code>a</code> and <code>b</code>.  


; <code>round_dec(x, places)</code>
; <code>round_dec(x,&nbsp;places)</code>
: Returns <code>x</code> rounded to a precision of <code>places</code> decimal places. Parameter <code>places</code> defaults to 0 if it is omitted.
: Returns <code>x</code> rounded to a precision of <code>places</code> decimal places. Parameter <code>places</code> defaults to 0 if it is omitted.


; <code>round(x, prec)</code>
; <code>round(x,&nbsp;prec)</code>
: Returns <code>x</code> rounded to a precision of <code>prec</code> significant figures. Parameter <code>prec</code> defaults to 6 if it is omitted.
: Returns <code>x</code> rounded to a precision of <code>prec</code> significant figures. Parameter <code>prec</code> defaults to 6 if it is omitted.


; <code>is_prime(n)</code>
; <code>is_prime(n)</code>*
: Returns <code>true</code> if the given integer <code>n</code> is a prime number. This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Returns <code>true</code> if the given integer <code>n</code> is a prime number.


; <code>prime_factorization(n)</code>
; <code>prime_factorization(n)</code>
: Returns the prime factorization of the given integer <code>n</code> using the exponential form (in wikitext).
: Returns the prime factorization of the given integer <code>n</code> using the exponential form (in wikitext).


; <code>prime_factorization_raw(n)</code>
; <code>prime_factorization_raw(n)</code>*
: Returns a table encoding the prime factorization of <code>n</code>. This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Returns a table encoding the prime factorization of <code>n</code>.


; <code>signum(x)</code>
; <code>signum(x)</code>*
: Returns 1 for positive numbers, -1 for negative ones, 0 for zero and non-integer inputs. This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Returns 1 for positive numbers, −1 for negative ones, and 0 for zero and non-integer inputs.


; <code>next_young_diagram(d)</code>
; <code>next_young_diagram(d)</code>
: Returns the next Young diagram of the same size; the first one is <code>{{!(}}N{{)!}}</code>, the last one is <code>{{!(}}1, 1, ..., 1{{)!}}</code>. After the last one, <code>nil</code> is returned. The input table is modified. This function is designed to be used by other modules only; it cannot be called with <code>{{((}}#invoke:{{))}}</code>.
: Returns the next Young diagram of the same size; the first one is <code>[N]</code>, the last one is <code>{{nowrap|[1, 1, ..., 1]}}</code>. After the last one, <code>nil</code> is returned. The input table is modified.
 
 
<nowiki />* These functions are designed to be used by other modules only; they cannot be called with <code>{{<nowiki />#invoke:&nbsp;}}</code>.
}}