Coverage report: /home/ellis/.stash/quicklisp/dists/ultralisp/software/sharplispers-split-sequence-20211208061629/package.lisp

KindCoveredAll%
expression01 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
2
 ;;;
3
 ;;; SPLIT-SEQUENCE
4
 ;;;
5
 ;;; This code was based on Arthur Lemmens' in
6
 ;;; <URL:http://groups.google.com/groups?as_umsgid=39F36F1A.B8F19D20%40simplex.nl>;
7
 ;;;
8
 ;;; changes include:
9
 ;;;
10
 ;;; * altering the behaviour of the :from-end keyword argument to
11
 ;;; return the subsequences in original order, for consistency with
12
 ;;; CL:REMOVE, CL:SUBSTITUTE et al. (:from-end being non-NIL only
13
 ;;; affects the answer if :count is less than the number of
14
 ;;; subsequences, by analogy with the above-referenced functions).
15
 ;;;
16
 ;;; * changing the :maximum keyword argument to :count, by analogy
17
 ;;; with CL:REMOVE, CL:SUBSTITUTE, and so on.
18
 ;;;
19
 ;;; * naming the function SPLIT-SEQUENCE rather than PARTITION rather
20
 ;;; than SPLIT.
21
 ;;;
22
 ;;; * adding SPLIT-SEQUENCE-IF and SPLIT-SEQUENCE-IF-NOT.
23
 ;;;
24
 ;;; * The second return value is now an index rather than a copy of a
25
 ;;; portion of the sequence; this index is the `right' one to feed to
26
 ;;; CL:SUBSEQ for continued processing.
27
 
28
 ;;; There's a certain amount of code duplication in the vector and
29
 ;;; extended sequence modules, which is kept to illustrate the
30
 ;;; relationship between the SPLIT-SEQUENCE functions and the
31
 ;;; CL:POSITION functions.
32
 
33
 (defpackage #:split-sequence
34
   (:use #:common-lisp)
35
   (:export #:split-sequence
36
            #:split-sequence-if
37
            #:split-sequence-if-not))