title: python numpy machine epsilon
body: <p>I am trying to understand what is machine epsilon. According to the Wikipedia, it can be calculated as follows:</p>
  
  <pre><code>def machineEpsilon(func=float):
      machine_epsilon = func(1)
      while func(1)+func(machine_epsilon) != func(1):
          machine_epsilon_last = machine_epsilon
          machine_epsilon = func(machine_epsilon) / func(2)
      return machine_epsilon_last
  </code></pre>
  
  <p>However, it is suitable only for double precision numbers. I am interested in modifying it to support also single precision numbers. I read that numpy can be used, particularly <code>numpy.float32</code> class. Can anybody help with modifying the function? </p>