Use the same algorithm for expected income in summary emails.

This commit is contained in:
Dominik Pantůček 2024-02-09 14:44:24 +01:00
parent dcf6d8937f
commit c458dc3900
3 changed files with 25 additions and 22 deletions

View file

@ -600,25 +600,7 @@
(map (lambda (member)
(min 0 (list-ref member 5)))
members)))
(let* ((flst
(map (compose member-calendar-entry->fee make-member-calendar-entry)
(filter brmember-active? raw-members)))
(amts (sort (delete-duplicates flst) <))
(sums
(map
(lambda (amt)
(cons amt
(length (filter (lambda (v) (= v amt)) flst))))
amts))
)
(print "Expected income: "
(string-intersperse (map
(lambda (p)
(format "~A*~A" (cdr p) (car p)))
sums)
" + ")
" = "
(foldl + 0 (map (lambda (p) (* (car p) (cdr p))) sums)))))))
(print (get-expected-income-string MB)))))
(define (unpaired-table mb . args)
(apply