diff options
| author | Tyge Løvset <[email protected]> | 2020-12-30 14:23:23 +0100 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2020-12-30 14:23:23 +0100 |
| commit | 9b2e35df109264cc2a2ca5ccc34f80eb95aa5bd7 (patch) | |
| tree | 8ac997cea96d4bc260ea5b8885abefab48e6a6fc /stc | |
| parent | 2b46410ef5bb28c4551cdd422c5e22731bd6b610 (diff) | |
| download | STC-modified-9b2e35df109264cc2a2ca5ccc34f80eb95aa5bd7.tar.gz STC-modified-9b2e35df109264cc2a2ca5ccc34f80eb95aa5bd7.zip | |
Some more opts.
Diffstat (limited to 'stc')
| -rw-r--r-- | stc/cdeq.h | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -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 \
|
