- (box (map
- (lambda (x)
- (if (or (nan? x) (inf? x))
- 0
- (inexact->exact
- (round (/ (* x scale) (ly:bp 1)))))) mmbox)))
-
- (list (car box)
- (cadr box)
- (max (1+ (car box)) (caddr box))
- (max (1+ (cadr box)) (cadddr box))
+ (strip-non-number (lambda (x)
+ (if (or (nan? x) (inf? x)) 0.0 x)))
+ (directed-round (lambda (x rounder)
+ (inexact->exact
+ (rounder (/ (* (strip-non-number x) scale)
+ (ly:bp 1)))))))
+ (list (directed-round (car box) floor)
+ (directed-round (cadr box) floor)
+ (directed-round (max (1+ (car box)) (caddr box)) ceiling)
+ (directed-round (max (1+ (cadr box)) (cadddr box)) ceiling)