diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-06-15 00:27:50 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-06-15 00:27:50 -0700 |
commit | 3f87793404053b98fe0f6a20fafaf7e841f23f71 (patch) | |
tree | d7262e22b49b76c1ab7131af1087db96814be6f3 /lib.c | |
parent | 2f2126e0e8b67b63c08ad2d86e07f076233bb2bb (diff) | |
download | txr-3f87793404053b98fe0f6a20fafaf7e841f23f71.tar.gz txr-3f87793404053b98fe0f6a20fafaf7e841f23f71.tar.bz2 txr-3f87793404053b98fe0f6a20fafaf7e841f23f71.zip |
Replace lt(x, zero) pattern.
This slight inefficiency occurs in some 37 places in the code.
In most places we replace lt(x, zero) with minusp(x).
In a few places, !plusp(x) is used and surrounding logic is
simplified. In one case, the silly pattern
lt(x, zero) ? t : nil is replaced with just minusp(x).
* buf.c (sub_buf, replace_buf): Replace lt.
* combi.c (perm, rperm, comb, rcomb): Likewise.
* eval.c (do_format_field): Likewise.
* lib.c (listref, sub_list, replace_list, split_func,
split_star_func, match_str, lazy_sub-str, sub_str,
replace_str, sub_vec, replace_vec): Likewise.
* match.c (weird_merge): Likewise.
* regex.c (match_regex, match_regex_right_old,
match_regex_right, regex_prefix_match, regex_range_left,
regex_range_right): Likewise.
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 38 |
1 files changed, 19 insertions, 19 deletions
@@ -791,9 +791,9 @@ val lazy_conses(val list) val listref(val list, val ind) { gc_hint(list); - if (lt(ind, zero)) { + if (minusp(ind)) { ind = plus(ind, length_list(list)); - if (lt(ind, zero)) + if (minusp(ind)) return nil; } for (; gt(ind, zero); ind = minus(ind, one)) @@ -1375,7 +1375,7 @@ val sub_list(val list, val from, val to) from = zero; else if (from == t) from = nil; - else if (lt(from, zero)) { + else if (minusp(from)) { from = plus(from, len = length(list)); if (to == zero) to = nil; @@ -1383,7 +1383,7 @@ val sub_list(val list, val from, val to) if (to == t || null_or_missing_p(to)) to = nil; - else if (!null_or_missing_p(to) && lt(to, zero)) + else if (!null_or_missing_p(to) && minusp(to)) to = plus(to, if3(len, len, len = length(list))); gc_hint(list); @@ -1455,7 +1455,7 @@ val replace_list(val list, val items, val from, val to) } return list; - } else if (lt(from, zero)) { + } else if (minusp(from)) { from = plus(from, len ? len : (len = length(list))); if (to == zero) to = len; @@ -1463,7 +1463,7 @@ val replace_list(val list, val items, val from, val to) if (to == t || null_or_missing_p(to)) to = nil; - if (to && lt(to, zero)) + if (to && minusp(to)) to = plus(to, len ? len : (len = length(list))); gc_hint(list); @@ -2401,7 +2401,7 @@ static val split_func(val base, val lcons) raw_index); val index_rebased = minus(index, base); - if (lt(index_rebased, zero)) { + if (minusp(index_rebased)) { continue; } else { val first = sub(seq, zero, index_rebased); @@ -2441,7 +2441,7 @@ static val split_star_func(val base, val lcons) raw_index); val index_rebased = minus(index, base); - if (lt(index_rebased, zero)) { + if (minusp(index_rebased)) { continue; } else { val first = sub(seq, zero, index_rebased); @@ -3628,7 +3628,7 @@ val match_str(val bigstr, val str, val pos) return nil; } - return lt(i, zero) ? t : nil; + return minusp(i); } } @@ -3664,7 +3664,7 @@ static val lazy_sub_str(val lstr, val from, val to) } else if (from == t) { return null_string; } else { - if (lt(from, zero)) { + if (minusp(from)) { from = plus(from, len = length_str(lstr)); from = max2(zero, from); @@ -3681,7 +3681,7 @@ static val lazy_sub_str(val lstr, val from, val to) if (null_or_missing_p(to) || to == t) { to = t; } else { - if (lt(to, zero)) { + if (minusp(to)) { to = plus(to, len = length_str(lstr)); to = max(zero, to); } @@ -3722,7 +3722,7 @@ val sub_str(val str_in, val from, val to) from = zero; else if (from == t) return null_string; - else if (lt(from, zero)) { + else if (minusp(from)) { from = plus(from, len); if (to == zero) to = len; @@ -3730,7 +3730,7 @@ val sub_str(val str_in, val from, val to) if (null_or_missing_p(to) || to == t) to = len; - else if (lt(to, zero)) + else if (minusp(to)) to = plus(to, len); from = max2(zero, min2(from, len)); @@ -3783,7 +3783,7 @@ val replace_str(val str_in, val items, val from, val to) } return str_in; - } else if (lt(from, zero)) { + } else if (minusp(from)) { from = plus(from, len); if (to == zero) to = len; @@ -3791,7 +3791,7 @@ val replace_str(val str_in, val items, val from, val to) if (null_or_missing_p(to) || to == t) to = len; - else if (lt(to, zero)) + else if (minusp(to)) to = plus(to, len); from = max2(zero, min2(from, len)); @@ -7150,7 +7150,7 @@ val sub_vec(val vec_in, val from, val to) from = zero; else if (from == t) from = len; - else if (lt(from, zero)) { + else if (minusp(from)) { from = plus(from, len); if (to == zero) to = len; @@ -7158,7 +7158,7 @@ val sub_vec(val vec_in, val from, val to) if (null_or_missing_p(to) || to == t) to = len; - else if (lt(to, zero)) + else if (minusp(to)) to = plus(to, len); from = max2(zero, min2(from, len)); @@ -7212,7 +7212,7 @@ val replace_vec(val vec_in, val items, val from, val to) } return vec_in; - } else if (lt(from, zero)) { + } else if (minusp(from)) { from = plus(from, len); if (to == zero) to = len; @@ -7220,7 +7220,7 @@ val replace_vec(val vec_in, val items, val from, val to) if (null_or_missing_p(to) || to == t) to = len; - else if (lt(to, zero)) + else if (minusp(to)) to = plus(to, len); from = max2(zero, min2(from, len)); |