799{
800 ideal r;
806
809 else
814 {
816 {
819 }
820 else
822 }
824 {
826 {
833 }
836 }
843 {
845 }
846
848 {
850 PrintS(
"====================================\n");
853 else
855#ifdef KDEBUG
858#endif
860
861
862
863
864
865
866
867
868
869
870
872 {
873 ideal_list LL=(ideal_list)
omAlloc(
sizeof(*LL));
874 LL->d=r;
875#ifndef SING_NDEBUG
877#endif
878 LL->next=L;
879 L=LL;
880 }
882 }
883
885 {
886 ideal_list Lj=L->
next;
887 ideal_list Lj_prev=L;
889 {
890 ideal_list Li=L;
891 while(Li!=Lj)
892 {
895 {
896#ifdef KDEBUG
898 {
899 Print(
"empty set L[%p] because:L[%p]\n",(
void*)Lj,(
void*)Li);
900 }
901#endif
902
903 Li=L;
905 {
906 Lj=Lj_prev;
907 if (Lj==L) Lj_prev=
NULL;
908 else
909 {
910 Lj_prev=L;
911 while(Lj_prev->next!=Lj) Lj_prev=Lj_prev->next;
912 }
913 }
915 }
916 else
917 {
918 Li=Li->next;
919 }
921 }
922 if (Lj!=
NULL) Lj=Lj->next;
923 }
924 }
925
926 if (toReset)
927 {
930 }
932 delete(strat);
933 strat=orgstrat;
935 {
936 orgstrat=strat->
next;
937 delete(strat);
938 strat=orgstrat;
939 }
941 return L;
942}
#define idDelete(H)
delete an ideal
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
static BOOLEAN idHomModule(ideal m, ideal Q, intvec **w)
static BOOLEAN idHomIdeal(ideal id, ideal Q=NULL)
long kModDeg(poly p, ring r)
void initBba(kStrategy strat)
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
ideal bbafac(ideal, ideal Q, intvec *, kStrategy strat, ideal_list FL)
void initBuchMora(ideal F, ideal Q, kStrategy strat)
void initBuchMoraPos(kStrategy strat)
void initBuchMoraCrit(kStrategy strat)
void pRestoreDegProcs(ring r, pFDegProc old_FDeg, pLDegProc old_lDeg)
void pSetDegProcs(ring r, pFDegProc new_FDeg, pLDegProc new_lDeg)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void PrintS(const char *s)
static BOOLEAN rField_has_simple_inverse(const ring r)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size