From 9b2e35df109264cc2a2ca5ccc34f80eb95aa5bd7 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Wed, 30 Dec 2020 14:23:23 +0100 Subject: Some more opts. --- stc/cdeq.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'stc') diff --git a/stc/cdeq.h b/stc/cdeq.h index 8f621f18..98d2e608 100644 --- a/stc/cdeq.h +++ b/stc/cdeq.h @@ -236,8 +236,8 @@ size_t nfront = self->data - self->base, nback = cap - (nfront + len); \ if (at_front && nfront >= n || !at_front && nback >= n) \ return; \ - if ((len + n)*1.1 > cap) { \ - cap = (len + n + 6)*2; \ + if ((len + n)*1.3 > cap) { \ + cap = (len + n + 6)*1.8; \ size_t* rep = (size_t *) c_realloc(_cdeq_alloced(self->base), 2*sizeof(size_t) + cap*sizeof(Value)); \ rep[0] = len, rep[1] = cap; \ self->base = (cdeq_##X##_value_t *) (rep + 2); \ @@ -245,10 +245,9 @@ return _cdeq_##X##_expand(self, n, at_front); \ } \ size_t unused = cap - (len + n); \ - size_t pos = at_front ? c_maxf(unused*0.6, (float) unused - nback) + n \ - : c_minf(unused*0.4, nfront); \ - memmove(self->base + pos, self->data, len*sizeof(Value)); \ - self->data = self->base + pos; \ + size_t pos = at_front ? c_maxf(unused*0.5, (float) unused - nback) + n \ + : c_minf(unused*0.5, nfront); \ + self->data = (cdeq_##X##_value_t *) memmove(self->base + pos, self->data, len*sizeof(Value)); \ } \ \ STC_DEF void \ -- cgit v1.2.3