Difference between revisions of "Erin's equation"
Jump to navigation
Jump to search
Giantsquid (talk | contribs) |
Giantsquid (talk | contribs) |
||
Line 10: | Line 10: | ||
==Fortran sourcecode== | ==Fortran sourcecode== | ||
− | function erin(x) result(m) | + | pure function erin(x) result(m) |
− | use iso_fortran_env | + | use iso_fortran_env, only: wp => real64 |
implicit none | implicit none | ||
− | real( | + | real(wp),intent(in) :: x |
− | real( | + | real(wp) :: m,t |
t = 10**floor(log10(x)) | t = 10**floor(log10(x)) | ||
m = t * floor(x/t) | m = t * floor(x/t) |
Revision as of 19:19, 23 October 2015
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