diff options
| author | 2025-02-13 19:16:46 -0500 | |
|---|---|---|
| committer | 2025-02-13 19:16:46 -0500 | |
| commit | 222fa889651d0c80164467d201652ed75486daf9 (patch) | |
| tree | cd1fddcc88b0545e441d736544375f8d2dee57a3 /zipf-zri.scm | |
| parent | use CHICKEN SRFI-27 generators whenever possible (diff) | |
add types, fix vector-copy! shadowing
Diffstat (limited to 'zipf-zri.scm')
| -rw-r--r-- | zipf-zri.scm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/zipf-zri.scm b/zipf-zri.scm index 9e0f003..0fac5b8 100644 --- a/zipf-zri.scm +++ b/zipf-zri.scm @@ -28,6 +28,8 @@ ; Accuracy is diminished for |1-s|< 1e-6. The accuracy is roughly ; equal to 1e-15 / |1-s| where 1e-15 == 64-bit double-precision ULP. ; + +(: make-zipf-generator/zri (integer number number -> (-> number))) (define (make-zipf-generator/zri n s q) ; The hat function h(x) = 1 / (x+q)^s @@ -88,6 +90,8 @@ ; equal to 0.05 * |1-s|^4 due to exp(1-s) being expanded to 4 terms. ; ; This handles the special case of s==1 perfectly. + +(: make-zipf-generator/one (integer number number -> (-> number))) (define (make-zipf-generator/one n s q) (define _1-s (- 1 s)) @@ -180,7 +184,9 @@ ; Example usage: ; (define zgen (make-zipf-generator 50 1.01 0)) ; (generator->list zgen 10) -; + +(: make-zipf-generator + (integer #!optional number number -> (-> number))) (define make-zipf-generator (case-lambda ((n) |
