1560 {
1561
1562 number_type* row_array=
rows[r];
1565 number_type coef=row_array[start];
1567 int other_row;
1575 {
1576 for (other_row=r+1;other_row<
nrows;other_row++)
1577 {
1580 {
1582 number_type* other_row_array=
rows[other_row];
1583 number coef2=
npNegM((number)(
long) other_row_array[start],
currRing->cf);
1584 if (coef2==minus_one)
1585 {
1586 for(
i=start;
i<=lastIndex;
i++)
1587 {
1588 if (row_array[
i]!=zero)
1589 {
1591 }
1592 }
1593 }
1594 else
1595 {
1596 for(
i=start;
i<=lastIndex;
i++)
1597 {
1598 if (row_array[
i]!=zero)
1599 {
1601 }
1602 }
1603 }
1606 }
1607 }
1608 }
1609 else
1610 {
1611 for (other_row=r+1;other_row<
nrows;other_row++)
1612 {
1615 {
1617 number_type* other_row_array=
rows[other_row];
1618 number coef2=
npNegM((number)(
long) other_row_array[start],
currRing->cf);
1619 if (coef2==minus_one)
1620 {
1621 for(
i=start;
i<=lastIndex;
i++)
1622 {
1623 if (row_array[
i]!=zero)
1624 {
1626 }
1627 }
1628 }
1629 else
1630 {
1631 for(
i=start;
i<=lastIndex;
i++)
1632 {
1633 if (row_array[
i]!=zero)
1634 {
1636 }
1637 }
1638 }
1641 }
1642 }
1643 }
1644}
void multiplyRow(int row, number_type coef)
static BOOLEAN npIsOne(number a, const coeffs)
static number npAddM(number a, number b, const coeffs r)
static number npNegM(number a, const coeffs r)
static number npInversM(number c, const coeffs r)
static number npSubM(number a, number b, const coeffs r)
static number npInit(long i, const coeffs r)
static BOOLEAN npIsZero(number a, const coeffs r)
int modP_lastIndexRow(number_type *row, int ncols)