]> granicus.if.org Git - graphviz/commitdiff
common: replace some 'MIN' usage with 'fmax'
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 9 Oct 2022 20:15:09 +0000 (13:15 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Tue, 11 Oct 2022 05:06:07 +0000 (22:06 -0700)
`fmin` is typically implemented as a compiler built-in and has the potential to
be more efficient than `MIN`, while also avoiding the loss of type safety and
double-expansion problems of macros.

lib/common/ellipse.c

index f7b9266ab82c80d281d957948b9ac44afaa0e36b..393ed9ff5642d804761054d46445d97b35729cb5 100644 (file)
@@ -54,8 +54,6 @@
 #include <stdlib.h>
 #include <stdio.h>
 
-#define MIN(a,b)        ((a)<(b)?(a):(b))
-
 typedef struct {
     double x, y;
 } pointf;
@@ -171,11 +169,11 @@ static void computeBounds(ellipse_t * ep)
     ep->xLeft = (etaXMin <= ep->eta2)
        ? (ep->cx + ep->a * cos(etaXMin) * ep->cosTheta -
           ep->b * sin(etaXMin) * ep->sinTheta)
-       : MIN(ep->x1, ep->x2);
+       : fmin(ep->x1, ep->x2);
     ep->yUp = (etaYMin <= ep->eta2)
        ? (ep->cy + ep->a * cos(etaYMin) * ep->sinTheta +
           ep->b * sin(etaYMin) * ep->cosTheta)
-       : MIN(ep->y1, ep->y2);
+       : fmin(ep->y1, ep->y2);
     ep->width = ((etaXMax <= ep->eta2)
                 ? (ep->cx + ep->a * cos(etaXMax) * ep->cosTheta -
                    ep->b * sin(etaXMax) * ep->sinTheta)