This commit is contained in:
Dominik Pantůček 2023-03-20 19:23:08 +01:00
parent 4f752d81f0
commit 5744a186d2
2 changed files with 13 additions and 0 deletions

View file

@ -79,6 +79,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
(-action- 'print-member-file))
(-tests () "Run self-tests upon startup" (-run-tests?- #t))
(-idstats () "Returns information about available member ids" (-action- 'print-idstats))
(-genid () "Generates random member id" (-action- 'genid))
)
;; Run tests
@ -132,4 +133,8 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
(newline)
(print-members-ids-stats MB)
(newline))
((genid)
(newline)
(print "New member id: " (gen-member-id MB))
(newline))
)

View file

@ -38,6 +38,7 @@
print-members-base-stats
get-free-members-ids
print-members-ids-stats
gen-member-id
members-base-tests!
)
@ -51,6 +52,7 @@
(chicken sort)
(chicken string)
(chicken format)
(chicken random)
testing
utils
dictionary
@ -374,6 +376,12 @@
", ")
")"))))
;; Generates random vector id.
(define (gen-member-id mb)
(let* ((fids (get-free-members-ids mb))
(vfids (list->vector fids)))
(vector-ref vfids (pseudo-random-integer (vector-length vfids)))))
;; Performs self-tests of this module.
(define (members-base-tests!)
(run-tests