Difference between revisions of "Erin's equation"

From Bacliff Exploration Society
Jump to navigation Jump to search
(Created page with "'''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. ==Pytho...")
 
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
==Python sourcecode==
 
==Python sourcecode==
  
 +
<syntaxhighlight lang="Python" line='line'>
 
  def erin(x):
 
  def erin(x):
 
     from math import *
 
     from math import *
 
     t = pow(10, floor(log10(x)))
 
     t = pow(10, floor(log10(x)))
 
     return t * floor(x/t)
 
     return t * floor(x/t)
 +
</syntaxhighlight>
 +
 +
==Fortran sourcecode==
 +
 +
<syntaxhighlight lang="Fortran" line='line'>
 +
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
 +
</syntaxhighlight>
  
 
==Example==
 
==Example==

Latest revision as of 19: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

1  def erin(x):
2      from math import *
3      t = pow(10, floor(log10(x)))
4      return t * floor(x/t)

Fortran sourcecode

1  pure function erin(x) result(m)
2   use iso_fortran_env, only: wp => real64
3   implicit none
4   real(wp),intent(in) :: x
5   real(wp) :: m,t
6   t = 10**floor(log10(x))
7   m = t * floor(x/t)
8  end function erin

Example

erin(9876.54321) = 9000.0

See also