summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-11-15 06:12:58 -0800
committerKaz Kylheku <kaz@kylheku.com>2017-11-15 06:12:58 -0800
commit8e895570716d9c7b344dec7cbff3c30416281fb5 (patch)
tree0f4fbcdf306d85668b2152fcbe998471b95059f2
parent167fa0e777d6c65850ca43b6ed1d3cd9633bfdfa (diff)
downloadtxr-8e895570716d9c7b344dec7cbff3c30416281fb5.tar.gz
txr-8e895570716d9c7b344dec7cbff3c30416281fb5.tar.bz2
txr-8e895570716d9c7b344dec7cbff3c30416281fb5.zip
find-max: tiny optimization for vectors.
* lib.c (find_max): The vector case must loop from index one, not zero, so as not to wastefully compare the initial max element to itself.
-rw-r--r--lib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib.c b/lib.c
index 41489315..ab6e3beb 100644
--- a/lib.c
+++ b/lib.c
@@ -8572,7 +8572,7 @@ val find_max(val seq, val testfun, val keyfun)
val len = length(vec);
val i;
- for (i = zero; lt(i, len); i = succ(i)) {
+ for (i = one; lt(i, len); i = succ(i)) {
val elt = ref(vec, i);
val key = funcall1(keyfun, elt);
if (funcall2(testfun, key, maxkey)) {