Welcome to the DFO World Wiki. With many major updates since the release of DFO, many items are missing. Visit Item Database Project to learn more.
Please remember to click "show preview" before saving the page.
Thanks for the updated logo snafuPop!

Template:Calculate increment

From DFO World Wiki
Jump to: navigation, search
Template Documentation view

Contents

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
  • {{calculate increment|1|5}} gives "0.5"
  • {{calculate increment|10|23}} gives "1"
  • {{calculate increment|10|23.5}} gives "2"
  • {{calculate increment|100|300}} gives "20"
  • {{calculate increment|1010|1030}} gives "2"
  • {{calculate increment|3550|7450}} gives "500"
  • {{calculate increment|101000|889330}} gives "100000"
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.