mysqrt.cxx 484 B

123456789101112131415161718192021222324
  1. #include <iostream>
  2. #include "MathFunctions.h"
  3. // a hack square root calculation using simple operations
  4. double mysqrt(double x)
  5. {
  6. if (x <= 0) {
  7. return 0;
  8. }
  9. double result = x;
  10. // do ten iterations
  11. for (int i = 0; i < 10; ++i) {
  12. if (result <= 0) {
  13. result = 0.1;
  14. }
  15. double delta = x - (result * result);
  16. result = result + 0.5 * delta / result;
  17. std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;
  18. }
  19. return result;
  20. }