diff options
| -rw-r--r-- | R/Makefile | 7 | ||||
| -rw-r--r-- | R/lossdistrib.c | 10 |
2 files changed, 10 insertions, 7 deletions
@@ -1,5 +1,8 @@ +CC=gcc +CFLAGS=-O2 -march=native + lossdistrib.so: lossdistrib.o - gcc -shared -o lossdistrib.so lossdistrib.o -L/usr/lib/R/lib -lR -llapack -lblas + $(CC) $(CFLAGS) -shared -o lossdistrib.so lossdistrib.o -L/usr/lib/R/lib -lR -llapack -lblas lossdistrib.o: lossdistrib.c - gcc -I/usr/include/R -fopenmp -fpic -c lossdistrib.c + $(CC) $(CFLAGS) -Wall -I/usr/include/R -fopenmp -fpic -c lossdistrib.c diff --git a/R/lossdistrib.c b/R/lossdistrib.c index 74689653..75929d51 100644 --- a/R/lossdistrib.c +++ b/R/lossdistrib.c @@ -189,7 +189,7 @@ void lossdistrib_truncated(double *p, int *np, double *w, double *S, int *N, q the loss distribution */
int i, j, d1, d2, M;
- double lu, d, p1, p2, sum;
+ double lu, d, p1, p2;
double *q1, *q2;
lu = 1./(*N-1);
@@ -665,7 +665,7 @@ void fitprob(double* Z, double* w, int* nZ, double* rho, double* p0, double* res }
*result = p;
}
- free(q);
+ Free(q);
}
void stochasticrecov(double* R, double* Rtilde, double* Z, double* w, int* nZ,
@@ -788,7 +788,7 @@ void BClossdist(double *defaultprob, int *dim1, int *dim2, g = defaultprob[j + (*dim1) * t];
gshocked[j+(*dim1)*i] = shockprob(g, rho[j], Z[i], 0);
Sshocked[j+(*dim1)*i] = shockseverity(1-recov[j], Z[i], rho[j], g);
- Rshocked[j+(*dim1)*i] = 1 - Sshocked[j];
+ Rshocked[j+(*dim1)*i] = 1 - Sshocked[j+(*dim1)*i];
}
lossdistrib_blas(gshocked + (*dim1) * i, dim1, issuerweights, Sshocked + (*dim1)*i, N, defaultflag,
Lw + i * (*N));
@@ -801,6 +801,6 @@ void BClossdist(double *defaultprob, int *dim1, int *dim2, Free(gshocked);
Free(Rshocked);
Free(Sshocked);
- free(Lw);
- free(Rw);
+ Free(Lw);
+ Free(Rw);
}
|
