summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/file/FNumericFunctions.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/connectivity/source/drivers/file/FNumericFunctions.cxx b/connectivity/source/drivers/file/FNumericFunctions.cxx
index cdda4387e4..b650d4d87d 100644
--- a/connectivity/source/drivers/file/FNumericFunctions.cxx
+++ b/connectivity/source/drivers/file/FNumericFunctions.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: FNumericFunctions.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: obo $ $Date: 2003-09-04 08:25:12 $
+ * last change: $Author: obo $ $Date: 2004-03-15 12:46:43 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -142,11 +142,14 @@ ORowSetValue OOp_Exp::operate(const ORowSetValue& lhs) const
// -----------------------------------------------------------------------------
ORowSetValue OOp_Ln::operate(const ORowSetValue& lhs) const
{
- if ( lhs.isNull() )
+ if ( lhs.isNull() || static_cast<double>(lhs) < 0.0 )
return lhs;
double nVal(lhs);
- return log(nVal);
+ nVal = log(nVal);
+ if ( rtl::math::isNan(nVal) )
+ return ORowSetValue();
+ return nVal;
}
// -----------------------------------------------------------------------------
ORowSetValue OOp_Log::operate(const ::std::vector<ORowSetValue>& lhs) const