readtif, writetif: simplify rounding

This commit is contained in:
ppatience0 2013-07-20 18:00:34 -04:00
parent 0fc3aa99a1
commit 171db68c3d
2 changed files with 3 additions and 11 deletions

View file

@ -1574,7 +1574,6 @@ readfield(Tif *t, Fld *f)
static int
checkfields(Tif *t)
{
double a, b;
ulong n, size;
if(t->dx == 0) {
@ -1647,9 +1646,7 @@ checkfields(Tif *t)
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;

View file

@ -1041,19 +1041,14 @@ alloctif(Tif *t)
{
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;