| 1234567891011121314151617181920212223242526272829303132333435363738 | #include <iostream>#include "MathFunctions.h"// include the generated table#include "Table.h"namespace mathfunctions {namespace detail {// a hack square root calculation using simple operationsdouble mysqrt(double x){  if (x <= 0) {    return 0;  }  // use the table to help find an initial value  double result = x;  if (x >= 1 && x < 10) {    result = sqrtTable[static_cast<int>(x)];  }  // if we have both log and exp then use them  // do ten iterations  for (int i = 0; i < 10; ++i) {    if (result <= 0) {      result = 0.1;    }    double delta = x - (result * result);    result = result + 0.5 * delta / result;    std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;  }  return result;}}}
 |