Salome HOME
Fix for Bug IPAL11055:
authorenk <enk@opencascade.com>
Tue, 21 Mar 2006 07:24:22 +0000 (07:24 +0000)
committerenk <enk@opencascade.com>
Tue, 21 Mar 2006 07:24:22 +0000 (07:24 +0000)
It is impossible to input negative value as f(t) in table function.

src/StdMeshers/StdMeshers_Distribution.cxx

index 1223fc0..5b0416d 100644 (file)
@@ -122,10 +122,11 @@ double FunctionTable::integral( const int i ) const
 
 double FunctionTable::integral( const int i, const double d ) const
 {
 
 double FunctionTable::integral( const int i, const double d ) const
 {
-  double f, res = 0.0;
-  if( value( myData[2*i]+d, f ) )
-    res = ( myData[2*i+1] + f ) / 2.0 * d;
-
+  double f1,f2, res = 0.0;
+  if( value( myData[2*i]+d, f1 ) )
+    if(!value(myData[2*i], f2))
+      f2 = myData[2*i+1];
+  res = (f2+f1) * d / 2.0;
   return res;
 }
 
   return res;
 }