Difference between revisions of "Template:Size"
Jump to navigation
Jump to search
Kevin Wang (talk | contribs) (Created page with "<includeonly>{{#vardefine:page|{{{1}}}}}{{#vardefine:minindex|1}}{{#vardefine:maxindex|2}} {{#while: |{{{{#var:page}}|{{#var:maxindex}}}} |{{#vardefine:minindex|{{#var:maxinde...") |
Kevin Wang (talk | contribs) m |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | <includeonly>{{#vardefine:page|{{{1}}}}}{{#vardefine:minindex| | + | <includeonly>{{#vardefine:page|{{{1}}}}}{{#vardefine:minindex|0}}{{#vardefine:maxindex|1}}<!-- |
| − | {{#while: | + | Find the upper bound of the size in steps of 2^n |
| + | -->{{#while: | ||
|{{{{#var:page}}|{{#var:maxindex}}}} | |{{{{#var:page}}|{{#var:maxindex}}}} | ||
|{{#vardefine:minindex|{{#var:maxindex}}}}{{Multiply|maxindex|2}} | |{{#vardefine:minindex|{{#var:maxindex}}}}{{Multiply|maxindex|2}} | ||
| − | }}{{#vardefine:index|{{#expr:floor(({{#var:maxindex}}+{{#var:minindex}})/2)}}}}{{# | + | }}{{#vardefine:index|{{#expr:floor(({{#var:maxindex}}+{{#var:minindex}})/2)}}}}<!-- |
| − | |{{#ifexpr:{{#var: | + | Perform a binary search between [2^n-1, 2^n] to find the last element of the list |
| − | |{{#if:{{{{#var:page}}|{{#var:index}}}} | + | -->{{#while: |
| − | <!--undershoot--> | + | |{{#ifexpr:{{#var:minindex}}+1<{{#var:maxindex}}|true}} |
| − | <!-- overshoot--> | + | | |
| + | {{#if:{{{{#var:page}}|{{#var:index}}}} | ||
| + | <!--undershoot-->|{{#vardefine:minindex|{{#var:index}}}} | ||
| + | <!-- overshoot-->|{{#vardefine:maxindex|{{#var:index}}}} | ||
}} | }} | ||
| − | + | {{#vardefine:index|{{#expr:floor(({{#var:maxindex}}+{{#var:minindex}})/2)}}}} | |
| − | Get size of list | + | }}{{#var:index}}</includeonly><noinclude> |
| + | {{Template doc| | ||
| + | Get size of a list given a template that maps index -> entry. | ||
| − | + | Largely deprecated by [[Template:List lookup helper|List lookup helper]]. | |
| − | + | ||
| − | + | <pre> | |
| − | + | {{Size|Quick links lingo}} | |
| − | + | ||
| − | + | {{Size|Anecdote}} | |
| − | + | </pre> | |
| − | |Anecdote | + | |
| − | |{{Size|Anecdote}} | + | {{Size|Quick links lingo}} |
| − | + | ||
| − | </noinclude> | + | {{Size|Anecdote}} |
| + | }}</noinclude> | ||
Latest revision as of 18:28, 14 December 2025
Template documentation
Get size of a list given a template that maps index -> entry.
Largely deprecated by List lookup helper.
{{Size|Quick links lingo}}
{{Size|Anecdote}}
5
0