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