X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6bc64765f773ce75454ec1592a86779e3547fe46..459e594901d02a6f879f07a39cc698ce678aefb6:/sbr/vector.c diff --git a/sbr/vector.c b/sbr/vector.c index 10058d4d..132c7b82 100644 --- a/sbr/vector.c +++ b/sbr/vector.c @@ -46,8 +46,11 @@ static void bvector_resize (bvector_t, size_t); bvector_t bvector_create (size_t init_size) { - bvector_t vec = mh_xmalloc (sizeof *vec); - size_t bytes = BVEC_BYTES (vec, init_size ? init_size : VEC_INIT_SIZE); + bvector_t vec; + size_t bytes; + + NEW(vec); + bytes = BVEC_BYTES (vec, init_size ? init_size : VEC_INIT_SIZE); vec->bits = mh_xmalloc (bytes); memset (vec->bits, 0, bytes); @@ -77,7 +80,8 @@ bvector_clear (bvector_t vec, size_t n) { size_t word = BVEC_WORD (vec,n); size_t offset = BVEC_OFFSET (vec, n); - if (n >= vec->maxsize) bvector_resize (vec, n); + if (n >= vec->maxsize) + bvector_resize (vec, n); assert (sizeof *vec->bits <= sizeof 1ul); vec->bits[word] &= ~(1ul << offset); @@ -95,7 +99,8 @@ bvector_set (bvector_t vec, size_t n) { size_t word = BVEC_WORD (vec, n); size_t offset = BVEC_OFFSET (vec, n); - if (n >= vec->maxsize) bvector_resize (vec, n); + if (n >= vec->maxsize) + bvector_resize (vec, n); assert (sizeof *vec->bits <= sizeof 1ul); vec->bits[word] |= 1ul << offset; } @@ -117,10 +122,12 @@ bvector_resize (bvector_t vec, size_t maxsize) { size_t bytes; size_t i; - while ((vec->maxsize *= 2) < maxsize) continue; + while ((vec->maxsize *= 2) < maxsize) + ; bytes = BVEC_BYTES (vec, vec->maxsize); vec->bits = mh_xrealloc (vec->bits, bytes); - for (i = old_maxsize; i < vec->maxsize; ++i) bvector_clear (vec, i); + for (i = old_maxsize; i < vec->maxsize; ++i) + bvector_clear (vec, i); } const unsigned long * @@ -144,9 +151,10 @@ static void svector_resize (svector_t, size_t); svector_t svector_create (size_t init_size) { - svector_t vec = mh_xmalloc (sizeof *vec); + svector_t vec; size_t bytes; + NEW(vec); vec->maxsize = init_size ? init_size : VEC_INIT_SIZE; bytes = vec->maxsize * sizeof (char *); vec->strs = mh_xmalloc (bytes); @@ -164,13 +172,15 @@ svector_free (svector_t vec) { char * svector_push_back (svector_t vec, char *s) { - if (++vec->size >= vec->maxsize) svector_resize (vec, vec->size); + if (++vec->size >= vec->maxsize) + svector_resize (vec, vec->size); return vec->strs[vec->size-1] = s; } char * svector_at (svector_t vec, size_t i) { - if (i >= vec->maxsize) svector_resize (vec, i); + if (i >= vec->maxsize) + svector_resize (vec, i); return vec->strs[i]; } @@ -207,9 +217,11 @@ svector_resize (svector_t vec, size_t maxsize) { size_t old_maxsize = vec->maxsize; size_t i; - while ((vec->maxsize *= 2) < maxsize) continue; + while ((vec->maxsize *= 2) < maxsize) + ; vec->strs = mh_xrealloc (vec->strs, vec->maxsize * sizeof (char *)); - for (i = old_maxsize; i < vec->maxsize; ++i) vec->strs[i] = NULL; + for (i = old_maxsize; i < vec->maxsize; ++i) + vec->strs[i] = NULL; } @@ -223,9 +235,10 @@ static void ivector_resize (ivector_t, size_t); ivector_t ivector_create (size_t init_size) { - ivector_t vec = mh_xmalloc (sizeof *vec); + ivector_t vec; size_t bytes; + NEW(vec); vec->maxsize = init_size ? init_size : VEC_INIT_SIZE; bytes = vec->maxsize * sizeof (int); vec->ints = mh_xmalloc (bytes); @@ -243,19 +256,22 @@ ivector_free (ivector_t vec) { int ivector_push_back (ivector_t vec, int n) { - if (++vec->size >= vec->maxsize) ivector_resize (vec, vec->size); + if (++vec->size >= vec->maxsize) + ivector_resize (vec, vec->size); return vec->ints[vec->size-1] = n; } int ivector_at (ivector_t vec, size_t i) { - if (i >= vec->maxsize) ivector_resize (vec, i); + if (i >= vec->maxsize) + ivector_resize (vec, i); return vec->ints[i]; } int * ivector_atp (ivector_t vec, size_t i) { - if (i >= vec->maxsize) ivector_resize (vec, i); + if (i >= vec->maxsize) + ivector_resize (vec, i); return &vec->ints[i]; } @@ -269,7 +285,9 @@ ivector_resize (ivector_t vec, size_t maxsize) { size_t old_maxsize = vec->maxsize; size_t i; - while ((vec->maxsize *= 2) < maxsize) continue; + while ((vec->maxsize *= 2) < maxsize) + ; vec->ints = mh_xrealloc (vec->ints, vec->maxsize * sizeof (int)); - for (i = old_maxsize; i < vec->maxsize; ++i) vec->ints[i] = 0; + for (i = old_maxsize; i < vec->maxsize; ++i) + vec->ints[i] = 0; }