Spreadsheet: Fix for issue #2647, stddev does not work with arrays.
This commit is contained in:
parent
a3af2902ef
commit
de27adbefa
|
@ -681,9 +681,6 @@ FunctionExpression::FunctionExpression(const DocumentObject *_owner, Function _f
|
|||
throw ExpressionError("Invalid number of arguments: eaxctly two required.");
|
||||
break;
|
||||
case STDDEV:
|
||||
if (args.size() < 2)
|
||||
throw ExpressionError("Invalid number of arguments: at least two required.");
|
||||
break;
|
||||
case SUM:
|
||||
case AVERAGE:
|
||||
case COUNT:
|
||||
|
@ -796,7 +793,7 @@ public:
|
|||
|
||||
virtual Quantity getQuantity() const {
|
||||
if (n < 2)
|
||||
return Quantity();
|
||||
throw ExpressionError("Invalid number of entries: at least two required.");
|
||||
else
|
||||
return (M2 / (n - 1.0)).pow(Quantity(0.5));
|
||||
}
|
||||
|
|
|
@ -42,6 +42,8 @@ class SpreadsheetCases(unittest.TestCase):
|
|||
sheet.set('A8', '=count(1;2;3)')
|
||||
sheet.set('A9', '=min(1;2;3)')
|
||||
sheet.set('A10', '=max(1;2;3)')
|
||||
sheet.set('A11', '=stddev(B3)')
|
||||
sheet.set('A12', '=stddev(B3:B5)')
|
||||
self.doc.recompute()
|
||||
self.assertEqual(sheet.A1, 1)
|
||||
self.assertEqual(sheet.A2, 3)
|
||||
|
@ -53,6 +55,8 @@ class SpreadsheetCases(unittest.TestCase):
|
|||
self.assertEqual(sheet.A8, 3)
|
||||
self.assertEqual(sheet.A9, 1)
|
||||
self.assertEqual(sheet.A10, 3)
|
||||
self.assertEqual(sheet.A11, u'ERR: Invalid number of entries: at least two required.')
|
||||
self.assertEqual(sheet.A12, 1)
|
||||
|
||||
def assertMostlyEqual(self, a, b):
|
||||
if type(a) is Quantity:
|
||||
|
|
Loading…
Reference in New Issue
Block a user