$OpenBSD$ --- source/vdrift/cartire.cpp.orig Mon Jul 15 02:08:55 2013 +++ source/vdrift/cartire.cpp Mon Jul 15 02:14:41 2013 @@ -118,31 +118,31 @@ MATHVECTOR CARTIRE::GetForce( alpha = - ( atan2 ( hub_velocity[1],denom ) ) * 180.0/PI_d; /*crash dyn obj--*/ - if (isnan(alpha) || isnan(1.f/sigma_hat)) + if (std::isnan(alpha) || std::isnan(1.f/sigma_hat)) { MATHVECTOR outvec(0, 0, 0); return outvec; } - assert(!isnan(alpha)); + assert(!std::isnan(alpha)); Dbl gamma = ( current_camber ) * 180.0/PI_d; //beckman method for pre-combining longitudinal and lateral forces Dbl s = sigma / sigma_hat; - assert(!isnan(s)); + assert(!std::isnan(s)); Dbl a = alpha / alpha_hat; - assert(!isnan(a)); + assert(!std::isnan(a)); Dbl rho = std::max ( sqrt ( s*s+a*a ), 0.0001); //the constant is arbitrary; just trying to avoid divide-by-zero - assert(!isnan(rho)); + assert(!std::isnan(rho)); Dbl max_Fx(0); Dbl Fx = ( s / rho ) *Pacejka_Fx ( rho*sigma_hat, Fz, friction_coeff, max_Fx ); //std::cout << "s=" << s << ", rho=" << rho << ", sigma_hat=" << sigma_hat << ", Fz=" << Fz << ", friction_coeff=" << friction_coeff << ", Fx=" << Fx << std::endl; - assert(!isnan(Fx)); + assert(!std::isnan(Fx)); Dbl max_Fy(0); Dbl Fy = ( a / rho ) *Pacejka_Fy ( rho*alpha_hat, Fz, gamma, friction_coeff, max_Fy ); //std::cout << "s=" << s << ", a=" << a << ", rho=" << rho << ", Fy=" << Fy << std::endl; - assert(!isnan(Fy)); + assert(!std::isnan(Fy)); Dbl max_Mz(0); Dbl Mz = Pacejka_Mz ( sigma, alpha, Fz, gamma, friction_coeff, max_Mz ); @@ -168,8 +168,8 @@ MATHVECTOR CARTIRE::GetForce( //scale down forces to fit into the maximum Fx *= maxforce / combforce; Fy *= maxforce / combforce; - assert(!isnan(Fx)); - assert(!isnan(Fy)); + assert(!std::isnan(Fx)); + assert(!std::isnan(Fy)); //std::cout << "Limiting " << combforce << " to " << maxforce << std::endl; }/**/ @@ -193,14 +193,14 @@ MATHVECTOR CARTIRE::GetForce( else { Dbl scale = sqrt(1.0-(Fy/max_Fy)*(Fy/max_Fy)); - if (isnan(scale)) + if (std::isnan(scale)) Fx = 0; else Fx = Fx*scale; }/**/ - assert(!isnan(Fx)); - assert(!isnan(Fy)); + assert(!std::isnan(Fx)); + assert(!std::isnan(Fy)); /*if ( hub_velocity.Magnitude () < 0.1 ) { @@ -288,7 +288,7 @@ Dbl CARTIRE::Pacejka_Fx (Dbl sigma, Dbl Fz, Dbl fricti maxforce_output = D; - assert(!isnan(Fx)); + assert(!std::isnan(Fx)); return Fx; } @@ -299,7 +299,7 @@ Dbl CARTIRE::Pacejka_Fy (Dbl alpha, Dbl Fz, Dbl gamma, Dbl D = ( a[1]*Fz+a[2] ) *Fz*friction_coeff; Dbl B = a[3]*sin ( 2.0*atan ( Fz/a[4] ) ) * ( 1.0-a[5]*std::abs ( gamma ) ) / ( a[0]* ( a[1]*Fz+a[2] ) *Fz ); - assert(!isnan(B)); + assert(!std::isnan(B)); Dbl E = a[6]*Fz+a[7]; Dbl S = alpha + a[8]*gamma+a[9]*Fz+a[10]; Dbl Sv = ( ( a[11]*Fz+a[12] ) *gamma + a[13] ) *Fz+a[14]; @@ -309,7 +309,7 @@ Dbl CARTIRE::Pacejka_Fy (Dbl alpha, Dbl Fz, Dbl gamma, //LogO("Fy: "+fToStr(alpha,4,6)+" "+fToStr(Fz,4,6)+" "+fToStr(gamma,4,6)+" "+fToStr(friction_coeff,4,6)+" "+fToStr(maxforce_output,4,6)); - assert(!isnan(Fy)); + assert(!std::isnan(Fy)); return Fy; } @@ -327,7 +327,7 @@ Dbl CARTIRE::Pacejka_Mz (Dbl sigma, Dbl alpha, Dbl Fz, maxforce_output = D+Sv; - assert(!isnan(Mz)); + assert(!std::isnan(Mz)); return Mz; }