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