251{
252 Int tempheight, firstblock, firsttemp;
253
254 tempheight = bs * p;
255 firsttemp = i / tempheight;
256 firstblock = (i / bs) % p;
257 *newsp = (sp + firstblock) % p;
258 if (myp >= 0)
259 *decal = firsttemp * bs + (
SHIFT(myp, sp, p) < firstblock ? bs : 0);
260 else
261 *decal = 0;
262 return i % bs;
263}
#define SHIFT(row, sprow, nbrow)