1 |
< |
/* Copyright (c) 1986 Regents of the University of California */ |
1 |
> |
/* Copyright (c) 1991 Regents of the University of California */ |
2 |
|
|
3 |
|
#ifndef lint |
4 |
|
static char SCCSid[] = "$SunId$ LBL"; |
74 |
|
/* get dimensions */ |
75 |
|
if (fscanf(fp, "%d", &dp->nd) != 1) |
76 |
|
goto scanerr; |
77 |
< |
if (dp->nd <= 0 || dp->nd > MAXDIM) { |
77 |
> |
if (dp->nd <= 0 || dp->nd > MAXDDIM) { |
78 |
|
sprintf(errmsg, "bad number of dimensions for \"%s\"", dname); |
79 |
|
error(USER, errmsg); |
80 |
|
} |
174 |
|
goto readerr; |
175 |
|
for (i = 0; i < 3; i++) { |
176 |
|
pp[i].nd = 2; |
177 |
< |
pp[i].dim[0].ne = width; |
178 |
< |
pp[i].dim[1].ne = height; |
177 |
> |
pp[i].dim[0].ne = height; |
178 |
> |
pp[i].dim[1].ne = width; |
179 |
|
pp[i].dim[0].org = |
180 |
|
pp[i].dim[1].org = 0.0; |
181 |
|
if (width <= height*inpaspect) { |
182 |
< |
pp[i].dim[0].siz = 1.0; |
183 |
< |
pp[i].dim[1].siz = inpaspect*(double)height/width; |
184 |
< |
} else { |
185 |
< |
pp[i].dim[0].siz = (double)width/height/inpaspect; |
182 |
> |
pp[i].dim[0].siz = inpaspect*(double)height/width; |
183 |
|
pp[i].dim[1].siz = 1.0; |
184 |
+ |
} else { |
185 |
+ |
pp[i].dim[0].siz = 1.0; |
186 |
+ |
pp[i].dim[1].siz = (double)width/height/inpaspect; |
187 |
|
} |
188 |
+ |
pp[i].dim[0].p = pp[i].dim[1].p = NULL; |
189 |
|
pp[i].arr = (DATATYPE *)malloc(width*height*sizeof(DATATYPE)); |
190 |
|
if (pp[i].arr == NULL) |
191 |
|
goto memerr; |
198 |
|
goto readerr; |
199 |
|
for (x = 0; x < width; x++) |
200 |
|
for (i = 0; i < 3; i++) |
201 |
< |
pp[i].arr[x*height+y] = colval(scanin[x],i); |
201 |
> |
pp[i].arr[y*width+x] = colval(scanin[x],i); |
202 |
|
} |
203 |
|
free((char *)scanin); |
204 |
|
fclose(fp); |
299 |
|
i = (lower + upper) >> 1; |
300 |
|
if (pt[0] >= dp->dim[0].p[i]) |
301 |
|
lower = i; |
302 |
< |
else if (pt[0] < dp->dim[0].p[i]) |
302 |
> |
else |
303 |
|
upper = i; |
304 |
|
} while (i != (lower + upper) >> 1); |
305 |
< |
if (i < 0) |
305 |
< |
i = 0; |
306 |
< |
else if (i > dp->dim[0].ne - 2) |
305 |
> |
if (i > dp->dim[0].ne - 2) |
306 |
|
i = dp->dim[0].ne - 2; |
307 |
|
x = i + (pt[0] - dp->dim[0].p[i]) / |
308 |
|
(dp->dim[0].p[i+1] - dp->dim[0].p[i]); |