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