]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/regression/profile-property-access.ly
use a single function for asking profile info.
[lilypond.git] / input / regression / profile-property-access.ly
index c46bbf58dc3321133c507db63a1c0d97477f8394..641c24fe70c092138b4bc1f9749819ef972684cc 100644 (file)
@@ -7,27 +7,33 @@
 
 \version "2.10.8"
 
-\include "../../input/typography-demo.ly"
-%\book { \score { {c4 } } }
+%\include "../../input/typography-demo.ly"
+\book { \score { {c4 } } }
 
 #(define (prop-stats>?  x y) (> (cdr x) (cdr y)))
 
-#(define (display-stats what hash)
+#(define (display-stats what)
   (let*
    ((count 50)
-    (rnd 10))
-  (ly:progress "\n~A properties, top ~a rounded to ~a\n~a"
+    (rnd 10)
+    (alist (hash-table->alist (ly:property-lookup-stats what)))
+    (total (apply + (map cdr alist)))
+   )
+
+  (set! alist (acons 'TOTAL total alist))
+   
+  (ly:progress "\n\n~A properties, top ~a rounded to ~a\n\n~a"
    what count rnd
    (string-join
     (map (lambda (x) (format "~30a: ~6@a" (car x) (* rnd (inexact->exact (round (/ (cdr x) rnd))))))
      (take 
-    (sort (hash-table->alist hash) prop-stats>?) count))
+    (sort alist prop-stats>?) count))
     "\n"))))
    
 
                                 
-#(display-stats "Context" (ly:context-property-lookup-stats))
-
-#(display-stats "Grob" (ly:grob-property-lookup-stats))
+#(display-stats 'prob)
+#(display-stats 'context)
+#(display-stats 'grob)