1555 {
1556
1557 number_type* row_array=
rows[r];
1560 number_type coef=row_array[start];
1562 int other_row;
1570 {
1571 for (other_row=r+1;other_row<
nrows;other_row++)
1572 {
1575 {
1577 number_type* other_row_array=
rows[other_row];
1578 number coef2=
npNegM((number)(
long) other_row_array[start],
currRing->cf);
1579 if (coef2==minus_one)
1580 {
1581 for(
i=start;
i<=lastIndex;
i++)
1582 {
1583 if (row_array[
i]!=zero)
1584 {
1586 }
1587 }
1588 }
1589 else
1590 {
1591 for(
i=start;
i<=lastIndex;
i++)
1592 {
1593 if (row_array[
i]!=zero)
1594 {
1596 }
1597 }
1598 }
1601 }
1602 }
1603 }
1604 else
1605 {
1606 for (other_row=r+1;other_row<
nrows;other_row++)
1607 {
1610 {
1612 number_type* other_row_array=
rows[other_row];
1613 number coef2=
npNegM((number)(
long) other_row_array[start],
currRing->cf);
1614 if (coef2==minus_one)
1615 {
1616 for(
i=start;
i<=lastIndex;
i++)
1617 {
1618 if (row_array[
i]!=zero)
1619 {
1621 }
1622 }
1623 }
1624 else
1625 {
1626 for(
i=start;
i<=lastIndex;
i++)
1627 {
1628 if (row_array[
i]!=zero)
1629 {
1631 }
1632 }
1633 }
1636 }
1637 }
1638 }
1639}
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)