From 34a4f0125e1e56390e025381f10f28a2d3b7ea4a Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Fri, 31 Mar 2017 18:01:43 -0400 Subject: try to fix lossdistrib_joint_Z --- src/lossdistrib.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/lossdistrib.c b/src/lossdistrib.c index 35720ea..b1b78c4 100644 --- a/src/lossdistrib.c +++ b/src/lossdistrib.c @@ -414,15 +414,15 @@ void lossdistrib_joint_Z(const double *dp, const double *pp, const int *ndp, double *q) { int N2 = (*N) * (*N); - double* qmat = malloc(sizeof(double) * N2 * (*nZ)); + double* qmat = calloc(N2 * (*nZ), sizeof(double)); const double alpha = 1; const double beta = 0; - #pragma omp parallel for for(int i = 0; i < *nZ; i++){ double* dpshocked = malloc(sizeof(double) * (*ndp)); - double* ppshocked = 0; + double* Sshocked = malloc(sizeof(double) * (*ndp)); + double* ppshocked = NULL; if(pp) { ppshocked = malloc(sizeof(double) * (*ndp)); } @@ -431,11 +431,13 @@ void lossdistrib_joint_Z(const double *dp, const double *pp, const int *ndp, if(pp) { ppshocked[j] = shockprob(pp[j], rho[j], -Z[i], 0); } + Sshocked[j] = shockseverity(S[j], Z[i], rho[j], dp[j]); } - lossdistrib_joint(dpshocked, ppshocked, ndp, w, S + (*ndp) * i, + lossdistrib_joint(dpshocked, ppshocked, ndp, w, Sshocked, N, defaultflag, qmat + N2 * i); free(dpshocked); + free(Sshocked); if(pp) { free(ppshocked); } -- cgit v1.2.3-70-g09d2