Lines Matching defs:pa

1451 /* Merge the na elements starting at pa with the nb elements starting at pb

1452 * in a stable way, in-place. na and nb must be > 0, and pa + na == pb.
1453 * Must also have that *pb < *pa, that pa[na-1] belongs at the end of the
1458 merge_lo(MergeState *ms, PyObject **pa, Py_ssize_t na,
1467 assert(ms && pa && pb && na > 0 && nb > 0 && pa + na == pb);
1470 memcpy(ms->a, pa, na * sizeof(PyObject*));
1471 dest = pa;
1472 pa = ms->a;
1492 k = ISLT(*pb, *pa, compare);
1506 *dest++ = *pa++;
1527 k = gallop_right(*pb, pa, na, 0, compare);
1532 memcpy(dest, pa, k * sizeof(PyObject *));
1534 pa += k;
1550 k = gallop_left(*pa, pb, nb, 0, compare);
1562 *dest++ = *pa++;
1574 memcpy(dest, pa, na * sizeof(PyObject*));
1578 /* The last element of pa belongs at the end of the merge. */
1580 dest[nb] = *pa;
1584 /* Merge the na elements starting at pa with the nb elements starting at pb
1585 * in a stable way, in-place. na and nb must be > 0, and pa + na == pb.
1586 * Must also have that *pb < *pa, that pa[na-1] belongs at the end of the
1591 merge_hi(MergeState *ms, PyObject **pa, Py_ssize_t na, PyObject **pb, Py_ssize_t nb)
1601 assert(ms && pa && pb && na > 0 && nb > 0 && pa + na == pb);
1606 basea = pa;
1609 pa += na - 1;
1611 *dest-- = *pa--;
1629 k = ISLT(*pb, *pa, compare);
1633 *dest-- = *pa--;
1671 pa -= k;
1672 memmove(dest+1, pa+1, k * sizeof(PyObject *));
1682 k = gallop_left(*pa, baseb, nb, nb-1, compare);
1701 *dest-- = *pa--;
1719 pa -= na;
1720 memmove(dest+1, pa+1, na * sizeof(PyObject *));
1731 PyObject **pa, **pb;
1741 pa = ms->pending[i].base;
1746 assert(pa + na == pb);
1761 k = gallop_right(*pb, pa, na, 0, compare);
1764 pa += k;
1772 nb = gallop_left(pa[na-1], pb, nb, nb-1, compare);
1780 return merge_lo(ms, pa, na, pb, nb);
1782 return merge_hi(ms, pa, na, pb, nb);