Difference between revisions of "Template:Calculate increment"
imported>Smith609 m |
imported>Smith609 m (Increase magnitude of default gap) |
||
| Line 58: | Line 58: | ||
{{#expr: ({{len|{{abs| {{abs|{{{1}}}}} - {{abs|{{{2}}}}}}}}} - 1) > 0 }}|1| | {{#expr: ({{len|{{abs| {{abs|{{{1}}}}} - {{abs|{{{2}}}}}}}}} - 1) > 0 }}|1| | ||
{{loop|{{#expr: ({{len|{{abs| {{abs|{{{1}}}}} - {{abs|{{{2}}}}}}}}} - 2)}}|*10}}| | {{loop|{{#expr: ({{len|{{abs| {{abs|{{{1}}}}} - {{abs|{{{2}}}}}}}}} - 2)}}|*10}}| | ||
| − | {{loop|-{{#expr: ({{len|{{abs| ({{abs|{{{1}}}}} - {{abs|{{{2}}}}})}} * 1000000 }} - | + | {{loop|-{{#expr: ({{len|{{abs| ({{abs|{{{1}}}}} - {{abs|{{{2}}}}})}} * 1000000 }} - 7)}}|/10}} |
}} | }} | ||
}}</includeonly><noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> | }}</includeonly><noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> | ||
Revision as of 17:30, 25 June 2007
Usage
This template takes two numbers and calculates a suitable increment for {{scalemarkers}} based on the difference between these numbers. Increments are 1, 2 or 5 times an appropriate power of 10.
These numbers, the from value and the to value, are input as unnamed parameters.
{{calculate increment|p1|p2}}
The absolute value, d, of the difference between these is calculated.
- d = | p1 − p2 |
This can be expressed in scientific notation as follows.
- d = a × 10n
Where 1 ≤ a < 10 and n is an integer.
The output of the template is as follows.
For 1 ≤ a < 1.35 the output is the number 1 × 10n − 1 For 1.35 ≤ a < 3.45 the output is the number 2 × 10n − 1 For 3.45 ≤ a < 6.95 the output is the number 5 × 10n − 1 For 6.95 ≤ a < 10 the output is the number 1 × 10n
- Note
- The values are returned as ordinary numbers (for use in other templates) not in scientific notation (e.g. 5000 not 5 × 103).
- The template code actually uses 1.4, 3.5 and 7 as cut offs but these are reduced by 0.05 due to rounding.
- Examples
- Technical details
The main template page calculates d, the absolute value of the difference between the two inputs. Using {{order of magnitude}} the order of magnitude, n, of d is calculated. d and 10n − 1 are sent as parameters 1 and 2 respectively to a subpage, {{calculate increment/calc}}. This subtemplate uses a #switch to determine the correct factor, 1, 2, 5 or 10, then multiplies by 10n − 1.