* another stats problem, example solution [stats.el] @ 2023-09-04 18:15 Emanuel Berg 2023-09-04 20:08 ` John Haman 0 siblings, 1 reply; 5+ messages in thread From: Emanuel Berg @ 2023-09-04 18:15 UTC (permalink / raw) To: emacs-devel Problem: Return a list of N random numbers. Every number is at least MIN. The sum of the numbers is SUM. Suggested solution, linear to SUM. ;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/stats.el (require 'cl-lib) (defun random-distribution (n min sum) "Return a list of N random numbers. Every number is at least MIN. The sum of the numbers is SUM." (let ((min-share (* n min))) (unless (<= min-share sum) (error "Bogus indata, unsolvable") ) (let ((vals (make-list n min)) (pool (- sum min-share)) ) (cl-loop while (and (< 0 pool) (cl-decf pool) ) do (cl-incf (nth (random n) vals)) ) vals) )) (defalias 'rd #'random-distribution) ;; (apply #'+ (rd 10 3 100)) ; 100 ;; ;; (rd 10 10 100) ; border case check, but OK ;; ;; (rd 10 20 100) ; Bogus indata, unsolvable ;; ;; example distributions for n = 10, min = 3, and sum = 100: ;; (12 8 8 10 7 6 19 9 7 14) ;; ( 8 12 7 12 9 10 9 9 12 12) ;; (14 6 15 11 9 9 6 8 11 11) ;; ( 8 12 7 9 10 9 10 13 10 12) ;; (12 12 15 6 10 8 6 10 14 7) ;; ( 9 7 10 8 11 10 9 10 13 13) ;; ( 7 13 13 10 13 10 5 13 5 11) ;; (13 8 6 9 13 8 11 7 10 15) ;; ( 7 10 5 6 17 14 8 10 14 9) ;; (11 10 8 9 11 10 14 11 8 8) (provide 'stats) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: another stats problem, example solution [stats.el] 2023-09-04 18:15 another stats problem, example solution [stats.el] Emanuel Berg @ 2023-09-04 20:08 ` John Haman 2023-09-05 3:42 ` Emanuel Berg 0 siblings, 1 reply; 5+ messages in thread From: John Haman @ 2023-09-04 20:08 UTC (permalink / raw) To: emacs-devel Seems neither statistical (having to do with inferring something about a population from a sample) or topical. -- Dr. John Haman Maryland, USA ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: another stats problem, example solution [stats.el] 2023-09-04 20:08 ` John Haman @ 2023-09-05 3:42 ` Emanuel Berg 2023-09-05 11:53 ` Philip Kaludercic 0 siblings, 1 reply; 5+ messages in thread From: Emanuel Berg @ 2023-09-05 3:42 UTC (permalink / raw) To: emacs-devel John Haman wrote: > Seems neither statistical (having to do with inferring > something about a population from a sample) or topical. `1-' -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: another stats problem, example solution [stats.el] 2023-09-05 3:42 ` Emanuel Berg @ 2023-09-05 11:53 ` Philip Kaludercic 2023-09-06 0:21 ` Emanuel Berg 0 siblings, 1 reply; 5+ messages in thread From: Philip Kaludercic @ 2023-09-05 11:53 UTC (permalink / raw) To: emacs-devel Emanuel Berg <incal@dataswamp.org> writes: > John Haman wrote: > >> Seems neither statistical (having to do with inferring >> something about a population from a sample) or topical. > > `1-' What I believe that John is trying to say is that the development mailing list seems to be the wrong place to share your script, unless you are proposing to add something specific to Emacs? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: another stats problem, example solution [stats.el] 2023-09-05 11:53 ` Philip Kaludercic @ 2023-09-06 0:21 ` Emanuel Berg 0 siblings, 0 replies; 5+ messages in thread From: Emanuel Berg @ 2023-09-06 0:21 UTC (permalink / raw) To: emacs-devel Philip Kaludercic wrote: > What I believe that John is trying to say is that the > development mailing list seems to be the wrong place to > share your script `1-' -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-09-06 0:21 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-09-04 18:15 another stats problem, example solution [stats.el] Emanuel Berg 2023-09-04 20:08 ` John Haman 2023-09-05 3:42 ` Emanuel Berg 2023-09-05 11:53 ` Philip Kaludercic 2023-09-06 0:21 ` Emanuel Berg
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).