1559 {
1560
1561 number_type* row_array=
rows[r];
1564 number_type coef=row_array[start];
1566 int other_row;
1574 {
1575 for (other_row=r+1;other_row<
nrows;other_row++)
1576 {
1579 {
1581 number_type* other_row_array=
rows[other_row];
1582 number coef2=
npNegM((number)(
long) other_row_array[start],
currRing->cf);
1583 if (coef2==minus_one)
1584 {
1585 for(
i=start;
i<=lastIndex;
i++)
1586 {
1587 if (row_array[
i]!=zero)
1588 {
1590 }
1591 }
1592 }
1593 else
1594 {
1595 for(
i=start;
i<=lastIndex;
i++)
1596 {
1597 if (row_array[
i]!=zero)
1598 {
1600 }
1601 }
1602 }
1605 }
1606 }
1607 }
1608 else
1609 {
1610 for (other_row=r+1;other_row<
nrows;other_row++)
1611 {
1614 {
1616 number_type* other_row_array=
rows[other_row];
1617 number coef2=
npNegM((number)(
long) other_row_array[start],
currRing->cf);
1618 if (coef2==minus_one)
1619 {
1620 for(
i=start;
i<=lastIndex;
i++)
1621 {
1622 if (row_array[
i]!=zero)
1623 {
1625 }
1626 }
1627 }
1628 else
1629 {
1630 for(
i=start;
i<=lastIndex;
i++)
1631 {
1632 if (row_array[
i]!=zero)
1633 {
1635 }
1636 }
1637 }
1640 }
1641 }
1642 }
1643}
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)