Preliminary stats.

This commit is contained in:
Dominik Pantůček 2023-03-19 19:10:36 +01:00
parent a4a296f36b
commit ed6d9913de
2 changed files with 16 additions and 1 deletions

View file

@ -101,5 +101,6 @@
(print-members-base-info MB))
(newline))
((print-stats)
(print (members-base-stats MB)))
(print-members-base-stats
(members-base-stats MB)))
)

View file

@ -35,6 +35,7 @@
list-members-nicks
members-base-stats
print-members-base-info
print-members-base-stats
members-base-tests!
)
@ -324,6 +325,19 @@
(member-records->ids+nicks-string invalid-mrs)
a:default)))))
;; Prints the stats in format used by gnuplot.
(define (print-members-base-stats ms)
(let ((keys (car ms))
(data (cadr ms)))
(print "# " (string-intersperse (map symbol->string keys) " "))
(let loop ((rows data))
(when (not (null? rows))
(let* ((row (car rows))
(month (month->string (car row)))
(vals (cdr row)))
(print month " " (string-intersperse (map number->string vals) " "))
(loop (cdr rows)))))))
;; Performs self-tests of this module.
(define (members-base-tests!)
(run-tests