215 |
(make-array (- 10 j) :initial-element 'a))))))) |
(make-array (- 10 j) :initial-element 'a))))))) |
216 |
t) |
t) |
217 |
|
|
218 |
|
(deftest nsubstitute-if-vector.28 |
219 |
|
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f) |
220 |
|
:fill-pointer 5)) |
221 |
|
(result (nsubstitute-if 'z (is-eql-p 'a) x))) |
222 |
|
result) |
223 |
|
#(z b z c b)) |
224 |
|
|
225 |
|
(deftest nsubstitute-if-vector.29 |
226 |
|
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f) |
227 |
|
:fill-pointer 5)) |
228 |
|
(result (nsubstitute-if 'z (is-eql-p 'a) x :from-end t))) |
229 |
|
result) |
230 |
|
#(z b z c b)) |
231 |
|
|
232 |
|
(deftest nsubstitute-if-vector.30 |
233 |
|
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f) |
234 |
|
:fill-pointer 5)) |
235 |
|
(result (nsubstitute-if 'z (is-eql-p 'a) x :count 1))) |
236 |
|
result) |
237 |
|
#(z b a c b)) |
238 |
|
|
239 |
|
(deftest nsubstitute-if-vector.31 |
240 |
|
(let* ((x (make-array '(10) :initial-contents '(a b a c b a d e a f) |
241 |
|
:fill-pointer 5)) |
242 |
|
(result (nsubstitute-if 'z (is-eql-p 'a) x :from-end t :count 1))) |
243 |
|
result) |
244 |
|
#(a b z c b)) |
245 |
|
|
246 |
;;; Tests on strings |
;;; Tests on strings |
247 |
|
|
248 |
(deftest nsubstitute-if-string.1 |
(deftest nsubstitute-if-string.1 |
351 |
(make-array (- 10 j) :initial-element #\a))))))) |
(make-array (- 10 j) :initial-element #\a))))))) |
352 |
t) |
t) |
353 |
|
|
354 |
;;; Tests on bitstrings |
(deftest nsubstitute-if-string.28 |
355 |
|
(let* ((x (make-array '(10) :initial-contents (coerce "abacbadeaf" 'list) |
356 |
|
:fill-pointer 5 :element-type 'character)) |
357 |
|
(result (nsubstitute-if #\z (is-eql-p #\a) x))) |
358 |
|
result) |
359 |
|
"zbzcb") |
360 |
|
|
361 |
|
(deftest nsubstitute-if-string.29 |
362 |
|
(let* ((x (make-array '(10) :initial-contents (coerce "abacbadeaf" 'list) |
363 |
|
:fill-pointer 5 :element-type 'character)) |
364 |
|
(result (nsubstitute-if #\z (is-eql-p #\a) x :from-end t))) |
365 |
|
result) |
366 |
|
"zbzcb") |
367 |
|
|
368 |
|
(deftest nsubstitute-if-string.30 |
369 |
|
(let* ((x (make-array '(10) :initial-contents (coerce "abacbadeaf" 'list) |
370 |
|
:fill-pointer 5 :element-type 'character)) |
371 |
|
(result (nsubstitute-if #\z (is-eql-p #\a) x :count 1))) |
372 |
|
result) |
373 |
|
"zbacb") |
374 |
|
|
375 |
|
(deftest nsubstitute-if-string.31 |
376 |
|
(let* ((x (make-array '(10) :initial-contents (coerce "abacbadeaf" 'list) |
377 |
|
:fill-pointer 5 :element-type 'character)) |
378 |
|
(result (nsubstitute-if #\z (is-eql-p #\a) x :from-end t :count 1))) |
379 |
|
result) |
380 |
|
"abzcb") |
381 |
|
|
382 |
|
|
383 |
|
;;; Tests on bit-vectors |
384 |
|
|
385 |
(deftest nsubstitute-if-bitstring.1 |
(deftest nsubstitute-if-bit-vector.1 |
386 |
(let* ((orig #*) |
(let* ((orig #*) |
387 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
388 |
(result (nsubstitute-if 0 (is-eq-p 1) x))) |
(result (nsubstitute-if 0 (is-eq-p 1) x))) |
389 |
result) |
result) |
390 |
#*) |
#*) |
391 |
|
|
392 |
(deftest nsubstitute-if-bitstring.2 |
(deftest nsubstitute-if-bit-vector.2 |
393 |
(let* ((orig #*) |
(let* ((orig #*) |
394 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
395 |
(result (nsubstitute-if 1 (is-eq-p 0) x))) |
(result (nsubstitute-if 1 (is-eq-p 0) x))) |
396 |
result) |
result) |
397 |
#*) |
#*) |
398 |
|
|
399 |
(deftest nsubstitute-if-bitstring.3 |
(deftest nsubstitute-if-bit-vector.3 |
400 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
401 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
402 |
(result (nsubstitute-if 0 (is-eq-p 1) x))) |
(result (nsubstitute-if 0 (is-eq-p 1) x))) |
403 |
result) |
result) |
404 |
#*000000) |
#*000000) |
405 |
|
|
406 |
(deftest nsubstitute-if-bitstring.4 |
(deftest nsubstitute-if-bit-vector.4 |
407 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
408 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
409 |
(result (nsubstitute-if 1 (is-eq-p 0) x))) |
(result (nsubstitute-if 1 (is-eq-p 0) x))) |
410 |
result) |
result) |
411 |
#*111111) |
#*111111) |
412 |
|
|
413 |
(deftest nsubstitute-if-bitstring.5 |
(deftest nsubstitute-if-bit-vector.5 |
414 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
415 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
416 |
(result (nsubstitute-if 1 (is-eq-p 0) x :start 1))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :start 1))) |
417 |
result) |
result) |
418 |
#*011111) |
#*011111) |
419 |
|
|
420 |
(deftest nsubstitute-if-bitstring.6 |
(deftest nsubstitute-if-bit-vector.6 |
421 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
422 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
423 |
(result (nsubstitute-if 0 (is-eq-p 1) x :start 2 :end nil))) |
(result (nsubstitute-if 0 (is-eq-p 1) x :start 2 :end nil))) |
424 |
result) |
result) |
425 |
#*010000) |
#*010000) |
426 |
|
|
427 |
(deftest nsubstitute-if-bitstring.7 |
(deftest nsubstitute-if-bit-vector.7 |
428 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
429 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
430 |
(result (nsubstitute-if 1 (is-eq-p 0) x :end 4))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :end 4))) |
431 |
result) |
result) |
432 |
#*111101) |
#*111101) |
433 |
|
|
434 |
(deftest nsubstitute-if-bitstring.8 |
(deftest nsubstitute-if-bit-vector.8 |
435 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
436 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
437 |
(result (nsubstitute-if 0 (is-eq-p 1) x :end nil))) |
(result (nsubstitute-if 0 (is-eq-p 1) x :end nil))) |
438 |
result) |
result) |
439 |
#*000000) |
#*000000) |
440 |
|
|
441 |
(deftest nsubstitute-if-bitstring.9 |
(deftest nsubstitute-if-bit-vector.9 |
442 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
443 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
444 |
(result (nsubstitute-if 0 (is-eq-p 1) x :end 3))) |
(result (nsubstitute-if 0 (is-eq-p 1) x :end 3))) |
445 |
result) |
result) |
446 |
#*000101) |
#*000101) |
447 |
|
|
448 |
(deftest nsubstitute-if-bitstring.10 |
(deftest nsubstitute-if-bit-vector.10 |
449 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
450 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
451 |
(result (nsubstitute-if 0 (is-eq-p 1) x :start 2 :end 4))) |
(result (nsubstitute-if 0 (is-eq-p 1) x :start 2 :end 4))) |
452 |
result) |
result) |
453 |
#*010001) |
#*010001) |
454 |
|
|
455 |
(deftest nsubstitute-if-bitstring.11 |
(deftest nsubstitute-if-bit-vector.11 |
456 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
457 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
458 |
(result (nsubstitute-if 1 (is-eq-p 0) x :start 2 :end 4))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :start 2 :end 4))) |
459 |
result) |
result) |
460 |
#*011101) |
#*011101) |
461 |
|
|
462 |
(deftest nsubstitute-if-bitstring.12 |
(deftest nsubstitute-if-bit-vector.12 |
463 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
464 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
465 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 1))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 1))) |
466 |
result) |
result) |
467 |
#*110101) |
#*110101) |
468 |
|
|
469 |
(deftest nsubstitute-if-bitstring.13 |
(deftest nsubstitute-if-bit-vector.13 |
470 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
471 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
472 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 0))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 0))) |
473 |
result) |
result) |
474 |
#*010101) |
#*010101) |
475 |
|
|
476 |
(deftest nsubstitute-if-bitstring.14 |
(deftest nsubstitute-if-bit-vector.14 |
477 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
478 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
479 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count -1))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count -1))) |
480 |
result) |
result) |
481 |
#*010101) |
#*010101) |
482 |
|
|
483 |
(deftest nsubstitute-if-bitstring.15 |
(deftest nsubstitute-if-bit-vector.15 |
484 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
485 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
486 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 1 :from-end t))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 1 :from-end t))) |
487 |
result) |
result) |
488 |
#*010111) |
#*010111) |
489 |
|
|
490 |
(deftest nsubstitute-if-bitstring.16 |
(deftest nsubstitute-if-bit-vector.16 |
491 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
492 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
493 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 0 :from-end t))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count 0 :from-end t))) |
494 |
result) |
result) |
495 |
#*010101) |
#*010101) |
496 |
|
|
497 |
(deftest nsubstitute-if-bitstring.17 |
(deftest nsubstitute-if-bit-vector.17 |
498 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
499 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
500 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count -1 :from-end t))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count -1 :from-end t))) |
501 |
result) |
result) |
502 |
#*010101) |
#*010101) |
503 |
|
|
504 |
(deftest nsubstitute-if-bitstring.18 |
(deftest nsubstitute-if-bit-vector.18 |
505 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
506 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
507 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count nil))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count nil))) |
508 |
result) |
result) |
509 |
#*111111) |
#*111111) |
510 |
|
|
511 |
(deftest nsubstitute-if-bitstring.19 |
(deftest nsubstitute-if-bit-vector.19 |
512 |
(let* ((orig #*010101) |
(let* ((orig #*010101) |
513 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
514 |
(result (nsubstitute-if 1 (is-eq-p 0) x :count nil :from-end t))) |
(result (nsubstitute-if 1 (is-eq-p 0) x :count nil :from-end t))) |
515 |
result) |
result) |
516 |
#*111111) |
#*111111) |
517 |
|
|
518 |
(deftest nsubstitute-if-bitstring.20 |
(deftest nsubstitute-if-bit-vector.20 |
519 |
(loop for i from 0 to 9 always |
(loop for i from 0 to 9 always |
520 |
(loop for j from i to 10 always |
(loop for j from i to 10 always |
521 |
(loop for c from 0 to (- j i) always |
(loop for c from 0 to (- j i) always |
529 |
(make-list (- 10 (+ i c)) :initial-element 0))))))) |
(make-list (- 10 (+ i c)) :initial-element 0))))))) |
530 |
t) |
t) |
531 |
|
|
532 |
(deftest nsubstitute-if-bitstring.21 |
(deftest nsubstitute-if-bit-vector.21 |
533 |
(loop for i from 0 to 9 always |
(loop for i from 0 to 9 always |
534 |
(loop for j from i to 10 always |
(loop for j from i to 10 always |
535 |
(loop for c from 0 to (- j i) always |
(loop for c from 0 to (- j i) always |
588 |
result) |
result) |
589 |
"01a2342015") |
"01a2342015") |
590 |
|
|
591 |
(deftest nsubstitute-if-bitstring.26 |
(deftest nsubstitute-if-bit-vector.26 |
592 |
(let* ((orig #*00111001011010110) |
(let* ((orig #*00111001011010110) |
593 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
594 |
(result (nsubstitute-if 1 (is-eq-p 1) x :key #'1+))) |
(result (nsubstitute-if 1 (is-eq-p 1) x :key #'1+))) |
595 |
result) |
result) |
596 |
#*11111111111111111) |
#*11111111111111111) |
597 |
|
|
598 |
(deftest nsubstitute-if-bitstring.27 |
(deftest nsubstitute-if-bit-vector.27 |
599 |
(let* ((orig #*00111001011010110) |
(let* ((orig #*00111001011010110) |
600 |
(x (copy-seq orig)) |
(x (copy-seq orig)) |
601 |
(result (nsubstitute-if 1 (is-eq-p 1) x :key #'1+ :start 1 :end 10))) |
(result (nsubstitute-if 1 (is-eq-p 1) x :key #'1+ :start 1 :end 10))) |
602 |
result) |
result) |
603 |
#*01111111111010110) |
#*01111111111010110) |
604 |
|
|
605 |
|
(deftest nsubstitute-if-bit-vector.30 |
606 |
|
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1) |
607 |
|
:fill-pointer 5 :element-type 'bit)) |
608 |
|
(result (nsubstitute-if 1 #'zerop x))) |
609 |
|
result) |
610 |
|
#*11111) |
611 |
|
|
612 |
|
(deftest nsubstitute-if-bit-vector.31 |
613 |
|
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1) |
614 |
|
:fill-pointer 5 :element-type 'bit)) |
615 |
|
(result (nsubstitute-if 1 #'zerop x :from-end t))) |
616 |
|
result) |
617 |
|
#*11111) |
618 |
|
|
619 |
|
(deftest nsubstitute-if-bit-vector.32 |
620 |
|
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1) |
621 |
|
:fill-pointer 5 :element-type 'bit)) |
622 |
|
(result (nsubstitute-if 1 #'zerop x :count 1))) |
623 |
|
result) |
624 |
|
#*11011) |
625 |
|
|
626 |
|
(deftest nsubstitute-if-bit-vector.33 |
627 |
|
(let* ((x (make-array '(10) :initial-contents '(0 1 0 1 1 0 1 1 0 1) |
628 |
|
:fill-pointer 5 :element-type 'bit)) |
629 |
|
(result (nsubstitute-if 1 #'zerop x :from-end t :count 1))) |
630 |
|
result) |
631 |
|
#*01111) |
632 |
|
|