mirror of
https://github.com/glest/glest-source.git
synced 2025-08-11 02:43:57 +02:00
- updated code to protect against null pointers and uninitialized values and threading issues
This commit is contained in:
@@ -52,8 +52,8 @@ P5 = 4.1381369442e-08f; /* 0x3331bb4c */
|
||||
Simple x;
|
||||
#endif
|
||||
{
|
||||
Simple y,hi,lo,c,t;
|
||||
int32_t k,xsb;
|
||||
Simple y,hi,lo=0,c,t;
|
||||
int32_t k=0,xsb=0;
|
||||
u_int32_t hx;
|
||||
|
||||
GET_FLOAT_WORD(hx,x);
|
||||
|
@@ -301,6 +301,8 @@ static Simple pS2[5] = {
|
||||
else if(ix>=0x40f71c58){p = pR5; q= pS5;}
|
||||
else if(ix>=0x4036db68){p = pR3; q= pS3;}
|
||||
else if(ix>=0x40000000){p = pR2; q= pS2;}
|
||||
//else throw std::exception("unknown state for pointers p and q!");
|
||||
else throw "unknown state for pointers p and q!";
|
||||
z = one/(x*x);
|
||||
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
|
||||
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
|
||||
@@ -437,6 +439,8 @@ static Simple qS2[6] = {
|
||||
else if(ix>=0x40f71c58){p = qR5; q= qS5;}
|
||||
else if(ix>=0x4036db68){p = qR3; q= qS3;}
|
||||
else if(ix>=0x40000000){p = qR2; q= qS2;}
|
||||
//else throw std::exception("unknown state for pointer p!");
|
||||
else throw "unknown state for pointers p and q!";
|
||||
z = one/(x*x);
|
||||
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
|
||||
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
|
||||
|
@@ -300,6 +300,8 @@ static Simple ps2[5] = {
|
||||
else if(ix>=0x40f71c58){p = pr5; q= ps5;}
|
||||
else if(ix>=0x4036db68){p = pr3; q= ps3;}
|
||||
else if(ix>=0x40000000){p = pr2; q= ps2;}
|
||||
//else throw std::exception("unknown state for pointer p!");
|
||||
else throw "unknown state for pointers p and q!";
|
||||
z = one/(x*x);
|
||||
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
|
||||
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
|
||||
@@ -437,6 +439,8 @@ static Simple qs2[6] = {
|
||||
else if(ix>=0x40f71c58){p = qr5; q= qs5;}
|
||||
else if(ix>=0x4036db68){p = qr3; q= qs3;}
|
||||
else if(ix>=0x40000000){p = qr2; q= qs2;}
|
||||
//else throw std::exception("unknown state for pointer p!");
|
||||
else throw "unknown state for pointers p and q!";
|
||||
z = one/(x*x);
|
||||
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
|
||||
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
|
||||
|
Reference in New Issue
Block a user