summaryrefslogtreecommitdiffstats
path: root/tests/012/sort.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-06-28 21:26:33 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-06-28 21:26:33 -0700
commit1c583965749a40cdbe15846c2487f32a426dcbeb (patch)
tree394bd3a195c221e3c885d474b036b52ebc4ac0e3 /tests/012/sort.tl
parent8ee92a458a4b854b4a7e726975c1197be877c500 (diff)
downloadtxr-1c583965749a40cdbe15846c2487f32a426dcbeb.tar.gz
txr-1c583965749a40cdbe15846c2487f32a426dcbeb.tar.bz2
txr-1c583965749a40cdbe15846c2487f32a426dcbeb.zip
New cached sorting functions.
These functions are useful when sorting a sequence using an expensive keyfun. * autoload.c (csort_set_entries, csort_instantiate): New static functions. (autlod_init): Register autoloading of csort module via new functions. * stdlib/csort.tl: New file. * tests/012/sort.tl: csort functions included in tests. * txr.1: Documented. * stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'tests/012/sort.tl')
-rw-r--r--tests/012/sort.tl25
1 files changed, 23 insertions, 2 deletions
diff --git a/tests/012/sort.tl b/tests/012/sort.tl
index 241b0c45..4989a74b 100644
--- a/tests/012/sort.tl
+++ b/tests/012/sort.tl
@@ -27,7 +27,18 @@
(sort vec) vec
(sort svec) vec
(sort vec (fun greater)) (reverse vec)
- (sort svec (fun greater)) (reverse vec)))
+ (sort svec (fun greater)) (reverse vec))
+ (mvtest
+ (csort list) list
+ (csort slist) list
+ (csort list (fun greater)) (reverse list)
+ (csort slist (fun greater)) (reverse list))
+ (mvtest
+ (csort vec) vec
+ (csort svec) vec
+ (csort vec (fun greater)) (reverse vec)
+ (csort svec (fun greater)) (reverse vec)))
+
(test (ssort ()) nil)
@@ -56,4 +67,14 @@
(ssort vec) vec
(ssort svec) vec
(ssort vec (fun greater)) (reverse vec)
- (ssort svec (fun greater)) (reverse vec)))
+ (ssort svec (fun greater)) (reverse vec))
+ (mvtest
+ (cssort list) list
+ (cssort slist) list
+ (cssort list (fun greater)) (reverse list)
+ (cssort slist (fun greater)) (reverse list))
+ (mvtest
+ (cssort vec) vec
+ (cssort svec) vec
+ (cssort vec (fun greater)) (reverse vec)
+ (cssort svec (fun greater)) (reverse vec)))