diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2016-05-09 21:20:37 +0200 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2016-05-09 21:20:37 +0200 |
| commit | f0ba48b629c6eefbaea4cd7b9ee35ba2aa18d865 (patch) | |
| tree | 8f7723612e0e60d39956a45e68a18455f9e1c45f | |
| parent | Add err function to write to stderr (diff) | |
| download | gensvm-f0ba48b629c6eefbaea4cd7b9ee35ba2aa18d865.tar.gz gensvm-f0ba48b629c6eefbaea4cd7b9ee35ba2aa18d865.zip | |
remove all unnecessary allocation checks
| -rw-r--r-- | src/gensvm_init.c | 129 | ||||
| -rw-r--r-- | src/gensvm_kernel.c | 25 | ||||
| -rw-r--r-- | src/gensvm_pred.c | 15 |
3 files changed, 16 insertions, 153 deletions
diff --git a/src/gensvm_init.c b/src/gensvm_init.c index 3b3f130..66cbc50 100644 --- a/src/gensvm_init.c +++ b/src/gensvm_init.c @@ -98,64 +98,15 @@ void gensvm_allocate_model(struct GenModel *model) long K = model->K; model->W = Calloc(double, m*(K-1)); - if (model->W == NULL) { - fprintf(stderr, "Failed to allocate memory for W.\n"); - exit(1); - } - model->t = Calloc(double, K-1); - if (model->t == NULL) { - fprintf(stderr, "Failed to allocate memory for t.\n"); - exit(1); - } - model->V = Calloc(double, (m+1)*(K-1)); - if (model->V == NULL) { - fprintf(stderr, "Failed to allocate memory for V.\n"); - exit(1); - } - model->Vbar = Calloc(double, (m+1)*(K-1)); - if (model->Vbar == NULL) { - fprintf(stderr, "Failed to allocate memory for Vbar.\n"); - exit(1); - } - model->U = Calloc(double, K*(K-1)); - if (model->U == NULL) { - fprintf(stderr, "Failed to allocate memory for U.\n"); - exit(1); - } - model->UU = Calloc(double, n*K*(K-1)); - if (model->UU == NULL) { - fprintf(stderr, "Failed to allocate memory for UU.\n"); - exit(1); - } - model->Q = Calloc(double, n*K); - if (model->Q == NULL) { - fprintf(stderr, "Failed to allocate memory for Q.\n"); - exit(1); - } - model->H = Calloc(double, n*K); - if (model->H == NULL) { - fprintf(stderr, "Failed to allocate memory for H.\n"); - exit(1); - } - model->R = Calloc(double, n*K); - if (model->R == NULL) { - fprintf(stderr, "Failed to allocate memory for R.\n"); - exit(1); - } - model->rho = Calloc(double, n); - if (model->rho == NULL) { - fprintf(stderr, "Failed to allocate memory for rho.\n"); - exit(1); - } } /** @@ -179,80 +130,32 @@ void gensvm_reallocate_model(struct GenModel *model, long n, long m) if (model->n == n && model->m == m) return; if (model->n != n) { - tmp = (double *) realloc(model->UU, n*K*(K-1)*sizeof(double)); - if (tmp) { - Memset(tmp, double, n*K*(K-1)); - model->UU = tmp; - } else { - fprintf(stderr, "Failed to reallocate UU\n"); - exit(1); - } + Realloc(model->UU, double, n*K*(K-1)); + Memset(tmp, double, n*K*(K-1)); - tmp = (double *) realloc(model->Q, n*K*sizeof(double)); - if (tmp) { - Memset(tmp, double, n*K); - model->Q = tmp; - } else { - fprintf(stderr, "Failed to reallocate Q\n"); - exit(1); - } + Realloc(model->Q, double, n*K); + Memset(model->Q, double, n*K); - tmp = (double *) realloc(model->H, n*K*sizeof(double)); - if (tmp) { - Memset(tmp, double, n*K); - model->H = tmp; - } else { - fprintf(stderr, "Failed to reallocate H\n"); - exit(1); - } + Realloc(model->H, double, n*K); + Memset(model->H, double, n*K); - tmp = (double *) realloc(model->R, n*K*sizeof(double)); - if (tmp) { - Memset(tmp, double, n*K); - model->R = tmp; - } else { - fprintf(stderr, "Failed to reallocate R\n"); - exit(1); - } + Realloc(model->R, double, n*K); + Memset(model->R, double, n*K); - tmp = (double *) realloc(model->rho, n*sizeof(double)); - if (tmp) { - Memset(tmp, double, n); - model->rho = tmp; - } else { - fprintf(stderr, "Failed to reallocte rho\n"); - exit(1); - } + Realloc(model->rho, double, n); + Memset(model->rho, double, n); model->n = n; } if (model->m != m) { - tmp = (double *) realloc(model->W, m*(K-1)*sizeof(double)); - if (tmp) { - Memset(tmp, double, m*(K-1)); - model->W = tmp; - } else { - fprintf(stderr, "Failed to reallocate W\n"); - exit(1); - } + Realloc(model->W, double, m*(K-1)); + Memset(model->W, double, m*(K-1)); - tmp = (double *) realloc(model->V, (m+1)*(K-1)*sizeof(double)); - if (tmp) { - Memset(tmp, double, (m+1)*(K-1)); - model->V = tmp; - } else { - fprintf(stderr, "Failed to reallocate V\n"); - exit(1); - } + Realloc(model->V, double, (m+1)*(K-1)); + Memset(model->V, double, (m+1)*(K-1)); - tmp = (double *) realloc(model->Vbar, (m+1)*(K-1)*sizeof(double)); - if (tmp) { - Memset(tmp, double, (m+1)*(K-1)); - model->Vbar = tmp; - } else { - fprintf(stderr, "Failed to reallocate Vbar\n"); - exit(1); - } + Realloc(model->Vbar, double, (m+1)*(K-1)); + Memset(model->Vbar, double, (m+1)*(K-1)); model->m = m; } diff --git a/src/gensvm_kernel.c b/src/gensvm_kernel.c index f53bcce..76413d1 100644 --- a/src/gensvm_kernel.c +++ b/src/gensvm_kernel.c @@ -43,11 +43,6 @@ void gensvm_kernel_preprocess(struct GenModel *model, struct GenData *data) // build the kernel matrix K = Calloc(double, n*n); - if (K == NULL) { - fprintf(stderr, "Failed to allocate memory for K in " - "gensvm_kernel_preprocess.\n"); - exit(1); - } gensvm_make_kernel(model, data, K); // generate the eigen decomposition @@ -295,11 +290,6 @@ void gensvm_make_trainfactor(struct GenData *data, double *P, double *Sigma, // allocate Z data->Z = Calloc(double, n*(r+1)); - if (data->Z == NULL) { - fprintf(stderr, "Failed to allocate memory for data->Z in " - "gensvm_make_trainfactor.\n"); - exit(1); - } // Write data->Z = [1 M] = [1 P*Sigma] for (i=0; i<n; i++) { @@ -328,17 +318,7 @@ void gensvm_make_testfactor(struct GenData *testdata, r = traindata->r; N = Calloc(double, n2*r); - if (N == NULL) { - fprintf(stderr, "Failed to allocate memory for N in " - "gensvm_make_testfactor.\n"); - exit(1); - } M = Calloc(double, n1*r); - if (M == NULL) { - fprintf(stderr, "Failed to allocate memory for M in " - "gensvm_make_testfactor.\n"); - exit(1); - } // copy M from traindata->Z because we need it in dgemm without column // of 1's. @@ -373,11 +353,6 @@ void gensvm_make_testfactor(struct GenData *testdata, // write N to Z with a column of ones testdata->Z = Calloc(double, n2*(r+1)); - if (testdata->Z == NULL) { - fprintf(stderr, "Failed to allocate memory for testdata->Z in " - "gensvm_make_testfactor.\n"); - exit(1); - } for (i=0; i<n2; i++) { for (j=0; j<r; j++) { matrix_set(testdata->Z, r+1, i, j+1, diff --git a/src/gensvm_pred.c b/src/gensvm_pred.c index 7835bf6..25a4cc5 100644 --- a/src/gensvm_pred.c +++ b/src/gensvm_pred.c @@ -46,23 +46,8 @@ void gensvm_predict_labels(struct GenData *testdata, struct GenModel *model, // allocate necessary memory S = Calloc(double, K-1); - if (S == NULL) { - fprintf(stderr, "Failed to allocate memory for S in " - "gensvm_predict_labels.\n"); - exit(1); - } ZV = Calloc(double, n*(K-1)); - if (ZV == NULL) { - fprintf(stderr, "Failed to allocate memory for ZV in " - "gensvm_predict_labels.\n"); - exit(1); - } U = Calloc(double, K*(K-1)); - if (U == NULL) { - fprintf(stderr, "Failed to allocate memory for U in " - "gensvm_predict_labels.\n"); - exit(1); - } // Generate the simplex matrix gensvm_simplex_gen(K, U); |
