Difference between revisions of "Erin's equation"
Jump to navigation
Jump to search
Giantsquid (talk | contribs) |
Giantsquid (talk | contribs) |
||
Line 12: | Line 12: | ||
==Fortran sourcecode== | ==Fortran sourcecode== | ||
+ | <syntaxhighlight lang="Fortran" line='line'> | ||
pure function erin(x) result(m) | pure function erin(x) result(m) | ||
use iso_fortran_env, only: wp => real64 | use iso_fortran_env, only: wp => real64 | ||
Line 20: | Line 21: | ||
m = t * floor(x/t) | m = t * floor(x/t) | ||
end function erin | end function erin | ||
+ | </syntaxhighlight> | ||
==Example== | ==Example== |
Latest revision as of 20:41, 9 August 2019
Erin's equation is a mathematical function which computes the number that is the same order of magnitude as a given number, but with only one significant digit.
Python sourcecode
def erin(x):
from math import *
t = pow(10, floor(log10(x)))
return t * floor(x/t)
Fortran sourcecode
pure function erin(x) result(m)
use iso_fortran_env, only: wp => real64
implicit none
real(wp),intent(in) :: x
real(wp) :: m,t
t = 10**floor(log10(x))
m = t * floor(x/t)
end function erin
Example
erin(9876.54321) = 9000.0