aboutsummaryrefslogtreecommitdiffstats
path: root/zipf-zri.scm
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-02-13 19:16:46 -0500
committerGravatar Peter McGoron 2025-02-13 19:16:46 -0500
commit222fa889651d0c80164467d201652ed75486daf9 (patch)
treecd1fddcc88b0545e441d736544375f8d2dee57a3 /zipf-zri.scm
parentuse CHICKEN SRFI-27 generators whenever possible (diff)
add types, fix vector-copy! shadowing
Diffstat (limited to 'zipf-zri.scm')
-rw-r--r--zipf-zri.scm8
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)