I fixed the bug described in this thread and cleaned up the root finding algorithm. I’m still unhappy about it, but I have no time to code a better one right now (i.e. Ridder, Brent). I also added changes.txt and todo.txt to keep track of things.

Changes.txt

V1
1. Fixed call to throw in bisection
2. Changed findBounds algo
3. Added TestXirrBugs function
4. Removed the NewValue functions everywhere

ToDo.txt

  1. The interaction of Bisection and Newton algo in findRoot needs review. It seems like it is working now, but it could use some love. Maybe I should switch to a better root finding algo (i.e. Rudder or Brent)