Changeset 35023 in project
- Timestamp:
- 01/15/18 18:10:50 (13 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
release/4/bloom-filter/trunk/bloom-filter.scm
r35022 r35023 21 21 22 22 (;export 23 ; 23 24 optimum-size 24 25 optimum-k … … 28 29 desired-m 29 30 actual-k 31 ; 30 32 make-bloom-filter 31 33 bloom-filter? check-bloom-filter error-bloom-filter … … 145 147 (message-digest-primitive-digest-length mdp) 146 148 (unsigned-native-integer-size)) ) ) 147 ; Returns a list of hash values for the supplied object149 ;returns a list of hash values for the supplied object 148 150 (lambda (obj ls) 149 151 (message-digest-result->integers … … 219 221 ;( p n mdps) | ( m mdps [k]) 220 222 (define (make-bloom-filter m mdps #!optional des-k) 221 ; Process paramter list variant223 ;processing ( m mdps [k] ) or ( p n mdps ) ? 222 224 (if (list? mdps) 223 225 (check-positive-fixnum 'make-bloom-filter m 'm) … … 225 227 (p m) 226 228 (n mdps) ) 227 (check-flonum 'make-bloom-filter p 'p) 228 (check-open-interval 'make-bloom-filter p 0.0 1.0 'p) 229 (check-open-interval 'make-bloom-filter (check-flonum 'make-bloom-filter p 'p) 0.0 1.0 'p) 229 230 (check-positive-fixnum 'make-bloom-filter n 'n) 230 231 (set! mdps des-k) 231 232 (set!-values (m des-k) (optimum-size p n)) ) ) 233 ; 232 234 (for-each 233 235 (cut check-message-digest-primitive 'make-bloom-filter <>) 234 236 (check-list 'make-bloom-filter mdps 'mdps)) 235 ; Get the "desired" # of hash values (k)237 ;get the "desired" # of hash values (k) 236 238 (let ((act-k (actual-k mdps))) 237 239 (if (not des-k) … … 240 242 ;FIXME tell them how ! 241 243 (error 'make-bloom-filter "insufficient hash functions supplied" act-k des-k) ) ) ) 242 ; Bloom filter is a multi-hash into a bitvector244 ;bloom filter is a multi-hash into a bitvector 243 245 (%make-bloom-filter 244 246 0 m des-k
Note: See TracChangeset
for help on using the changeset viewer.