projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed a crash in REGRESSION when there were no non-missing values.
[pspp]
/
src
/
language
/
stats
/
regression.q
diff --git
a/src/language/stats/regression.q
b/src/language/stats/regression.q
index c41f9e7895e7e05595331b767994a725cf417914..4ef12c98479ec2aac3b0711aaedef9a7410899c5 100644
(file)
--- a/
src/language/stats/regression.q
+++ b/
src/language/stats/regression.q
@@
-792,6
+792,7
@@
identify_indep_vars (const struct variable **indep_vars,
}
return n_indep_vars;
}
}
return n_indep_vars;
}
+
static double
fill_covariance (gsl_matrix *cov, struct covariance *all_cov,
const struct variable **vars,
static double
fill_covariance (gsl_matrix *cov, struct covariance *all_cov,
const struct variable **vars,
@@
-804,12
+805,15
@@
fill_covariance (gsl_matrix *cov, struct covariance *all_cov,
size_t dep_subscript;
size_t *rows;
const gsl_matrix *ssizes;
size_t dep_subscript;
size_t *rows;
const gsl_matrix *ssizes;
- gsl_matrix *cm;
const gsl_matrix *mean_matrix;
const gsl_matrix *ssize_matrix;
double result = 0.0;
const gsl_matrix *mean_matrix;
const gsl_matrix *ssize_matrix;
double result = 0.0;
- cm = covariance_calculate_unnormalized (all_cov);
+ gsl_matrix *cm = covariance_calculate_unnormalized (all_cov);
+
+ if ( cm == NULL)
+ return 0;
+
rows = xnmalloc (cov->size1 - 1, sizeof (*rows));
for (i = 0; i < n_all_vars; i++)
rows = xnmalloc (cov->size1 - 1, sizeof (*rows));
for (i = 0; i < n_all_vars; i++)