205 int leftsign = sign(a);
206 if (leftsign != sign(b) )
210 int leftstart = (a_intg)a.akku[A_BEGIN];
211 int leftend = (a_intg)a.akku[A_END];
212 int rightstart = (a_intg)b.akku[A_BEGIN];
213 int rightend = (a_intg)b.akku[A_END];
215 if (leftend < rightstart || rightend < leftstart)
220 while (res && leftstart < rightstart)
221 res = (a.akku[leftstart++] == ZERO);
223 while (res && rightstart < leftstart)
224 res = (b.akku[rightstart++] == ZERO);
226 while (res && leftstart <= leftend && leftstart <= rightend)
228 res = (a.akku[leftstart++] == b.akku[rightstart++]);
231 while (res && leftstart <= leftend)
232 res = (a.akku[leftstart++] == ZERO);
233 while (res && rightstart <= rightend)
234 res = (b.akku[rightstart++] == ZERO);
238 return res && (a.err == b.err);
243 int res =
true, cont;
249 int leftsign = sign(a);
250 int rightsign = sign(b);
251 if (leftsign != rightsign)
252 res = (leftsign < rightsign);
253 else if (leftsign == 0)
257 int leftstart = (a_intg)a.akku[A_BEGIN];
258 int leftend = (a_intg)a.akku[A_END];
259 int rightstart = (a_intg)b.akku[A_BEGIN];
260 int rightend = (a_intg)b.akku[A_END];
262 if (leftend < rightstart)
263 res = (leftsign == -1);
264 else if (rightend < leftstart)
265 res = (leftsign != -1);
273 while (cont && leftstart < rightstart)
275 cont = (a.akku[leftstart++] == ZERO);
282 while (cont && rightstart < leftstart)
284 cont = (b.akku[rightstart++] == ZERO);
292 while (cont && leftstart <= leftend && leftstart <= rightend)
294 cont = (a.akku[leftstart] == b.akku[rightstart]);
297 res = (a.akku[leftstart] <= b.akku[rightstart]);
299 leftstart++,rightstart++;
305 while (cont && leftstart <= leftend)
307 cont = (a.akku[leftstart++] == ZERO);
314 while (cont && rightstart <= rightend)
316 cont = (b.akku[rightstart++] == ZERO);