Changeset 40388 in project


Ignore:
Timestamp:
08/24/21 21:19:24 (4 weeks ago)
Author:
Kon Lovett
Message:

simplify condition, reflow

Location:
release/5/micro-stats/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/5/micro-stats/trunk/micro-stats.egg

    r39739 r40388  
    11((synopsis "Easily create micro-stats")
    2  (version "0.0.4")
     2 (version "0.0.5")
    33 (author "David Krentzlin")
    44 (maintainer "Kon Lovett")
  • release/5/micro-stats/trunk/micro-stats.scm

    r40279 r40388  
    131131  harmonic-mean geometric-mean
    132132  median mode
    133   variance (var . (variance)) (sigma^2 . (variance)))
    134 ))
     133  variance (var . (variance)) (sigma^2 . (variance))
     134)))
    135135
    136136(define INITIAL-STATISTICS-SETS `(
     
    142142
    143143(define (statistics-set stat-set-id)
    144   (and-let* (
    145     (stat-set-id
    146       (case stat-set-id
    147         ((#f) 'normal)
    148         ((#t) 'verbose)
    149         (else
    150           (if (symbol? stat-set-id) stat-set-id
    151             (error 'statistics-set "not a valid stat-set-id" stat-set-id))))) )
    152      (alist-ref stat-set-id (statistics-sets) eq?) ) )
     144  (let ((key
     145          (case stat-set-id
     146            ((#f) 'normal)
     147            ((#t) 'verbose)
     148            (else
     149              (if (symbol? stat-set-id)
     150                stat-set-id
     151                (error 'statistics-set "not a valid stat-set-id" stat-set-id))))))
     152     (alist-ref key (statistics-sets) eq?) ) )
    153153
    154154;;
     
    230230    (if (zero? size) (values 0 0 0)
    231231      (let* (
    232         (n size)
    233         (r (/ 1 n))
    234         (acc (vector 0 0 1))
    235         (accum!
    236           (lambda (acc value)
    237             ;minimize the acccumulated value
    238             (acc-update! acc GEOMETRIC-IDX
    239               (lambda (run) (* run (expt value r))))
    240             (acc-update! acc HARMONIC-IDX
    241               (lambda (run) (if (zero? value) run (+ run (/ 1 value)))))
    242             (acc-update! acc ARITHMETIC-IDX
    243               (lambda (run) (+ run (/ value n))))
    244             acc ) )
    245           (acc
    246             (seq:foldl accum! acc runs))
    247           (harmonic-mean
    248             (let ((h (vector-ref acc HARMONIC-IDX)))
    249               (if (zero? h) 0 (/ n h)))) )
     232        (n      size)
     233        (r      (/ 1 n))
     234        (acc    (vector 0 0 1))
     235        (accum! (lambda (acc value)
     236                  ;minimize the acccumulated value
     237                  (acc-update! acc GEOMETRIC-IDX
     238                    (lambda (run) (* run (expt value r))))
     239                  (acc-update! acc HARMONIC-IDX
     240                    (lambda (run) (if (zero? value) run (+ run (/ 1 value)))))
     241                  (acc-update! acc ARITHMETIC-IDX
     242                    (lambda (run) (+ run (/ value n))))
     243                  acc ) )
     244          (acc  (seq:foldl accum! acc runs)) )
    250245          (values
    251246            (vector-ref acc ARITHMETIC-IDX)
    252             harmonic-mean
     247            (let ((h (vector-ref acc HARMONIC-IDX)))
     248              (if (zero? h) h (/ n h)) )
    253249            (vector-ref acc GEOMETRIC-IDX) ) ) ) ) )
    254250
Note: See TracChangeset for help on using the changeset viewer.