mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
define math_log2
This commit is contained in:
parent
a2a49aa9fb
commit
93c959a754
@ -335,6 +335,11 @@ choose_segment() {
|
|||||||
return permute[choose_idx++];
|
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 */
|
/* Get log*n for given n */
|
||||||
int Triangulator::
|
int Triangulator::
|
||||||
@ -343,7 +348,7 @@ math_logstar_n(int n) {
|
|||||||
double v;
|
double v;
|
||||||
|
|
||||||
for (i = 0, v = (double) n; v >= 1; i++)
|
for (i = 0, v = (double) n; v >= 1; i++)
|
||||||
v = log2(v);
|
v = math_log2(v);
|
||||||
|
|
||||||
return (i - 1);
|
return (i - 1);
|
||||||
}
|
}
|
||||||
@ -355,7 +360,7 @@ math_N(int n, int h) {
|
|||||||
double v;
|
double v;
|
||||||
|
|
||||||
for (i = 0, v = (int) n; i < h; i++)
|
for (i = 0, v = (int) n; i < h; i++)
|
||||||
v = log2(v);
|
v = math_log2(v);
|
||||||
|
|
||||||
return (int) ceil((double) 1.0*n/v);
|
return (int) ceil((double) 1.0*n/v);
|
||||||
}
|
}
|
||||||
|
@ -170,8 +170,9 @@ private:
|
|||||||
void make_segment(const vector_int &range);
|
void make_segment(const vector_int &range);
|
||||||
|
|
||||||
int choose_segment();
|
int choose_segment();
|
||||||
int math_logstar_n(int n);
|
static double math_log2(double v);
|
||||||
int math_N(int n, int h);
|
static int math_logstar_n(int n);
|
||||||
|
static int math_N(int n, int h);
|
||||||
|
|
||||||
int newnode();
|
int newnode();
|
||||||
int newtrap();
|
int newtrap();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user