Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,18 @@
#!r6rs
(import (rnrs base (6))
(srfi :27 random-bits))
(define (semireverse li n)
(define (continue front back n)
(cond
((null? back) front)
((zero? n) (cons (car back) (append front (cdr back))))
(else (continue (cons (car back) front) (cdr back) (- n 1)))))
(continue '() li n))
(define (shuffle li)
(if (null? li)
()
(let
((li-prime (semireverse li (random-integer (length li)))))
(cons (car li-prime) (shuffle (cdr li-prime))))))

View file

@ -0,0 +1,22 @@
#!r6rs
(import (rnrs base (6))
(srfi :27 random-bits))
(define (vector-swap! vec i j)
(let
((temp (vector-ref vec i)))
(vector-set! vec i (vector-ref vec j))
(vector-set! vec j temp)))
(define (countdown n)
(if (zero? n)
()
(cons n (countdown (- n 1)))))
(define (vector-shuffle! vec)
(for-each
(lambda (i)
(let
((j (random-integer i)))
(vector-swap! vec (- i 1) j)))
(countdown (vector-length vec))))