[gnumeric] PERCENTRANK: Fix error return for empty dataset.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] PERCENTRANK: Fix error return for empty dataset.
- Date: Thu, 28 Jan 2016 17:20:57 +0000 (UTC)
commit d2b547eec86624e0955dda0fe55f5654b636451a
Author: Morten Welinder <terra gnome org>
Date: Thu Jan 28 12:20:34 2016 -0500
PERCENTRANK: Fix error return for empty dataset.
plugins/fn-stat/ChangeLog | 5 +++++
plugins/fn-stat/functions.c | 11 ++++++++++-
2 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/plugins/fn-stat/ChangeLog b/plugins/fn-stat/ChangeLog
index fc12b47..752fdb4 100644
--- a/plugins/fn-stat/ChangeLog
+++ b/plugins/fn-stat/ChangeLog
@@ -1,3 +1,8 @@
+2016-01-28 Morten Welinder <terra gnome org>
+
+ * functions.c (gnumeric_percentrank): Return #NUM for empty
+ dataset as per docs. Keep #NA for out-of-range.
+
2015-12-28 Morten Welinder <terra gnome org>
* Release 1.12.26
diff --git a/plugins/fn-stat/functions.c b/plugins/fn-stat/functions.c
index 777e385..584f1a0 100644
--- a/plugins/fn-stat/functions.c
+++ b/plugins/fn-stat/functions.c
@@ -2867,6 +2867,11 @@ gnumeric_percentrank (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
if (result)
goto done;
+ if (n == 0) {
+ result = value_new_error_NUM (ei->pos);
+ goto done;
+ }
+
n_equal = n_smaller = n_larger = 0;
x_larger = x_smaller = 42;
for (i = 0; i < n; i++) {
@@ -2966,6 +2971,11 @@ gnumeric_percentrank_exc (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
if (result)
goto done;
+ if (n == 0) {
+ result = value_new_error_NUM (ei->pos);
+ goto done;
+ }
+
n_equal = n_smaller = n_larger = 0;
x_larger = x_smaller = 42;
for (i = 0; i < n; i++) {
@@ -3004,7 +3014,6 @@ gnumeric_percentrank_exc (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
goto done;
}
-
if (n_equal > 0)
r = (n_smaller + 1) / (gnm_float)(n + 1);
else {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]