mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Optimize charset union operator
* libguile/srfi-14.c (charsets_union): call scm_i_charset_set_range instead of setting characters one-by-one.
This commit is contained in:
parent
f4cdfe6140
commit
aff31b0f99
1 changed files with 2 additions and 4 deletions
|
@ -399,7 +399,7 @@ static void
|
|||
charsets_union (scm_t_char_set *a, scm_t_char_set *b)
|
||||
{
|
||||
size_t i = 0;
|
||||
scm_t_wchar blo, bhi, n;
|
||||
scm_t_wchar blo, bhi;
|
||||
|
||||
if (b->len == 0)
|
||||
return;
|
||||
|
@ -413,13 +413,11 @@ charsets_union (scm_t_char_set *a, scm_t_char_set *b)
|
|||
return;
|
||||
}
|
||||
|
||||
/* This needs optimization. */
|
||||
while (i < b->len)
|
||||
{
|
||||
blo = b->ranges[i].lo;
|
||||
bhi = b->ranges[i].hi;
|
||||
for (n = blo; n <= bhi; n++)
|
||||
scm_i_charset_set (a, n);
|
||||
scm_i_charset_set_range (a, blo, bhi);
|
||||
|
||||
i++;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue