git: 9front

Download patch

ref: 2690d62c3a2e0f1d2c40f5282e16e33a60014844
parent: c98f1d19305a0c637190afa47a1f2e3b0d889e4e
author: ppatience0 <ppatience0@gmail.com>
date: Sat Jul 20 14:00:34 EDT 2013

readtif, writetif: simplify rounding

--- a/sys/src/cmd/jpg/readtif.c
+++ b/sys/src/cmd/jpg/readtif.c
@@ -1574,7 +1574,6 @@
 static int
 checkfields(Tif *t)
 {
-	double a, b;
 	ulong n, size;
 
 	if(t->dx == 0) {
@@ -1647,9 +1646,7 @@
 		werrstr("rows per strip");
 		return -1;
 	}
-	a = (double)t->dy;
-	b = (double)t->rows;
-	n = (ulong)floor((a+b-1)/b);
+	n = (t->dy + t->rows - 1) / t->rows;
 	if(t->strips == nil || t->nstrips != n) {
 		werrstr("strip offsets");
 		return -1;
--- a/sys/src/cmd/jpg/writetif.c
+++ b/sys/src/cmd/jpg/writetif.c
@@ -1041,19 +1041,14 @@
 {
 	int rgb;
 	ulong i, count, n;
-	double a, b;
 
 	count = t->ndata < 0x2000? t->ndata: 0x2000;
-	t->rows = count / t->bpl;
-	if(count%t->bpl != 0)
-		t->rows++;
+	t->rows = (count + t->bpl - 1) / t->bpl;
 	if(t->comp == Tt4enc && t->opt) {
 		if((n = t->rows%Kpar) != 0)
 			t->rows += Kpar - n;
 	}
-	a = (double)t->dy;
-	b = (double)t->rows;
-	t->nstrips = (ulong)floor((a+b-1)/b);
+	t->nstrips = (t->dy + t->rows - 1) / t->rows;
 	t->strips = malloc(t->nstrips*sizeof *t->strips);
 	if(t->strips == nil)
 		return memerr;
--