mysqrt.cxx 493 B

1234567891011121314151617181920212223242526
  1. #include "MathFunctions.h"
  2. #include <stdio.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;
  10. double delta;
  11. result = x;
  12. // do ten iterations
  13. int i;
  14. for (i = 0; i < 10; ++i) {
  15. if (result <= 0) {
  16. result = 0.1;
  17. }
  18. delta = x - (result * result);
  19. result = result + 0.5 * delta / result;
  20. fprintf(stdout, "Computing sqrt of %g to be %g\n", x, result);
  21. }
  22. return result;
  23. }