350 {
353 *iteratorA = monomA.ListHead,
354 *iteratorB = monomB.ListHead;
355
356 while (iteratorA && iteratorB)
357 {
358 if (iteratorA->Value == iteratorB->Value)
359 {
360 iteratorA = iteratorA->Next;
361 iteratorB = iteratorB->Next;
362 }
363 else
364 {
367 (*iterator)->Value = iteratorA->Value;
368 iterator = &((*iterator)->Next);
369 if (iteratorA->Value < iteratorB->Value)
370 {
371 iteratorA = iteratorA->Next;
372 }
373 }
374 }
375
376 while (iteratorA)
377 {
380 (*iterator)->Value = iteratorA->Value;
381 iterator = &((*iterator)->Next);
382 iteratorA = iteratorA->Next;
383 }
384 }
Singly linked-list node of a Monom's variable list, with a per-class slab allocator.