1 #include "def.h"
2 #include "macro.h"
3
4
5 INT tep___faktor();
6 INT pph___();
plet_elmsym_homsym(a,b,c)7 INT plet_elmsym_homsym(a,b,c) OP a,b,c;
8 /* AK 111201
9 */
10 {
11 INT t=0,erg = OK;
12 CTTTTO(HASHTABLE,INTEGER,PARTITION,ELMSYM,"plet_elmsym_homsym(1)",a);
13 CTTTTO(INTEGER,HASHTABLE,PARTITION,HOMSYM,"plet_elmsym_homsym(2)",b);
14 CTTTO(EMPTY,HASHTABLE,HOMSYM,"plet_elmsym_homsym(3)",c);
15
16 if (S_O_K(c) == EMPTY)
17 { t=1; init_hashtable(c); }
18 else if (S_O_K(c) == HOMSYM)
19 { t=1; t_HOMSYM_HASHTABLE(c,c); }
20
21 {
22 /* via pph with change of basis */
23 OP f = CALLOCOBJECT();
24 erg += init_hashtable(f);
25 erg += tep___faktor(a,f,cons_eins);
26 erg += pph___(f,b,c,cons_eins);
27 FREEALL(f);
28 }
29
30 if (t==1) t_HASHTABLE_HOMSYM(c,c);
31 ENDR("plet_elmsym_homsym");
32 }
33
34
35