Changeset dd5534 in git for Singular/iparith.cc
- Timestamp:
- Mar 15, 2011, 3:45:13 PM (12 years ago)
- Branches:
- (u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
- Children:
- 91b031a4e88cb480f4ba993bf5904694c62d9b34
- Parents:
- c4dab43d69dd36ed09ba07d4e771236f8a7bcc39
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/iparith.cc
rc4dab4 rdd5534 27 27 #include <kernel/longtrans.h> 28 28 #include <kernel/ideals.h> 29 #include <kernel/prCopy.h> 29 30 #include <kernel/matpol.h> 30 31 #include <kernel/kstd1.h> … … 1759 1760 { 1760 1761 assumeStdFlag(v); 1762 #ifdef HAVE_RINGS 1763 if (rField_is_Ring(currRing)) 1764 { 1765 ring origR = currRing; 1766 ring tempR = rCopy(origR); 1767 tempR->ringtype = 0; tempR->ch = 0; 1768 rComplete(tempR); 1769 ideal vid = (ideal)v->Data(); 1770 int i = idPosConstant(vid); 1771 if ((i != -1) && (nIsUnit(pGetCoeff(vid->m[i])))) 1772 { /* ideal v contains unit; dim = -1 */ 1773 res->data = (char *)-1; 1774 return FALSE; 1775 } 1776 rChangeCurrRing(tempR); 1777 ideal vv = idrCopyR(vid, origR, currRing); 1778 ideal ww = idrCopyR((ideal)w->Data(), origR, currRing); 1779 /* drop degree zero generator from vv (if any) */ 1780 if (i != -1) pDelete(&vv->m[i]); 1781 long d = (long)scDimInt(vv, ww); 1782 if (rField_is_Ring_Z(origR) && (i == -1)) d++; 1783 res->data = (char *)d; 1784 idDelete(&vv); idDelete(&ww); 1785 rChangeCurrRing(origR); 1786 rDelete(tempR); 1787 return FALSE; 1788 } 1789 #endif 1761 1790 if(currQuotient==NULL) 1762 1791 res->data = (char *)((long)scDimInt((ideal)(v->Data()),(ideal)w->Data())); … … 3599 3628 { 3600 3629 assumeStdFlag(v); 3630 #ifdef HAVE_RINGS 3631 if (rField_is_Ring(currRing)) 3632 { 3633 ring origR = currRing; 3634 ring tempR = rCopy(origR); 3635 tempR->ringtype = 0; tempR->ch = 0; 3636 rComplete(tempR); 3637 ideal vid = (ideal)v->Data(); 3638 int i = idPosConstant(vid); 3639 if ((i != -1) && (nIsUnit(pGetCoeff(vid->m[i])))) 3640 { /* ideal v contains unit; dim = -1 */ 3641 res->data = (char *)-1; 3642 return FALSE; 3643 } 3644 rChangeCurrRing(tempR); rComplete(tempR); 3645 ideal vv = idrCopyR(vid, origR, currRing); 3646 /* drop degree zero generator from vv (if any) */ 3647 if (i != -1) pDelete(&vv->m[i]); 3648 long d = (long)scDimInt(vv, currQuotient); 3649 if (rField_is_Ring_Z(origR) && (i == -1)) d++; 3650 res->data = (char *)d; 3651 idDelete(&vv); 3652 rChangeCurrRing(origR); 3653 rDelete(tempR); 3654 return FALSE; 3655 } 3656 #endif 3601 3657 res->data = (char *)(long)scDimInt((ideal)(v->Data()),currQuotient); 3602 3658 return FALSE;
Note: See TracChangeset
for help on using the changeset viewer.