diff --git a/panda/src/mathutil/triangulator.cxx b/panda/src/mathutil/triangulator.cxx index a55606dbfe..3fa128a792 100644 --- a/panda/src/mathutil/triangulator.cxx +++ b/panda/src/mathutil/triangulator.cxx @@ -335,6 +335,11 @@ choose_segment() { return permute[choose_idx++]; } +double Triangulator:: +math_log2(double v) { + static const double log2 = log(2.0); + return log(v) / log2; +} /* Get log*n for given n */ int Triangulator:: @@ -343,7 +348,7 @@ math_logstar_n(int n) { double v; for (i = 0, v = (double) n; v >= 1; i++) - v = log2(v); + v = math_log2(v); return (i - 1); } @@ -355,7 +360,7 @@ math_N(int n, int h) { double v; for (i = 0, v = (int) n; i < h; i++) - v = log2(v); + v = math_log2(v); return (int) ceil((double) 1.0*n/v); } diff --git a/panda/src/mathutil/triangulator.h b/panda/src/mathutil/triangulator.h index 193ff9eec8..e31a5417da 100644 --- a/panda/src/mathutil/triangulator.h +++ b/panda/src/mathutil/triangulator.h @@ -170,8 +170,9 @@ private: void make_segment(const vector_int &range); int choose_segment(); - int math_logstar_n(int n); - int math_N(int n, int h); + static double math_log2(double v); + static int math_logstar_n(int n); + static int math_N(int n, int h); int newnode(); int newtrap();