-// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
try {
OCC_CATCH_SIGNALS;
f = pow( 10., f );
- } catch(Standard_Failure) {
+ } catch(Standard_Failure&) {
f = 0.0;
ok = false;
}
bool FunctionTable::findBounds( const double x, int& x_ind_1, int& x_ind_2 ) const
{
- int n = myData.size() / 2;
+ int n = (int) myData.size() / 2;
if( n==0 || x<myData[0] )
{
x_ind_1 = x_ind_2 = 0;
OCC_CATCH_SIGNALS;
myExpr = ExprIntrp_GenExp::Create();
myExpr->Process( ( Standard_CString )str );
- } catch(Standard_Failure) {
+ } catch(Standard_Failure&) {
ok = false;
}
try {
OCC_CATCH_SIGNALS;
f = myExpr->Expression()->Evaluate( myVars, myValues );
- } catch(Standard_Failure) {
+ } catch(Standard_Failure&) {
f = 0.0;
ok = false;
}
( *static_cast<math_Function*>( const_cast<FunctionExpr*> (this) ), a, b, 20 );
if( _int.IsDone() )
res = _int.Value();
- } catch(Standard_Failure) {
+ } catch(Standard_Failure&) {
res = 0.0;
MESSAGE( "Exception in integral calculating" );
}
}
bool buildDistribution( const TCollection_AsciiString& f, const int conv, const double start, const double end,
- const int nbSeg, vector<double>& data, const double eps )
+ const smIdType nbSeg, vector<double>& data, const double eps )
{
FunctionExpr F( f.ToCString(), conv );
return buildDistribution( F, start, end, nbSeg, data, eps );
}
bool buildDistribution( const std::vector<double>& f, const int conv, const double start, const double end,
- const int nbSeg, vector<double>& data, const double eps )
+ const smIdType nbSeg, vector<double>& data, const double eps )
{
FunctionTable F( f, conv );
return buildDistribution( F, start, end, nbSeg, data, eps );
}
-bool buildDistribution( const Function& func, const double start, const double end, const int nbSeg,
- vector<double>& data, const double eps )
+bool buildDistribution( const Function& func, const double start, const double end,
+ const smIdType nbSeg, vector<double>& data, const double eps )
{
if( nbSeg<=0 )
return false;
data.resize( nbSeg+1 );
data[0] = start;
- double J = func.integral( start, end ) / nbSeg;
+ double J = func.integral( start, end ) / double( nbSeg );
if( J<1E-10 )
return false;
bool ok;
//MESSAGE( "distribution:" );
//char buf[1024];
- for( int i=1; i<nbSeg; i++ )
+ for( smIdType i = 1; i < nbSeg; i++ )
{
FunctionIntegral f_int( &func, data[i-1] );
data[i] = dihotomySolve( f_int, J, data[i-1], end, eps, ok );