summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKMG <kmgreen2@gmail.com>2014-12-29 03:26:01 +0000
committerKMG <kmgreen2@gmail.com>2014-12-29 03:26:01 +0000
commitff7032153ea230fb59596f1f8a0e9ad8653addfb (patch)
treee2437f9abe263cd2340eac5fb42e9c21c6c51cb1
parent7313600fc1c63234b51413721afaafedd36359c4 (diff)
parent9f580be227ab52566a0ad9f1f823208b765362d3 (diff)
downloadjerasure-ff7032153ea230fb59596f1f8a0e9ad8653addfb.tar.gz
Merge branch 'wip-exit-v2' into 'v2'v2.0
exit v2 See merge request !1
-rw-r--r--src/galois.c31
-rw-r--r--src/jerasure.c13
-rw-r--r--src/reed_sol.c9
3 files changed, 28 insertions, 25 deletions
diff --git a/src/galois.c b/src/galois.c
index 95d72bc..82702db 100644
--- a/src/galois.c
+++ b/src/galois.c
@@ -48,6 +48,7 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
+#include <assert.h>
#include "galois.h"
@@ -78,25 +79,25 @@ gf_t* galois_init_field(int w,
if (w <= 0 || w > 32) {
fprintf(stderr, "ERROR -- cannot init default Galois field for w=%d\n", w);
- exit(1);
+ assert(0);
}
gfp = (gf_t *) malloc(sizeof(gf_t));
if (!gfp) {
fprintf(stderr, "ERROR -- cannot allocate memory for Galois field w=%d\n", w);
- exit(1);
+ assert(0);
}
scratch_size = gf_scratch_size(w, mult_type, region_type, divide_type, arg1, arg2);
if (!scratch_size) {
fprintf(stderr, "ERROR -- cannot get scratch size for base field w=%d\n", w);
- exit(1);
+ assert(0);
}
scratch_memory = malloc(scratch_size);
if (!scratch_memory) {
fprintf(stderr, "ERROR -- cannot get scratch memory for base field w=%d\n", w);
- exit(1);
+ assert(0);
}
if(!gf_init_hard(gfp,
@@ -111,7 +112,7 @@ gf_t* galois_init_field(int w,
scratch_memory))
{
fprintf(stderr, "ERROR -- cannot init default Galois field for w=%d\n", w);
- exit(1);
+ assert(0);
}
gfp_is_composite[w] = 0;
@@ -130,25 +131,25 @@ gf_t* galois_init_composite_field(int w,
if (w <= 0 || w > 32) {
fprintf(stderr, "ERROR -- cannot init composite field for w=%d\n", w);
- exit(1);
+ assert(0);
}
gfp = (gf_t *) malloc(sizeof(gf_t));
if (!gfp) {
fprintf(stderr, "ERROR -- cannot allocate memory for Galois field w=%d\n", w);
- exit(1);
+ assert(0);
}
scratch_size = gf_scratch_size(w, GF_MULT_COMPOSITE, region_type, divide_type, degree, 0);
if (!scratch_size) {
fprintf(stderr, "ERROR -- cannot get scratch size for composite field w=%d\n", w);
- exit(1);
+ assert(0);
}
scratch_memory = malloc(scratch_size);
if (!scratch_memory) {
fprintf(stderr, "ERROR -- cannot get scratch memory for composite field w=%d\n", w);
- exit(1);
+ assert(0);
}
if(!gf_init_hard(gfp,
@@ -163,7 +164,7 @@ gf_t* galois_init_composite_field(int w,
scratch_memory))
{
fprintf(stderr, "ERROR -- cannot init default composite field for w=%d\n", w);
- exit(1);
+ assert(0);
}
gfp_is_composite[w] = 1;
return gfp;
@@ -185,17 +186,17 @@ static void galois_init(int w)
{
if (w <= 0 || w > 32) {
fprintf(stderr, "ERROR -- cannot init default Galois field for w=%d\n", w);
- exit(1);
+ assert(0);
}
switch (galois_init_default_field(w)) {
case ENOMEM:
fprintf(stderr, "ERROR -- cannot allocate memory for Galois field w=%d\n", w);
- exit(1);
+ assert(0);
break;
case EINVAL:
fprintf(stderr, "ERROR -- cannot init default Galois field for w=%d\n", w);
- exit(1);
+ assert(0);
break;
}
}
@@ -234,12 +235,12 @@ void galois_change_technique(gf_t *gf, int w)
{
if (w <= 0 || w > 32) {
fprintf(stderr, "ERROR -- cannot support Galois field for w=%d\n", w);
- exit(1);
+ assert(0);
}
if (!is_valid_gf(gf, w)) {
fprintf(stderr, "ERROR -- overriding with invalid Galois field for w=%d\n", w);
- exit(1);
+ assert(0);
}
if (gfp_array[w] != NULL) {
diff --git a/src/jerasure.c b/src/jerasure.c
index bb577af..4297653 100644
--- a/src/jerasure.c
+++ b/src/jerasure.c
@@ -47,6 +47,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <assert.h>
#include "galois.h"
#include "jerasure.h"
@@ -303,7 +304,7 @@ void jerasure_matrix_encode(int k, int m, int w, int *matrix,
if (w != 8 && w != 16 && w != 32) {
fprintf(stderr, "ERROR: jerasure_matrix_encode() and w is not 8, 16 or 32\n");
- exit(1);
+ assert(0);
}
for (i = 0; i < m; i++) {
@@ -320,7 +321,7 @@ void jerasure_bitmatrix_dotprod(int k, int w, int *bitmatrix_row,
if (size%(w*packetsize) != 0) {
fprintf(stderr, "jerasure_bitmatrix_dotprod - size%c(w*packetsize)) must = 0\n", '%');
- exit(1);
+ assert(0);
}
bpptr = (dest_id < k) ? data_ptrs[dest_id] : coding_ptrs[dest_id-k];
@@ -559,7 +560,7 @@ void jerasure_free_schedule_cache(int k, int m, int ***cache)
if (m != 2) {
fprintf(stderr, "jerasure_free_schedule_cache(): m must equal 2\n");
- exit(1);
+ assert(0);
}
for (e1 = 0; e1 < k+m; e1++) {
@@ -581,7 +582,7 @@ void jerasure_matrix_dotprod(int k, int w, int *matrix_row,
if (w != 1 && w != 8 && w != 16 && w != 32) {
fprintf(stderr, "ERROR: jerasure_matrix_dotprod() called and w is not 1, 8, 16 or 32\n");
- exit(1);
+ assert(0);
}
init = 0;
@@ -1359,12 +1360,12 @@ void jerasure_bitmatrix_encode(int k, int m, int w, int *bitmatrix,
if (packetsize%sizeof(long) != 0) {
fprintf(stderr, "jerasure_bitmatrix_encode - packetsize(%d) %c sizeof(long) != 0\n", packetsize, '%');
- exit(1);
+ assert(0);
}
if (size%(packetsize*w) != 0) {
fprintf(stderr, "jerasure_bitmatrix_encode - size(%d) %c (packetsize(%d)*w(%d))) != 0\n",
size, '%', packetsize, w);
- exit(1);
+ assert(0);
}
for (i = 0; i < m; i++) {
diff --git a/src/reed_sol.c b/src/reed_sol.c
index c0dfe83..82edacb 100644
--- a/src/reed_sol.c
+++ b/src/reed_sol.c
@@ -47,6 +47,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <assert.h>
#include <gf_complete.h>
#include "galois.h"
@@ -107,7 +108,7 @@ void reed_sol_galois_w08_region_multby_2(char *region, int nbytes)
if (!gf_init_hard(&GF08, 8, GF_MULT_BYTWO_b, GF_REGION_DEFAULT, GF_DIVIDE_DEFAULT,
prim08, 0, 0, NULL, NULL)) {
fprintf(stderr, "Error: Can't initialize the GF for reed_sol_galois_w08_region_multby_2\n");
- exit(1);
+ assert(0);
}
}
GF08.multiply_region.w32(&GF08, region, region, 2, nbytes, 0);
@@ -123,7 +124,7 @@ void reed_sol_galois_w16_region_multby_2(char *region, int nbytes)
if (!gf_init_hard(&GF16, 16, GF_MULT_BYTWO_b, GF_REGION_DEFAULT, GF_DIVIDE_DEFAULT,
prim16, 0, 0, NULL, NULL)) {
fprintf(stderr, "Error: Can't initialize the GF for reed_sol_galois_w16_region_multby_2\n");
- exit(1);
+ assert(0);
}
}
GF16.multiply_region.w32(&GF16, region, region, 2, nbytes, 0);
@@ -139,7 +140,7 @@ void reed_sol_galois_w32_region_multby_2(char *region, int nbytes)
if (!gf_init_hard(&GF32, 32, GF_MULT_BYTWO_b, GF_REGION_DEFAULT, GF_DIVIDE_DEFAULT,
prim32, 0, 0, NULL, NULL)) {
fprintf(stderr, "Error: Can't initialize the GF for reed_sol_galois_w32_region_multby_2\n");
- exit(1);
+ assert(0);
}
}
GF32.multiply_region.w32(&GF32, region, region, 2, nbytes, 0);
@@ -223,7 +224,7 @@ int *reed_sol_big_vandermonde_distribution_matrix(int rows, int cols, int w)
if (j >= rows) { /* This should never happen if rows/w are correct */
fprintf(stderr, "reed_sol_big_vandermonde_distribution_matrix(%d,%d,%d) - couldn't make matrix\n",
rows, cols, w);
- exit(1);
+ assert(0);
}
/* If necessary, swap rows */