#else
CASCatch_TRY {
#endif
- f = pow( 10, f );
+ f = pow( 10., f );
#ifdef NO_CAS_CATCH
} catch(Standard_Failure) {
#else
if( !findBounds( t, i1, i2 ) )
return false;
+ if( i1==i2 ) {
+ f = myData[ 2*i1+1 ];
+ Function::value( t, f );
+ return true;
+ }
+
double
x1 = myData[2*i1], y1 = myData[2*i1+1],
x2 = myData[2*i2], y2 = myData[2*i2+1];
{
double f1,f2, res = 0.0;
if( value( myData[2*i]+d, f1 ) )
- if(!value(myData[2*i], f2))
+ if(!value(myData[2*i], f2)) {
f2 = myData[2*i+1];
+ Function::value( 1, f2 );
+ }
res = (f2+f1) * d / 2.0;
return res;
}
}
for( int i=0; i<n-1; i++ )
- if( myData[2*i]<=x && x<=myData[2*(i+1)] )
+ if( myData[2*i]<=x && x<myData[2*(i+1)] )
{
x_ind_1 = i;
x_ind_2 = i+1;
}
x_ind_1 = n-1;
x_ind_2 = n-1;
- return false;
+ return ( fabs( x - myData[2*x_ind_2] ) < 1.e-10 );
}
FunctionExpr::FunctionExpr( const char* str, const int conv )
{
}
-Standard_Boolean FunctionExpr::Value( Standard_Real T, Standard_Real& F )
+Standard_Boolean FunctionExpr::Value( const Standard_Real T, Standard_Real& F )
{
double f;
Standard_Boolean res = value( T, f );