File: pee.c

package info (click to toggle)
symmetrica 3.1.0%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,860 kB
  • sloc: ansic: 94,103; makefile: 206; sh: 6
file content (24 lines) | stat: -rw-r--r-- 650 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "def.h"
#include "macro.h"

INT plet_elmsym_elmsym(OP a, OP b, OP c)
{
    INT t=0,erg = OK;
    CTTTTO(HASHTABLE,INTEGER,PARTITION,ELMSYM,"plet_elmsym_elmsym(1)",a);
    CTTTTO(INTEGER,HASHTABLE,PARTITION,ELMSYM,"plet_elmsym_elmsym(2)",b);
    CTTTO(EMPTY,HASHTABLE,ELMSYM,"plet_elmsym_elmsym(3)",c);

    if (S_O_K(c) == EMPTY)
         { t=1; init_hashtable(c); }
    {
    /* via ppe with change of basis */
    OP f = CALLOCOBJECT();
    erg += init_hashtable(f);
    erg += tep___faktor(a,f,cons_eins);
    erg += ppe___(f,b,c,cons_eins);
    FREEALL(f);
    }

    if (t==1) t_HASHTABLE_ELMSYM(c,c);
    ENDR("plet_elmsym_elmsym");
}