MCPcopy Create free account
hub / github.com/Singular/Singular / iiAlias

Function iiAlias

Singular/ipid.cc:846–927  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

844}
845
846BOOLEAN iiAlias(leftv p)
847{
848 if (iiCurrArgs==NULL)
849 {
850 Werror("not enough arguments for proc %s",VoiceName());
851 p->CleanUp();
852 return TRUE;
853 }
854 leftv h=iiCurrArgs;
855 iiCurrArgs=h->next;
856 h->next=NULL;
857 if (h->rtyp!=IDHDL)
858 {
859 BOOLEAN res=iiAssign(p,h);
860 h->CleanUp();
861 omFreeBin((ADDRESS)h, sleftv_bin);
862 return res;
863 }
864 if ((h->Typ()!=p->Typ()) &&(p->Typ()!=DEF_CMD))
865 {
866 WerrorS("type mismatch");
867 return TRUE;
868 }
869 idhdl pp=(idhdl)p->data;
870 switch(pp->typ)
871 {
872 case CRING_CMD:
873 nKillChar((coeffs)pp);
874 break;
875 case DEF_CMD:
876 case INT_CMD:
877 break;
878 case INTVEC_CMD:
879 case INTMAT_CMD:
880 delete IDINTVEC(pp);
881 break;
882 case NUMBER_CMD:
883 nDelete(&IDNUMBER(pp));
884 break;
885 case BIGINT_CMD:
886 n_Delete(&IDNUMBER(pp),coeffs_BIGINT);
887 break;
888 case MAP_CMD:
889 {
890 map im = IDMAP(pp);
891 omFreeBinAddr((ADDRESS)im->preimage);
892 im->preimage=NULL;// and continue
893 }
894 // continue as ideal:
895 case IDEAL_CMD:
896 case MODUL_CMD:
897 case MATRIX_CMD:
898 idDelete(&IDIDEAL(pp));
899 break;
900 case PROC_CMD:
901 case RESOLUTION_CMD:
902 case STRING_CMD:
903 omFree((ADDRESS)IDSTRING(pp));

Callers 1

grammar.ccFile · 0.85

Calls 13

WerrorFunction · 0.85
VoiceNameFunction · 0.85
omFreeBinFunction · 0.85
WerrorSFunction · 0.85
nKillCharFunction · 0.85
n_DeleteFunction · 0.85
lRingDependendFunction · 0.85
ipSwapIdFunction · 0.85
CleanUpMethod · 0.80
CleanMethod · 0.80
RingDependendFunction · 0.70
TypMethod · 0.45

Tested by

no test coverage detected