Just simple bisect: from __future__ import division import math def func(x): return x*x*x-x-0.1 def sign(n): try: return n/abs(n) except ZeroDivisionError: return 0 def root(f, a, b, eps=1e-6): f_a = f(a) if abs(f_a) < eps: return a f_b = f(b) if abs(f_b) < eps: return b half = (b+a)/2 f_half =...

using the definition of it being the smallest representable double value x such that 1.0 + x != 1.0, just as in C/C++ This has never been the definition, not in Java and not in C and not in C++. The definition is that the machine epsilon is the...

c#,double,resharper,mathematical-optimization,epsilon

No, it is not a sensible value for your epsilon. The code you have is no different than a straight equality check. double.Epsilon is the smallest possible difference that there can be between any two doubles. There is no way for any two doubles to be closer to each other...

c,floating-point,double,epsilon

Bounds calculations are convoluted and have holes. See that upper_bound_x[n] == lower_bound_x[n+1]. Then when a compare occurs with (D->values[k][col2] == upper_bound_x[n], it will neither fit in in region n nor region n+1. // Existing code upper_bound_x[0]=min_x+interval_x; //upper bound of the first region in y lower_bound_x[0]=min_x; //lower bound of the first...

c#,unit-testing,double,double-precision,epsilon

Per the documentation of Double.Epsilon: The value of the Epsilon property reflects the smallest positive Double value that is significant in numeric operations or comparisons when the value of the Double instance is zero. (Emphasis mine.) Adding it to 90.0 does not produce "the next smallest value after 90.0", this...

python,square-root,bisection,epsilon

The issues in the cases are - First Case : You are assuming that the input you get x would always be positive , since you are always setting it to high, so when sending a negative number, ans in first iteration is -13.5 and since (-13.5)**3 is negative, it...