Difference between revisions of "Template:Calculate increment/doc"

From blackwiki
Jump to navigation Jump to search
imported>Jimp
imported>Jimp
Line 3: Line 3:
  
 
== Usage ==
 
== Usage ==
This template takes two numbers and calculates suitable increments for {{tl|scalemarkers}} based on the difference between these numbers.  Increments are 1, 2 or 5 times an appropriate power of 10.
+
This template takes two numbers and calculates a suitable increment for {{tl|scalemarkers}} based on the difference between these numbers.  Increments are 1, 2 or 5 times an appropriate power of 10.
  
Variable 1 = from;
+
These numbers, the from value and the to value, are input as unnamed parameters.
Variable 2 = to.
 
  
Examples:
+
:<code><nowiki>{{calculate increment|</nowiki></code>''p''<sub>1</sub><code>|</code>''p''<sub>2</sub><code>}}</code>
  
{{evd|calculate increment|10|30}}
+
The absolute value, ''d'', of the difference between these is calculated.
  
== How it does it ==
+
:''d'' = | ''p''<sub>1</sub> − ''p''<sub>2</sub> |
  
First we need to select the "base value" - i.e. what we're going to multiply by the power of 10.
+
This can be expressed in scientific notation as follows.
We use the following brackets:
 
:14<35: 20
 
:35-70 : 50
 
:70->14: 10
 
  
This code generates a suitably rounded number; we need to divide that by 10 ''n'' times.
+
:''d'' = ''a'' × 10<sup>''n''</sub>
 +
 
 +
Where 1 ≤ ''a'' < 10 and ''n'' is an integer.
 +
 
 +
The output of the template is as follows.
 +
::{|
 +
|-
 +
|For
 +
|align=right|1 ≤ ''a''
 +
|< 1.35
 +
|the output is the number 1 × 10<sup>''n'' − 1</sub>
 +
|-
 +
|For
 +
|align=right|1.35 ≤ ''a''
 +
|< 3.45
 +
|the output is the number 2 × 10<sup>''n'' − 1</sub>
 +
|-
 +
|For
 +
|align=right|3.45 ≤ ''a''
 +
|< 6.95
 +
|the output is the number 5 × 10<sup>''n'' − 1</sub>
 +
|-
 +
|For
 +
|align=right|6.95 ≤ ''a''
 +
|< 10
 +
|the output is the number 1 × 10<sup>''n''</sub>
 +
|}
 +
 
 +
;Note:
 +
*The values are returned as ordinary numbers (for use in other templates) not in scientific notation (e.g. 5000 not 5 × 10<sup>3</sub>).
 +
*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:
 +
*{{evd|calculate increment|1|5}}
 +
*{{evd|calculate increment|10|23}}
 +
*{{evd|calculate increment|10|23.5}}
 +
*{{evd|calculate increment|100|300}}
 +
*{{evd|calculate increment|1010|1030}}
 +
*{{evd|calculate increment|3550|7450}}
 +
*{{evd|calculate increment|101000|889330}}
 +
 
 +
;Technical details
 +
The main template page calculates ''d'', the absolute value of the difference between the two inputs.  Using {{tl|order of magnitude}} the order of magnitude, ''n'', of ''d'' is calculated.  ''d'' and 10<sup>''n'' − 1</sub> are sent as parameters 1 and 2 respectively to a subpage, {{tl|calculate increment/calc}}.  This subtemplate uses a <code>#switch</code> to determine the correct factor, 1, 2, 5 or 10, then multiplies by 10<sup>''n'' − 1</sub>.
  
 
<includeonly>
 
<includeonly>
 
[[Category:Mathematical function templates]]
 
[[Category:Mathematical function templates]]
 
</includeonly>
 
</includeonly>

Revision as of 14:18, 13 September 2011

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 = | p1p2 |

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.