summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/mudraw.c4
-rw-r--r--apps/mupdfclean.c4
-rw-r--r--apps/mupdfinfo.c4
-rw-r--r--apps/pdfapp.c16
-rw-r--r--apps/x11_image.c4
-rw-r--r--cbz/mucbz.c4
-rw-r--r--draw/draw_blend.c38
-rw-r--r--draw/draw_edge.c14
-rw-r--r--draw/draw_path.c26
-rw-r--r--draw/draw_unpack.c6
-rw-r--r--fitz/base_geometry.c36
-rw-r--r--fitz/base_string.c2
-rw-r--r--fitz/dev_text.c10
-rw-r--r--fitz/filt_basic.c2
-rw-r--r--fitz/filt_predict.c6
-rw-r--r--fitz/fitz.h63
-rw-r--r--fitz/res_colorspace.c52
-rw-r--r--fitz/res_pixmap.c8
-rw-r--r--fitz/res_text.c8
-rw-r--r--fitz/stm_open.c2
-rw-r--r--fitz/stm_read.c4
-rw-r--r--pdf/pdf_colorspace.c12
-rw-r--r--pdf/pdf_font.c4
-rw-r--r--pdf/pdf_function.c22
-rw-r--r--pdf/pdf_page.c8
-rw-r--r--pdf/pdf_parse.c8
-rw-r--r--pdf/pdf_repair.c2
-rw-r--r--pdf/pdf_write.c4
-rw-r--r--pdf/pdf_xref.c2
-rw-r--r--xps/xps_gradient.c20
-rw-r--r--xps/xps_zip.c4
31 files changed, 225 insertions, 174 deletions
diff --git a/apps/mudraw.c b/apps/mudraw.c
index 359b102f..4fce251d 100644
--- a/apps/mudraw.c
+++ b/apps/mudraw.c
@@ -406,8 +406,8 @@ static void drawrange(fz_context *ctx, fz_document *doc, char *range)
epage = pagecount;
}
- spage = CLAMP(spage, 1, pagecount);
- epage = CLAMP(epage, 1, pagecount);
+ spage = fz_clampi(spage, 1, pagecount);
+ epage = fz_clampi(epage, 1, pagecount);
if (spage < epage)
for (page = spage; page <= epage; page++)
diff --git a/apps/mupdfclean.c b/apps/mupdfclean.c
index 264d8edc..6b185668 100644
--- a/apps/mupdfclean.c
+++ b/apps/mupdfclean.c
@@ -87,8 +87,8 @@ static void retainpages(int argc, char **argv)
if (spage > epage)
page = spage, spage = epage, epage = page;
- spage = CLAMP(spage, 1, pagecount);
- epage = CLAMP(epage, 1, pagecount);
+ spage = fz_clampi(spage, 1, pagecount);
+ epage = fz_clampi(epage, 1, pagecount);
for (page = spage; page <= epage; page++)
{
diff --git a/apps/mupdfinfo.c b/apps/mupdfinfo.c
index 3a1c9c39..5bdf760e 100644
--- a/apps/mupdfinfo.c
+++ b/apps/mupdfinfo.c
@@ -921,8 +921,8 @@ showinfo(char *filename, int show, char *pagelist)
if (spage > epage)
page = spage, spage = epage, epage = page;
- spage = CLAMP(spage, 1, pagecount);
- epage = CLAMP(epage, 1, pagecount);
+ spage = fz_clampi(spage, 1, pagecount);
+ epage = fz_clampi(epage, 1, pagecount);
if (allpages)
printf("Retrieving info from pages %d-%d...\n", spage, epage);
diff --git a/apps/pdfapp.c b/apps/pdfapp.c
index d2c28927..50a89610 100644
--- a/apps/pdfapp.c
+++ b/apps/pdfapp.c
@@ -1085,10 +1085,10 @@ void pdfapp_onmouse(pdfapp_t *app, int x, int y, int btn, int modifiers, int sta
if (app->iscopying)
{
app->iscopying = 0;
- app->selr.x0 = MIN(app->selx, x) - app->panx + rect.x0;
- app->selr.x1 = MAX(app->selx, x) - app->panx + rect.x0;
- app->selr.y0 = MIN(app->sely, y) - app->pany + rect.y0;
- app->selr.y1 = MAX(app->sely, y) - app->pany + rect.y0;
+ app->selr.x0 = fz_mini(app->selx, x) - app->panx + rect.x0;
+ app->selr.x1 = fz_maxi(app->selx, x) - app->panx + rect.x0;
+ app->selr.y0 = fz_mini(app->sely, y) - app->pany + rect.y0;
+ app->selr.y1 = fz_maxi(app->sely, y) - app->pany + rect.y0;
winrepaint(app);
if (app->selr.x0 < app->selr.x1 && app->selr.y0 < app->selr.y1)
windocopy(app);
@@ -1156,10 +1156,10 @@ void pdfapp_onmouse(pdfapp_t *app, int x, int y, int btn, int modifiers, int sta
else if (app->iscopying)
{
- app->selr.x0 = MIN(app->selx, x) - app->panx + rect.x0;
- app->selr.x1 = MAX(app->selx, x) - app->panx + rect.x0;
- app->selr.y0 = MIN(app->sely, y) - app->pany + rect.y0;
- app->selr.y1 = MAX(app->sely, y) - app->pany + rect.y0;
+ app->selr.x0 = fz_mini(app->selx, x) - app->panx + rect.x0;
+ app->selr.x1 = fz_maxi(app->selx, x) - app->panx + rect.x0;
+ app->selr.y0 = fz_mini(app->sely, y) - app->pany + rect.y0;
+ app->selr.y1 = fz_maxi(app->sely, y) - app->pany + rect.y0;
winrepaint(app);
}
diff --git a/apps/x11_image.c b/apps/x11_image.c
index 06764313..6392d868 100644
--- a/apps/x11_image.c
+++ b/apps/x11_image.c
@@ -432,10 +432,10 @@ ximage_blit(Drawable d, GC gc,
for (ay = 0; ay < srch; ay += HEIGHT)
{
- h = MIN(srch - ay, HEIGHT);
+ h = fz_mini(srch - ay, HEIGHT);
for (ax = 0; ax < srcw; ax += WIDTH)
{
- w = MIN(srcw - ax, WIDTH);
+ w = fz_mini(srcw - ax, WIDTH);
image = next_pool_image();
diff --git a/cbz/mucbz.c b/cbz/mucbz.c
index e8e8faa3..7a6416e1 100644
--- a/cbz/mucbz.c
+++ b/cbz/mucbz.c
@@ -263,8 +263,8 @@ cbz_read_zip_dir(cbz_document *doc)
fz_seek(file, 0, 2);
filesize = fz_tell(file);
- maxback = MIN(filesize, 0xFFFF + sizeof buf);
- back = MIN(maxback, sizeof buf);
+ maxback = fz_mini(filesize, 0xFFFF + sizeof buf);
+ back = fz_mini(maxback, sizeof buf);
while (back < maxback)
{
diff --git a/draw/draw_blend.c b/draw/draw_blend.c
index 8a751c08..e70699d4 100644
--- a/draw/draw_blend.c
+++ b/draw/draw_blend.c
@@ -63,12 +63,12 @@ static inline int fz_overlay_byte(int b, int s)
static inline int fz_darken_byte(int b, int s)
{
- return MIN(b, s);
+ return fz_mini(b, s);
}
static inline int fz_lighten_byte(int b, int s)
{
- return MAX(b, s);
+ return fz_maxi(b, s);
}
static inline int fz_color_dodge_byte(int b, int s)
@@ -111,7 +111,7 @@ static inline int fz_soft_light_byte(int b, int s)
static inline int fz_difference_byte(int b, int s)
{
- return ABS(b - s);
+ return fz_absi(b - s);
}
static inline int fz_exclusion_byte(int b, int s)
@@ -139,13 +139,13 @@ fz_luminosity_rgb(unsigned char *rd, unsigned char *gd, unsigned char *bd, int r
if (delta > 0)
{
int max;
- max = MAX(r, MAX(g, b));
+ max = fz_maxi(r, fz_maxi(g, b));
scale = (max == y ? 0 : ((255 - y) << 16) / (max - y));
}
else
{
int min;
- min = MIN(r, MIN(g, b));
+ min = fz_mini(r, fz_mini(g, b));
scale = (y == min ? 0 : (y << 16) / (y - min));
}
r = y + (((r - y) * scale + 0x8000) >> 16);
@@ -153,9 +153,9 @@ fz_luminosity_rgb(unsigned char *rd, unsigned char *gd, unsigned char *bd, int r
b = y + (((b - y) * scale + 0x8000) >> 16);
}
- *rd = CLAMP(r, 0, 255);
- *gd = CLAMP(g, 0, 255);
- *bd = CLAMP(b, 0, 255);
+ *rd = fz_clampi(r, 0, 255);
+ *gd = fz_clampi(g, 0, 255);
+ *bd = fz_clampi(b, 0, 255);
}
static void
@@ -167,20 +167,20 @@ fz_saturation_rgb(unsigned char *rd, unsigned char *gd, unsigned char *bd, int r
int scale;
int r, g, b;
- minb = MIN(rb, MIN(gb, bb));
- maxb = MAX(rb, MAX(gb, bb));
+ minb = fz_mini(rb, fz_mini(gb, bb));
+ maxb = fz_maxi(rb, fz_maxi(gb, bb));
if (minb == maxb)
{
/* backdrop has zero saturation, avoid divide by 0 */
- gb = CLAMP(gb, 0, 255);
+ gb = fz_clampi(gb, 0, 255);
*rd = gb;
*gd = gb;
*bd = gb;
return;
}
- mins = MIN(rs, MIN(gs, bs));
- maxs = MAX(rs, MAX(gs, bs));
+ mins = fz_mini(rs, fz_mini(gs, bs));
+ maxs = fz_maxi(rs, fz_maxi(gs, bs));
scale = ((maxs - mins) << 16) / (maxb - minb);
y = (rb * 77 + gb * 151 + bb * 28 + 0x80) >> 8;
@@ -193,8 +193,8 @@ fz_saturation_rgb(unsigned char *rd, unsigned char *gd, unsigned char *bd, int r
int scalemin, scalemax;
int min, max;
- min = MIN(r, MIN(g, b));
- max = MAX(r, MAX(g, b));
+ min = fz_mini(r, fz_mini(g, b));
+ max = fz_maxi(r, fz_maxi(g, b));
if (min < 0)
scalemin = (y << 16) / (y - min);
@@ -206,15 +206,15 @@ fz_saturation_rgb(unsigned char *rd, unsigned char *gd, unsigned char *bd, int r
else
scalemax = 0x10000;
- scale = MIN(scalemin, scalemax);
+ scale = fz_mini(scalemin, scalemax);
r = y + (((r - y) * scale + 0x8000) >> 16);
g = y + (((g - y) * scale + 0x8000) >> 16);
b = y + (((b - y) * scale + 0x8000) >> 16);
}
- *rd = CLAMP(r, 0, 255);
- *gd = CLAMP(g, 0, 255);
- *bd = CLAMP(b, 0, 255);
+ *rd = fz_clampi(r, 0, 255);
+ *gd = fz_clampi(g, 0, 255);
+ *bd = fz_clampi(b, 0, 255);
}
static void
diff --git a/draw/draw_edge.c b/draw/draw_edge.c
index eac7cfba..48496acd 100644
--- a/draw/draw_edge.c
+++ b/draw/draw_edge.c
@@ -316,7 +316,7 @@ fz_insert_gel_raw(fz_gel *gel, int x0, int y0, int x1, int y1)
dy = y1 - y0;
dx = x1 - x0;
- width = ABS(dx);
+ width = fz_absi(dx);
edge->xdir = dx > 0 ? 1 : -1;
edge->ydir = winding;
@@ -356,10 +356,10 @@ fz_insert_gel(fz_gel *gel, float fx0, float fy0, float fx1, float fy1)
fy0 = floorf(fy0 * fz_aa_vscale);
fy1 = floorf(fy1 * fz_aa_vscale);
- x0 = CLAMP(fx0, BBOX_MIN * fz_aa_hscale, BBOX_MAX * fz_aa_hscale);
- y0 = CLAMP(fy0, BBOX_MIN * fz_aa_vscale, BBOX_MAX * fz_aa_vscale);
- x1 = CLAMP(fx1, BBOX_MIN * fz_aa_hscale, BBOX_MAX * fz_aa_hscale);
- y1 = CLAMP(fy1, BBOX_MIN * fz_aa_vscale, BBOX_MAX * fz_aa_vscale);
+ x0 = fz_clampi(fx0, BBOX_MIN * fz_aa_hscale, BBOX_MAX * fz_aa_hscale);
+ y0 = fz_clampi(fy0, BBOX_MIN * fz_aa_vscale, BBOX_MAX * fz_aa_vscale);
+ x1 = fz_clampi(fx1, BBOX_MIN * fz_aa_hscale, BBOX_MAX * fz_aa_hscale);
+ y1 = fz_clampi(fy1, BBOX_MIN * fz_aa_vscale, BBOX_MAX * fz_aa_vscale);
d = clip_lerp_y(gel->clip.y0, 0, x0, y0, x1, y1, &v);
if (d == OUTSIDE) return;
@@ -721,8 +721,8 @@ static inline void blit_sharp(int x0, int x1, int y,
fz_bbox clip, fz_pixmap *dst, unsigned char *color)
{
unsigned char *dp;
- x0 = CLAMP(x0, dst->x, dst->x + dst->w);
- x1 = CLAMP(x1, dst->x, dst->x + dst->w);
+ x0 = fz_clampi(x0, dst->x, dst->x + dst->w);
+ x1 = fz_clampi(x1, dst->x, dst->x + dst->w);
if (x0 < x1)
{
dp = dst->samples + (unsigned int)(( (y - dst->y) * dst->w + (x0 - dst->x) ) * dst->n);
diff --git a/draw/draw_path.c b/draw/draw_path.c
index 755283b7..b0889279 100644
--- a/draw/draw_path.c
+++ b/draw/draw_path.c
@@ -28,10 +28,10 @@ bezier(fz_gel *gel, fz_matrix *ctm, float flatness,
float xabcd, yabcd;
/* termination check */
- dmax = ABS(xa - xb);
- dmax = MAX(dmax, ABS(ya - yb));
- dmax = MAX(dmax, ABS(xd - xc));
- dmax = MAX(dmax, ABS(yd - yc));
+ dmax = fz_abs(xa - xb);
+ dmax = fz_max(dmax, fz_abs(ya - yb));
+ dmax = fz_max(dmax, fz_abs(xd - xc));
+ dmax = fz_max(dmax, fz_abs(yd - yc));
if (dmax < flatness || depth >= MAX_DEPTH)
{
line(gel, ctm, xa, ya, xd, yd);
@@ -499,10 +499,10 @@ fz_stroke_bezier(struct sctx *s,
float xabcd, yabcd;
/* termination check */
- dmax = ABS(xa - xb);
- dmax = MAX(dmax, ABS(ya - yb));
- dmax = MAX(dmax, ABS(xd - xc));
- dmax = MAX(dmax, ABS(yd - yc));
+ dmax = fz_abs(xa - xb);
+ dmax = fz_max(dmax, fz_abs(ya - yb));
+ dmax = fz_max(dmax, fz_abs(xd - xc));
+ dmax = fz_max(dmax, fz_abs(yd - yc));
if (dmax < s->flatness || depth >= MAX_DEPTH)
{
fz_point p;
@@ -705,10 +705,10 @@ fz_dash_bezier(struct sctx *s,
float xabcd, yabcd;
/* termination check */
- dmax = ABS(xa - xb);
- dmax = MAX(dmax, ABS(ya - yb));
- dmax = MAX(dmax, ABS(xd - xc));
- dmax = MAX(dmax, ABS(yd - yc));
+ dmax = fz_abs(xa - xb);
+ dmax = fz_max(dmax, fz_abs(ya - yb));
+ dmax = fz_max(dmax, fz_abs(xd - xc));
+ dmax = fz_max(dmax, fz_abs(yd - yc));
if (dmax < s->flatness || depth >= MAX_DEPTH)
{
fz_point p;
@@ -780,7 +780,7 @@ fz_flatten_dash_path(fz_gel *gel, fz_path *path, fz_stroke_state *stroke, fz_mat
phase_len = 0;
for (i = 0; i < stroke->dash_len; i++)
phase_len += stroke->dash_list[i];
- max_expand = MAX(MAX(fabs(ctm.a),fabs(ctm.b)),MAX(fabs(ctm.c),fabs(ctm.d)));
+ max_expand = fz_max(fz_max(fz_abs(ctm.a),fz_abs(ctm.b)),fz_max(fz_abs(ctm.c),fz_abs(ctm.d)));
if (phase_len < 0.01f || phase_len * max_expand < 0.5f)
{
fz_flatten_stroke_path(gel, path, stroke, ctm, flatness, linewidth);
diff --git a/draw/draw_unpack.c b/draw/draw_unpack.c
index 39c287c6..e7952d04 100644
--- a/draw/draw_unpack.c
+++ b/draw/draw_unpack.c
@@ -199,7 +199,7 @@ fz_decode_indexed_tile(fz_pixmap *pix, float *decode, int maxval)
for (k = 0; k < n; k++)
{
int value = (add[k] + (((p[k] << 8) * mul[k]) >> 8)) >> 8;
- p[k] = CLAMP(value, 0, 255);
+ p[k] = fz_clampi(value, 0, 255);
}
p += n + 1;
}
@@ -212,7 +212,7 @@ fz_decode_tile(fz_pixmap *pix, float *decode)
int mul[FZ_MAX_COLORS];
unsigned char *p = pix->samples;
int len = pix->w * pix->h;
- int n = MAX(1, pix->n - 1);
+ int n = fz_maxi(1, pix->n - 1);
int needed;
int k;
@@ -234,7 +234,7 @@ fz_decode_tile(fz_pixmap *pix, float *decode)
for (k = 0; k < n; k++)
{
int value = add[k] + fz_mul255(p[k], mul[k]);
- p[k] = CLAMP(value, 0, 255);
+ p[k] = fz_clampi(value, 0, 255);
}
p += pix->n;
}
diff --git a/fitz/base_geometry.c b/fitz/base_geometry.c
index 4d83e8c2..27cc3cf3 100644
--- a/fitz/base_geometry.c
+++ b/fitz/base_geometry.c
@@ -1,7 +1,7 @@
#include "fitz-internal.h"
-#define MAX4(a,b,c,d) MAX(MAX(a,b), MAX(c,d))
-#define MIN4(a,b,c,d) MIN(MIN(a,b), MIN(c,d))
+#define MAX4(a,b,c,d) fz_max(fz_max(a,b), fz_max(c,d))
+#define MIN4(a,b,c,d) fz_min(fz_min(a,b), fz_min(c,d))
/* Matrices, points and affine transformations */
@@ -209,10 +209,10 @@ fz_intersect_rect(fz_rect a, fz_rect b)
if (fz_is_infinite_rect(b)) return a;
if (fz_is_empty_rect(a)) return fz_empty_rect;
if (fz_is_empty_rect(b)) return fz_empty_rect;
- r.x0 = MAX(a.x0, b.x0);
- r.y0 = MAX(a.y0, b.y0);
- r.x1 = MIN(a.x1, b.x1);
- r.y1 = MIN(a.y1, b.y1);
+ r.x0 = fz_max(a.x0, b.x0);
+ r.y0 = fz_max(a.y0, b.y0);
+ r.x1 = fz_min(a.x1, b.x1);
+ r.y1 = fz_min(a.y1, b.y1);
return (r.x1 < r.x0 || r.y1 < r.y0) ? fz_empty_rect : r;
}
@@ -224,10 +224,10 @@ fz_union_rect(fz_rect a, fz_rect b)
if (fz_is_infinite_rect(b)) return b;
if (fz_is_empty_rect(a)) return b;
if (fz_is_empty_rect(b)) return a;
- r.x0 = MIN(a.x0, b.x0);
- r.y0 = MIN(a.y0, b.y0);
- r.x1 = MAX(a.x1, b.x1);
- r.y1 = MAX(a.y1, b.y1);
+ r.x0 = fz_min(a.x0, b.x0);
+ r.y0 = fz_min(a.y0, b.y0);
+ r.x1 = fz_max(a.x1, b.x1);
+ r.y1 = fz_max(a.y1, b.y1);
return r;
}
@@ -239,10 +239,10 @@ fz_intersect_bbox(fz_bbox a, fz_bbox b)
if (fz_is_infinite_rect(b)) return a;
if (fz_is_empty_rect(a)) return fz_empty_bbox;
if (fz_is_empty_rect(b)) return fz_empty_bbox;
- r.x0 = MAX(a.x0, b.x0);
- r.y0 = MAX(a.y0, b.y0);
- r.x1 = MIN(a.x1, b.x1);
- r.y1 = MIN(a.y1, b.y1);
+ r.x0 = fz_maxi(a.x0, b.x0);
+ r.y0 = fz_maxi(a.y0, b.y0);
+ r.x1 = fz_mini(a.x1, b.x1);
+ r.y1 = fz_mini(a.y1, b.y1);
return (r.x1 < r.x0 || r.y1 < r.y0) ? fz_empty_bbox : r;
}
@@ -254,10 +254,10 @@ fz_union_bbox(fz_bbox a, fz_bbox b)
if (fz_is_infinite_rect(b)) return b;
if (fz_is_empty_rect(a)) return b;
if (fz_is_empty_rect(b)) return a;
- r.x0 = MIN(a.x0, b.x0);
- r.y0 = MIN(a.y0, b.y0);
- r.x1 = MAX(a.x1, b.x1);
- r.y1 = MAX(a.y1, b.y1);
+ r.x0 = fz_mini(a.x0, b.x0);
+ r.y0 = fz_mini(a.y0, b.y0);
+ r.x1 = fz_maxi(a.x1, b.x1);
+ r.y1 = fz_maxi(a.y1, b.y1);
return r;
}
diff --git a/fitz/base_string.c b/fitz/base_string.c
index 60e20ac4..fbb1cf4d 100644
--- a/fitz/base_string.c
+++ b/fitz/base_string.c
@@ -252,6 +252,6 @@ float fz_atof(const char *s)
/* Return 1.0, as it's a small known value that won't cause a divide by 0. */
return 1.0;
}
- d = CLAMP(d, -FLT_MAX, FLT_MAX);
+ d = fz_clampd(d, -FLT_MAX, FLT_MAX);
return (float)d;
}
diff --git a/fitz/dev_text.c b/fitz/dev_text.c
index cd76830d..280d1b55 100644
--- a/fitz/dev_text.c
+++ b/fitz/dev_text.c
@@ -129,7 +129,7 @@ append_char(fz_context *ctx, fz_text_span *span, int c, fz_rect bbox)
{
if (span->len == span->cap)
{
- int new_cap = MAX(64, span->cap * 2);
+ int new_cap = fz_maxi(64, span->cap * 2);
span->text = fz_resize_array(ctx, span->text, new_cap, sizeof(*span->text));
span->cap = new_cap;
}
@@ -155,7 +155,7 @@ append_span(fz_context *ctx, fz_text_line *line, fz_text_span *span)
return;
if (line->len == line->cap)
{
- int new_cap = MAX(8, line->cap * 2);
+ int new_cap = fz_maxi(8, line->cap * 2);
line->spans = fz_resize_array(ctx, line->spans, new_cap, sizeof(*line->spans));
line->cap = new_cap;
}
@@ -176,7 +176,7 @@ append_line(fz_context *ctx, fz_text_block *block, fz_text_line *line)
{
if (block->len == block->cap)
{
- int new_cap = MAX(16, block->cap * 2);
+ int new_cap = fz_maxi(16, block->cap * 2);
block->lines = fz_resize_array(ctx, block->lines, new_cap, sizeof *block->lines);
block->cap = new_cap;
}
@@ -198,13 +198,13 @@ lookup_block_for_line(fz_context *ctx, fz_text_page *page, fz_text_line *line)
float dy = line->bbox.y0 - block->bbox.y1;
if (dy > -size * 1.5f && dy < size * PARAGRAPH_DIST)
if (line->bbox.x0 <= block->bbox.x1 && line->bbox.x1 >= block->bbox.x0)
- if (ABS(dx) < w / 2)
+ if (fz_abs(dx) < w / 2)
return block;
}
if (page->len == page->cap)
{
- int new_cap = MAX(16, page->cap * 2);
+ int new_cap = fz_maxi(16, page->cap * 2);
page->blocks = fz_resize_array(ctx, page->blocks, new_cap, sizeof(*page->blocks));
page->cap = new_cap;
}
diff --git a/fitz/filt_basic.c b/fitz/filt_basic.c
index 378abe21..db95533d 100644
--- a/fitz/filt_basic.c
+++ b/fitz/filt_basic.c
@@ -21,7 +21,7 @@ static int
read_null(fz_stream *stm, unsigned char *buf, int len)
{
struct null_filter *state = stm->state;
- int amount = MIN(len, state->remain);
+ int amount = fz_mini(len, state->remain);
int n;
fz_seek(state->chain, state->pos, 0);
diff --git a/fitz/filt_predict.c b/fitz/filt_predict.c
index ebd712fd..b82c1281 100644
--- a/fitz/filt_predict.c
+++ b/fitz/filt_predict.c
@@ -52,9 +52,9 @@ static inline int paeth(int a, int b, int c)
{
/* The definitions of ac and bc are correct, not a typo. */
int ac = b - c, bc = a - c, abcc = ac + bc;
- int pa = ABS(ac);
- int pb = ABS(bc);
- int pc = ABS(abcc);
+ int pa = fz_absi(ac);
+ int pb = fz_absi(bc);
+ int pc = fz_absi(abcc);
return pa <= pb && pa <= pc ? a : pb <= pc ? b : c;
}
diff --git a/fitz/fitz.h b/fitz/fitz.h
index a66976af..ba7088ae 100644
--- a/fitz/fitz.h
+++ b/fitz/fitz.h
@@ -40,12 +40,6 @@
#define nelem(x) (sizeof(x)/sizeof((x)[0]))
-#define ABS(x) ( (x) < 0 ? -(x) : (x) )
-#define MIN(a,b) ( (a) < (b) ? (a) : (b) )
-#define MAX(a,b) ( (a) > (b) ? (a) : (b) )
-#define CLAMP(x,a,b) ( (x) > (b) ? (b) : ( (x) < (a) ? (a) : (x) ) )
-#define DIV_BY_ZERO(a, b, min, max) (((a) < 0) ^ ((b) < 0) ? (min) : (max))
-
/*
Some differences in libc can be smoothed over
*/
@@ -127,6 +121,63 @@ int gettimeofday(struct timeval *tv, struct timezone *tz);
#endif
/*
+ Some standard math functions, done as static inlines for speed.
+ People with compilers that do not adequately implement inlines may
+ like to reimplement these using macros.
+*/
+static inline float fz_abs(float f)
+{
+ return (f < 0 ? -f : f);
+}
+
+static inline int fz_absi(int i)
+{
+ return (i < 0 ? -i : i);
+}
+
+static inline float fz_min(float a, float b)
+{
+ return (a < b ? a : b);
+}
+
+static inline int fz_mini(int a, int b)
+{
+ return (a < b ? a : b);
+}
+
+static inline float fz_max(float a, float b)
+{
+ return (a > b ? a : b);
+}
+
+static inline int fz_maxi(int a, int b)
+{
+ return (a > b ? a : b);
+}
+
+static inline float fz_clamp(float f, float min, float max)
+{
+ return (f > min ? (f < max ? f : max) : min);
+}
+
+static inline int fz_clampi(int i, float min, float max)
+{
+ return (i > min ? (i < max ? i : max) : min);
+}
+
+static inline double fz_clampd(double d, double min, double max)
+{
+ return (d > min ? (d < max ? d : max) : min);
+}
+
+static inline void *fz_clampp(void *p, void *min, void *max)
+{
+ return (p > min ? (p < max ? p : max) : min);
+}
+
+#define DIV_BY_ZERO(a, b, min, max) (((a) < 0) ^ ((b) < 0) ? (min) : (max))
+
+/*
Contexts
*/
diff --git a/fitz/res_colorspace.c b/fitz/res_colorspace.c
index 587db381..c0898883 100644
--- a/fitz/res_colorspace.c
+++ b/fitz/res_colorspace.c
@@ -130,13 +130,13 @@ static void cmyk_to_rgb(fz_context *ctx, fz_colorspace *cs, float *cmyk, float *
g += 0.2119 * x;
b += 0.2235 * x;
- rgb[0] = CLAMP(r, 0, 1);
- rgb[1] = CLAMP(g, 0, 1);
- rgb[2] = CLAMP(b, 0, 1);
+ rgb[0] = fz_clamp(r, 0, 1);
+ rgb[1] = fz_clamp(g, 0, 1);
+ rgb[2] = fz_clamp(b, 0, 1);
#else
- rgb[0] = 1 - MIN(1, cmyk[0] + cmyk[3]);
- rgb[1] = 1 - MIN(1, cmyk[1] + cmyk[3]);
- rgb[2] = 1 - MIN(1, cmyk[2] + cmyk[3]);
+ rgb[0] = 1 - fz_min(1, cmyk[0] + cmyk[3]);
+ rgb[1] = 1 - fz_min(1, cmyk[1] + cmyk[3]);
+ rgb[2] = 1 - fz_min(1, cmyk[2] + cmyk[3]);
#endif
}
@@ -146,7 +146,7 @@ static void rgb_to_cmyk(fz_context *ctx, fz_colorspace *cs, float *rgb, float *c
c = 1 - rgb[0];
m = 1 - rgb[1];
y = 1 - rgb[2];
- k = MIN(c, MIN(m, y));
+ k = fz_min(c, fz_min(m, y));
cmyk[0] = c - k;
cmyk[1] = m - k;
cmyk[2] = y - k;
@@ -251,7 +251,7 @@ static void fast_rgb_to_cmyk(fz_pixmap *dst, fz_pixmap *src)
unsigned char c = 255 - s[0];
unsigned char m = 255 - s[1];
unsigned char y = 255 - s[2];
- unsigned char k = MIN(c, MIN(m, y));
+ unsigned char k = (unsigned char)fz_mini(c, fz_mini(m, y));
d[0] = c - k;
d[1] = m - k;
d[2] = y - k;
@@ -272,7 +272,7 @@ static void fast_bgr_to_cmyk(fz_pixmap *dst, fz_pixmap *src)
unsigned char c = 255 - s[2];
unsigned char m = 255 - s[1];
unsigned char y = 255 - s[0];
- unsigned char k = MIN(c, MIN(m, y));
+ unsigned char k = (unsigned char)fz_mini(c, fz_mini(m, y));
d[0] = c - k;
d[1] = m - k;
d[2] = y - k;
@@ -293,7 +293,7 @@ static void fast_cmyk_to_gray(fz_pixmap *dst, fz_pixmap *src)
unsigned char c = fz_mul255(s[0], 77);
unsigned char m = fz_mul255(s[1], 150);
unsigned char y = fz_mul255(s[2], 28);
- d[0] = 255 - MIN(c + m + y + s[3], 255);
+ d[0] = 255 - (unsigned char)fz_mini(c + m + y + s[3], 255);
d[1] = s[4];
s += 5;
d += 2;
@@ -318,9 +318,9 @@ static void fast_cmyk_to_rgb(fz_context *ctx, fz_pixmap *dst, fz_pixmap *src)
d[1] = rgb[1] * 255;
d[2] = rgb[2] * 255;
#else
- d[0] = 255 - MIN(s[0] + s[3], 255);
- d[1] = 255 - MIN(s[1] + s[3], 255);
- d[2] = 255 - MIN(s[2] + s[3], 255);
+ d[0] = 255 - (unsigned char)fz_mini(s[0] + s[3], 255);
+ d[1] = 255 - (unsigned char)fz_mini(s[1] + s[3], 255);
+ d[2] = 255 - (unsigned char)fz_mini(s[2] + s[3], 255);
#endif
d[3] = s[4];
s += 5;
@@ -346,9 +346,9 @@ static void fast_cmyk_to_bgr(fz_context *ctx, fz_pixmap *dst, fz_pixmap *src)
d[1] = rgb[1] * 255;
d[2] = rgb[0] * 255;
#else
- d[0] = 255 - MIN(s[2] + s[3], 255);
- d[1] = 255 - MIN(s[1] + s[3], 255);
- d[2] = 255 - MIN(s[0] + s[3], 255);
+ d[0] = 255 - (unsigned char)fz_mini(s[2] + s[3], 255);
+ d[1] = 255 - (unsigned char)fz_mini(s[1] + s[3], 255);
+ d[2] = 255 - (unsigned char)fz_mini(s[0] + s[3], 255);
#endif
d[3] = s[4];
s += 5;
@@ -557,7 +557,7 @@ fz_std_conv_color(fz_context *ctx, fz_colorspace *srcs, float *srcv, fz_colorspa
srcs->to_rgb(ctx, srcs, srcv, rgb);
dsts->from_rgb(ctx, dsts, rgb, dstv);
for (i = 0; i < dsts->n; i++)
- dstv[i] = CLAMP(dstv[i], 0, 1);
+ dstv[i] = fz_clamp(dstv[i], 0, 1);
}
else
{
@@ -605,7 +605,7 @@ fz_convert_color(fz_context *ctx, fz_colorspace *ds, float *dv, fz_colorspace *s
float c = 1 - sv[0];
float m = 1 - sv[1];
float y = 1 - sv[2];
- float k = MIN(c, MIN(m, y));
+ float k = fz_min(c, fz_min(m, y));
dv[0] = c - k;
dv[1] = m - k;
dv[2] = y - k;
@@ -632,7 +632,7 @@ fz_convert_color(fz_context *ctx, fz_colorspace *ds, float *dv, fz_colorspace *s
float c = 1 - sv[2];
float m = 1 - sv[1];
float y = 1 - sv[0];
- float k = MIN(c, MIN(m, y));
+ float k = fz_min(c, fz_min(m, y));
dv[0] = c - k;
dv[1] = m - k;
dv[2] = y - k;
@@ -649,16 +649,16 @@ fz_convert_color(fz_context *ctx, fz_colorspace *ds, float *dv, fz_colorspace *s
float c = sv[0] * 0.3f;
float m = sv[1] * 0.59f;
float y = sv[2] * 0.11f;
- dv[0] = 1 - MIN(c + m + y + sv[3], 1);
+ dv[0] = 1 - fz_min(c + m + y + sv[3], 1);
}
else if (ds == fz_device_rgb)
{
#ifdef SLOWCMYK
cmyk_to_rgb(ctx, NULL, sv, dv);
#else
- dv[0] = 1 - MIN(sv[0] + sv[3], 1);
- dv[1] = 1 - MIN(sv[1] + sv[3], 1);
- dv[2] = 1 - MIN(sv[2] + sv[3], 1);
+ dv[0] = 1 - fz_min(sv[0] + sv[3], 1);
+ dv[1] = 1 - fz_min(sv[1] + sv[3], 1);
+ dv[2] = 1 - fz_min(sv[2] + sv[3], 1);
#endif
}
else if (ds == fz_device_bgr)
@@ -670,9 +670,9 @@ fz_convert_color(fz_context *ctx, fz_colorspace *ds, float *dv, fz_colorspace *s
dv[1] = rgb[1];
dv[2] = rgb[0];
#else
- dv[0] = 1 - MIN(sv[2] + sv[3], 1);
- dv[1] = 1 - MIN(sv[1] + sv[3], 1);
- dv[2] = 1 - MIN(sv[0] + sv[3], 1);
+ dv[0] = 1 - fz_min(sv[2] + sv[3], 1);
+ dv[1] = 1 - fz_min(sv[1] + sv[3], 1);
+ dv[2] = 1 - fz_min(sv[0] + sv[3], 1);
#endif
}
else
diff --git a/fitz/res_pixmap.c b/fitz/res_pixmap.c
index 0fb3cdad..e9dea86a 100644
--- a/fitz/res_pixmap.c
+++ b/fitz/res_pixmap.c
@@ -384,10 +384,10 @@ void fz_invert_pixmap_rect(fz_pixmap *image, fz_bbox rect)
unsigned char *p;
int x, y, n;
- int x0 = CLAMP(rect.x0 - image->x, 0, image->w - 1);
- int x1 = CLAMP(rect.x1 - image->x, 0, image->w - 1);
- int y0 = CLAMP(rect.y0 - image->y, 0, image->h - 1);
- int y1 = CLAMP(rect.y1 - image->y, 0, image->h - 1);
+ int x0 = fz_clampi(rect.x0 - image->x, 0, image->w - 1);
+ int x1 = fz_clampi(rect.x1 - image->x, 0, image->w - 1);
+ int y0 = fz_clampi(rect.y0 - image->y, 0, image->h - 1);
+ int y1 = fz_clampi(rect.y1 - image->y, 0, image->h - 1);
for (y = y0; y < y1; y++)
{
diff --git a/fitz/res_text.c b/fitz/res_text.c
index 6b5e3e3a..2bef6d4a 100644
--- a/fitz/res_text.c
+++ b/fitz/res_text.c
@@ -81,10 +81,10 @@ fz_bound_text(fz_context *ctx, fz_text *text, fz_matrix ctm)
trm = fz_concat(tm, ctm);
gbox = fz_bound_glyph(ctx, text->font, text->items[i].gid, trm);
- bbox.x0 = MIN(bbox.x0, gbox.x0);
- bbox.y0 = MIN(bbox.y0, gbox.y0);
- bbox.x1 = MAX(bbox.x1, gbox.x1);
- bbox.y1 = MAX(bbox.y1, gbox.y1);
+ bbox.x0 = fz_min(bbox.x0, gbox.x0);
+ bbox.y0 = fz_min(bbox.y0, gbox.y0);
+ bbox.x1 = fz_max(bbox.x1, gbox.x1);
+ bbox.y1 = fz_max(bbox.y1, gbox.y1);
}
}
diff --git a/fitz/stm_open.c b/fitz/stm_open.c
index be069fb9..1709340b 100644
--- a/fitz/stm_open.c
+++ b/fitz/stm_open.c
@@ -160,7 +160,7 @@ static void seek_buffer(fz_stream *stm, int offset, int whence)
stm->rp += offset;
if (whence == 2)
stm->rp = stm->ep - offset;
- stm->rp = CLAMP(stm->rp, stm->bp, stm->ep);
+ stm->rp = fz_clampp(stm->rp, stm->bp, stm->ep);
stm->wp = stm->ep;
}
diff --git a/fitz/stm_read.c b/fitz/stm_read.c
index 216d2207..848ceef1 100644
--- a/fitz/stm_read.c
+++ b/fitz/stm_read.c
@@ -7,7 +7,7 @@ fz_read(fz_stream *stm, unsigned char *buf, int len)
{
int count, n;
- count = MIN(len, stm->wp - stm->rp);
+ count = fz_mini(len, stm->wp - stm->rp);
if (count)
{
memcpy(buf, stm->rp, count);
@@ -33,7 +33,7 @@ fz_read(fz_stream *stm, unsigned char *buf, int len)
stm->pos += n;
}
- n = MIN(len - count, stm->wp - stm->rp);
+ n = fz_mini(len - count, stm->wp - stm->rp);
if (n)
{
memcpy(buf + count, stm->rp, n);
diff --git a/pdf/pdf_colorspace.c b/pdf/pdf_colorspace.c
index ee5bc5fc..13323ce3 100644
--- a/pdf/pdf_colorspace.c
+++ b/pdf/pdf_colorspace.c
@@ -47,9 +47,9 @@ lab_to_rgb(fz_context *ctx, fz_colorspace *cs, float *lab, float *rgb)
r = (3.240449f * x + -1.537136f * y + -0.498531f * z) * 0.830026f;
g = (-0.969265f * x + 1.876011f * y + 0.041556f * z) * 1.05452f;
b = (0.055643f * x + -0.204026f * y + 1.057229f * z) * 1.1003f;
- rgb[0] = sqrtf(CLAMP(r, 0, 1));
- rgb[1] = sqrtf(CLAMP(g, 0, 1));
- rgb[2] = sqrtf(CLAMP(b, 0, 1));
+ rgb[0] = sqrtf(fz_clamp(r, 0, 1));
+ rgb[1] = sqrtf(fz_clamp(g, 0, 1));
+ rgb[2] = sqrtf(fz_clamp(b, 0, 1));
}
static void
@@ -160,7 +160,7 @@ indexed_to_rgb(fz_context *ctx, fz_colorspace *cs, float *color, float *rgb)
float alt[FZ_MAX_COLORS];
int i, k;
i = color[0] * 255;
- i = CLAMP(i, 0, idx->high);
+ i = fz_clampi(i, 0, idx->high);
for (k = 0; k < idx->base->n; k++)
alt[k] = idx->lookup[i * idx->base->n + k] / 255.0f;
idx->base->to_rgb(ctx, idx->base, alt, rgb);
@@ -203,7 +203,7 @@ pdf_expand_indexed_pixmap(fz_context *ctx, fz_pixmap *src)
{
int v = *s++;
int a = *s++;
- v = MIN(v, high);
+ v = fz_mini(v, high);
for (k = 0; k < n; k++)
*d++ = fz_mul255(lookup[v * n + k], a);
*d++ = a;
@@ -240,7 +240,7 @@ load_indexed(pdf_document *xref, pdf_obj *array)
idx->lookup = NULL;
idx->base = base;
idx->high = pdf_to_int(highobj);
- idx->high = CLAMP(idx->high, 0, 255);
+ idx->high = fz_clampi(idx->high, 0, 255);
n = base->n * (idx->high + 1);
idx->lookup = fz_malloc_array(ctx, 1, n);
diff --git a/pdf/pdf_font.c b/pdf/pdf_font.c
index 7ebb8ed6..b94cbb78 100644
--- a/pdf/pdf_font.c
+++ b/pdf/pdf_font.c
@@ -760,7 +760,7 @@ load_cid_font(pdf_document *xref, pdf_obj *dict, pdf_obj *encoding, pdf_obj *to_
fz_throw(ctx, "cid font is missing info");
obj = pdf_dict_gets(cidinfo, "Registry");
- tmplen = MIN(sizeof tmpstr - 1, pdf_to_str_len(obj));
+ tmplen = fz_mini(sizeof tmpstr - 1, pdf_to_str_len(obj));
memcpy(tmpstr, pdf_to_str_buf(obj), tmplen);
tmpstr[tmplen] = '\0';
fz_strlcpy(collection, tmpstr, sizeof collection);
@@ -768,7 +768,7 @@ load_cid_font(pdf_document *xref, pdf_obj *dict, pdf_obj *encoding, pdf_obj *to_
fz_strlcat(collection, "-", sizeof collection);
obj = pdf_dict_gets(cidinfo, "Ordering");
- tmplen = MIN(sizeof tmpstr - 1, pdf_to_str_len(obj));
+ tmplen = fz_mini(sizeof tmpstr - 1, pdf_to_str_len(obj));
memcpy(tmpstr, pdf_to_str_buf(obj), tmplen);
tmpstr[tmplen] = '\0';
fz_strlcat(collection, tmpstr, sizeof collection);
diff --git a/pdf/pdf_function.c b/pdf/pdf_function.c
index 9a3bf1c2..7c123476 100644
--- a/pdf/pdf_function.c
+++ b/pdf/pdf_function.c
@@ -209,7 +209,7 @@ ps_push_real(ps_stack *st, float n)
* cause a divide by 0. Same reason as in fz_atof. */
n = 1.0;
}
- st->stack[st->sp].u.f = CLAMP(n, -FLT_MAX, FLT_MAX);
+ st->stack[st->sp].u.f = fz_clamp(n, -FLT_MAX, FLT_MAX);
st->sp++;
}
}
@@ -897,7 +897,7 @@ eval_postscript_func(fz_context *ctx, pdf_function *func, float *in, float *out)
for (i = 0; i < func->m; i++)
{
- x = CLAMP(in[i], func->domain[i][0], func->domain[i][1]);
+ x = fz_clamp(in[i], func->domain[i][0], func->domain[i][1]);
ps_push_real(&st, x);
}
@@ -906,7 +906,7 @@ eval_postscript_func(fz_context *ctx, pdf_function *func, float *in, float *out)
for (i = func->n - 1; i >= 0; i--)
{
x = ps_pop_real(&st);
- out[i] = CLAMP(x, func->range[i][0], func->range[i][1]);
+ out[i] = fz_clamp(x, func->range[i][0], func->range[i][1]);
}
}
@@ -1068,10 +1068,10 @@ eval_sample_func(fz_context *ctx, pdf_function *func, float *in, float *out)
/* encode input coordinates */
for (i = 0; i < func->m; i++)
{
- x = CLAMP(in[i], func->domain[i][0], func->domain[i][1]);
+ x = fz_clamp(in[i], func->domain[i][0], func->domain[i][1]);
x = lerp(x, func->domain[i][0], func->domain[i][1],
func->u.sa.encode[i][0], func->u.sa.encode[i][1]);
- x = CLAMP(x, 0, func->u.sa.size[i] - 1);
+ x = fz_clamp(x, 0, func->u.sa.size[i] - 1);
e0[i] = floorf(x);
e1[i] = ceilf(x);
efrac[i] = x - floorf(x);
@@ -1091,7 +1091,7 @@ eval_sample_func(fz_context *ctx, pdf_function *func, float *in, float *out)
float ab = a + (b - a) * efrac[0];
out[i] = lerp(ab, 0, 1, func->u.sa.decode[i][0], func->u.sa.decode[i][1]);
- out[i] = CLAMP(out[i], func->range[i][0], func->range[i][1]);
+ out[i] = fz_clamp(out[i], func->range[i][0], func->range[i][1]);
}
else if (func->m == 2)
@@ -1109,14 +1109,14 @@ eval_sample_func(fz_context *ctx, pdf_function *func, float *in, float *out)
float abcd = ab + (cd - ab) * efrac[1];
out[i] = lerp(abcd, 0, 1, func->u.sa.decode[i][0], func->u.sa.decode[i][1]);
- out[i] = CLAMP(out[i], func->range[i][0], func->range[i][1]);
+ out[i] = fz_clamp(out[i], func->range[i][0], func->range[i][1]);
}
else
{
float x = interpolate_sample(func, scale, e0, e1, efrac, func->m - 1, i);
out[i] = lerp(x, 0, 1, func->u.sa.decode[i][0], func->u.sa.decode[i][1]);
- out[i] = CLAMP(out[i], func->range[i][0], func->range[i][1]);
+ out[i] = fz_clamp(out[i], func->range[i][0], func->range[i][1]);
}
}
}
@@ -1177,7 +1177,7 @@ eval_exponential_func(fz_context *ctx, pdf_function *func, float in, float *out)
float tmp;
int i;
- x = CLAMP(x, func->domain[0][0], func->domain[0][1]);
+ x = fz_clamp(x, func->domain[0][0], func->domain[0][1]);
/* constraint */
if ((func->u.e.n != (int)func->u.e.n && x < 0) || (func->u.e.n < 0 && x == 0))
@@ -1191,7 +1191,7 @@ eval_exponential_func(fz_context *ctx, pdf_function *func, float in, float *out)
{
out[i] = func->u.e.c0[i] + tmp * (func->u.e.c1[i] - func->u.e.c0[i]);
if (func->has_range)
- out[i] = CLAMP(out[i], func->range[i][0], func->range[i][1]);
+ out[i] = fz_clamp(out[i], func->range[i][0], func->range[i][1]);
}
}
@@ -1287,7 +1287,7 @@ eval_stitching_func(fz_context *ctx, pdf_function *func, float in, float *out)
float *bounds = func->u.st.bounds;
int i;
- in = CLAMP(in, func->domain[0][0], func->domain[0][1]);
+ in = fz_clamp(in, func->domain[0][0], func->domain[0][1]);
for (i = 0; i < k - 1; i++)
{
diff --git a/pdf/pdf_page.c b/pdf/pdf_page.c
index cfd9774e..4adae3fd 100644
--- a/pdf/pdf_page.c
+++ b/pdf/pdf_page.c
@@ -326,10 +326,10 @@ pdf_load_page(pdf_document *xref, int number)
if (!fz_is_empty_rect(cropbox))
mediabox = fz_intersect_rect(mediabox, cropbox);
- page->mediabox.x0 = MIN(mediabox.x0, mediabox.x1) * userunit;
- page->mediabox.y0 = MIN(mediabox.y0, mediabox.y1) * userunit;
- page->mediabox.x1 = MAX(mediabox.x0, mediabox.x1) * userunit;
- page->mediabox.y1 = MAX(mediabox.y0, mediabox.y1) * userunit;
+ page->mediabox.x0 = fz_min(mediabox.x0, mediabox.x1) * userunit;
+ page->mediabox.y0 = fz_min(mediabox.y0, mediabox.y1) * userunit;
+ page->mediabox.x1 = fz_max(mediabox.x0, mediabox.x1) * userunit;
+ page->mediabox.y1 = fz_max(mediabox.y0, mediabox.y1) * userunit;
if (page->mediabox.x1 - page->mediabox.x0 < 1 || page->mediabox.y1 - page->mediabox.y0 < 1)
{
diff --git a/pdf/pdf_parse.c b/pdf/pdf_parse.c
index 5018844c..0ba6b0a4 100644
--- a/pdf/pdf_parse.c
+++ b/pdf/pdf_parse.c
@@ -9,10 +9,10 @@ pdf_to_rect(fz_context *ctx, pdf_obj *array)
float b = pdf_to_real(pdf_array_get(array, 1));
float c = pdf_to_real(pdf_array_get(array, 2));
float d = pdf_to_real(pdf_array_get(array, 3));
- r.x0 = MIN(a, c);
- r.y0 = MIN(b, d);
- r.x1 = MAX(a, c);
- r.y1 = MAX(b, d);
+ r.x0 = fz_min(a, c);
+ r.y0 = fz_min(b, d);
+ r.x1 = fz_max(a, c);
+ r.y1 = fz_max(b, d);
return r;
}
diff --git a/pdf/pdf_repair.c b/pdf/pdf_repair.c
index 85709219..0874c2f8 100644
--- a/pdf/pdf_repair.c
+++ b/pdf/pdf_repair.c
@@ -237,7 +237,7 @@ pdf_repair_xref(pdf_document *xref, pdf_lexbuf *buf)
list = fz_malloc_array(ctx, listcap, sizeof(struct entry));
/* look for '%PDF' version marker within first kilobyte of file */
- n = fz_read(xref->file, (unsigned char *)buf->scratch, MIN(buf->size, 1024));
+ n = fz_read(xref->file, (unsigned char *)buf->scratch, fz_mini(buf->size, 1024));
if (n < 0)
fz_throw(ctx, "cannot read from file");
diff --git a/pdf/pdf_write.c b/pdf/pdf_write.c
index 566b9c0e..3527961f 100644
--- a/pdf/pdf_write.c
+++ b/pdf/pdf_write.c
@@ -583,11 +583,11 @@ static void removeduplicateobjs(pdf_document *xref, pdf_write_options *opts)
continue;
/* Keep the lowest numbered object */
- newnum = MIN(num, other);
+ newnum = fz_mini(num, other);
opts->renumber_map[num] = newnum;
opts->renumber_map[other] = newnum;
opts->rev_renumber_map[newnum] = num; /* Either will do */
- opts->use_list[MAX(num, other)] = 0;
+ opts->use_list[fz_maxi(num, other)] = 0;
/* One duplicate was found, do not look for another */
break;
diff --git a/pdf/pdf_xref.c b/pdf/pdf_xref.c
index 714cfd29..77bf5d28 100644
--- a/pdf/pdf_xref.c
+++ b/pdf/pdf_xref.c
@@ -36,7 +36,7 @@ pdf_read_start_xref(pdf_document *xref)
xref->file_size = fz_tell(xref->file);
- t = MAX(0, xref->file_size - (int)sizeof buf);
+ t = fz_maxi(0, xref->file_size - (int)sizeof buf);
fz_seek(xref->file, t, 0);
n = fz_read(xref->file, buf, sizeof buf);
diff --git a/xps/xps_gradient.c b/xps/xps_gradient.c
index 7fb0c427..e5699719 100644
--- a/xps/xps_gradient.c
+++ b/xps/xps_gradient.c
@@ -326,11 +326,11 @@ xps_draw_radial_gradient(xps_document *doc, fz_matrix ctm, fz_rect area,
if (radius_y_att)
yrad = fz_atof(radius_y_att);
- xrad = MAX(0.01f, xrad);
- yrad = MAX(0.01f, yrad);
+ xrad = fz_max(0.01f, xrad);
+ yrad = fz_max(0.01f, yrad);
/* scale the ctm to make ellipses */
- if (fabsf(xrad) > FLT_EPSILON)
+ if (fz_abs(xrad) > FLT_EPSILON)
ctm = fz_concat(fz_scale(1, yrad / xrad), ctm);
if (yrad != 0.0)
@@ -344,10 +344,10 @@ xps_draw_radial_gradient(xps_document *doc, fz_matrix ctm, fz_rect area,
r1 = xrad;
area = fz_transform_rect(fz_invert_matrix(ctm), area);
- ma = MAX(ma, ceilf(hypotf(area.x0 - x0, area.y0 - y0) / xrad));
- ma = MAX(ma, ceilf(hypotf(area.x1 - x0, area.y0 - y0) / xrad));
- ma = MAX(ma, ceilf(hypotf(area.x0 - x0, area.y1 - y0) / xrad));
- ma = MAX(ma, ceilf(hypotf(area.x1 - x0, area.y1 - y0) / xrad));
+ ma = fz_maxi(ma, ceilf(hypotf(area.x0 - x0, area.y0 - y0) / xrad));
+ ma = fz_maxi(ma, ceilf(hypotf(area.x1 - x0, area.y0 - y0) / xrad));
+ ma = fz_maxi(ma, ceilf(hypotf(area.x0 - x0, area.y1 - y0) / xrad));
+ ma = fz_maxi(ma, ceilf(hypotf(area.x1 - x0, area.y1 - y0) / xrad));
if (spread == SPREAD_REPEAT)
{
@@ -402,11 +402,11 @@ xps_draw_linear_gradient(xps_document *doc, fz_matrix ctm, fz_rect area,
k = ((area.x0 - p1.x) * x + (area.y0 - p1.y) * y) / (x * x + y * y);
mi = floorf(k); ma = ceilf(k);
k = ((area.x1 - p1.x) * x + (area.y0 - p1.y) * y) / (x * x + y * y);
- mi = MIN(mi, floorf(k)); ma = MAX(ma, ceilf(k));
+ mi = fz_mini(mi, floorf(k)); ma = fz_maxi(ma, ceilf(k));
k = ((area.x0 - p1.x) * x + (area.y1 - p1.y) * y) / (x * x + y * y);
- mi = MIN(mi, floorf(k)); ma = MAX(ma, ceilf(k));
+ mi = fz_mini(mi, floorf(k)); ma = fz_maxi(ma, ceilf(k));
k = ((area.x1 - p1.x) * x + (area.y1 - p1.y) * y) / (x * x + y * y);
- mi = MIN(mi, floorf(k)); ma = MAX(ma, ceilf(k));
+ mi = fz_mini(mi, floorf(k)); ma = fz_maxi(ma, ceilf(k));
dx = x1 - x0; dy = y1 - y0;
if (spread == SPREAD_REPEAT)
diff --git a/xps/xps_zip.c b/xps/xps_zip.c
index bb6857ee..17523f10 100644
--- a/xps/xps_zip.c
+++ b/xps/xps_zip.c
@@ -302,8 +302,8 @@ xps_find_and_read_zip_dir(xps_document *doc)
fz_seek(doc->file, 0, SEEK_END);
file_size = fz_tell(doc->file);
- maxback = MIN(file_size, 0xFFFF + sizeof buf);
- back = MIN(maxback, sizeof buf);
+ maxback = fz_mini(file_size, 0xFFFF + sizeof buf);
+ back = fz_mini(maxback, sizeof buf);
while (back < maxback)
{