[gnumeric] Fix non-label 2-factor analysis with replication



commit bc35fd28337da3c98d81e3792e722da681baae53
Author: Andreas J. Guelzow <aguelzow pyrshep ca>
Date:   Mon Aug 3 08:30:29 2009 -0600

    Fix non-label 2-factor analysis with replication
    
    2009-08-03 Andreas J. Guelzow <aguelzow pyrshep ca>
    
    	* analysis-anova.c (analysis_tool_anova_two_factor_engine_run):
    	  fix erroneous vertical offset in non-label analysis

 src/tools/ChangeLog        |    5 +++++
 src/tools/analysis-anova.c |    8 ++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/src/tools/ChangeLog b/src/tools/ChangeLog
index fd1aab6..72b307c 100644
--- a/src/tools/ChangeLog
+++ b/src/tools/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-03 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+	* analysis-anova.c (analysis_tool_anova_two_factor_engine_run):
+	  fix erroneous vertical offset in non-label analysis
+
 2009-08-01 Andreas J. Guelzow <aguelzow pyrshep ca>
 
 	* analysis-histogram.c (make_hist_expr): only free expr_data
diff --git a/src/tools/analysis-anova.c b/src/tools/analysis-anova.c
index 4c15929..08cf3c3 100644
--- a/src/tools/analysis-anova.c
+++ b/src/tools/analysis-anova.c
@@ -478,7 +478,7 @@ analysis_tool_anova_two_factor_engine_run (data_analysis_output_t *dao,
 
 	r = 3;
 	for (i = 1; i <= info->n_r; i++, r += 6) {
-		int level_start =  (i-1)*info->replication + 1;
+		int level_start =  (i-1)*info->replication + (info->labels) ? 1 : 0;
 
 		dao_set_italic (dao, 0, r, 0, r+4);
 		if (info->labels) {
@@ -542,7 +542,7 @@ analysis_tool_anova_two_factor_engine_run (data_analysis_output_t *dao,
 		expr_source =  gnm_expr_new_funcall5
 			(fd_offset,
 			 gnm_expr_new_constant (value_dup (info->input)),
-			 gnm_expr_new_constant (value_new_int (1)),
+			 gnm_expr_new_constant (value_new_int ((info->labels) ? 1 : 0)),
 			 gnm_expr_new_constant (value_new_int ((info->labels) ? k : (k - 1))),
 			 gnm_expr_new_constant (value_new_int (info->replication * info->n_r)),
 			 gnm_expr_new_constant (value_new_int (1)));
@@ -562,8 +562,8 @@ analysis_tool_anova_two_factor_engine_run (data_analysis_output_t *dao,
 	expr_source =  gnm_expr_new_funcall5
 		(fd_offset,
 		 gnm_expr_new_constant (value_dup (info->input)),
-		 gnm_expr_new_constant (value_new_int (1)),
-		 gnm_expr_new_constant (value_new_int ((info->labels) ? 1 : (0))),
+		 gnm_expr_new_constant (value_new_int ((info->labels) ? 1 : 0)),
+		 gnm_expr_new_constant (value_new_int ((info->labels) ? 1 : 0)),
 		 gnm_expr_new_constant (value_new_int (info->replication * info->n_r)),
 		 gnm_expr_new_constant (value_new_int (info->n_c)));
 	expr_total_count = gnm_expr_new_funcall1 (fd_count, gnm_expr_copy (expr_source));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]