File: pse.c

package info (click to toggle)
symmetrica 2.0-1
  • links: PTS
  • area: main
  • in suites: lenny, squeeze, wheezy
  • size: 3,892 kB
  • ctags: 4,938
  • sloc: ansic: 97,272; makefile: 8
file content (72 lines) | stat: -rw-r--r-- 1,693 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "def.h"
#include "macro.h"

INT tsp___faktor();
INT tep___faktor();
INT ppp___();

INT plet_schur_elmsym_pre101201(a,b,c) OP a,b,c;
/* AK 061201
*/
{
    INT erg = OK;
    CTTTTO(HASHTABLE,INTEGER,PARTITION,SCHUR,"plet_schur_elmsym_pre101201(1)",a);
    CTTTTO(INTEGER,HASHTABLE,PARTITION,ELMSYM,"plet_schur_elmsym_pre101201(2)",b);
    CTTTO(EMPTY,HASHTABLE,ELMSYM,"plet_schur_elmsym_pre101201(3)",c);
 
/*
    if (S_O_K(c) == EMPTY)
         t=1; init_hashtable(c); }
    pph___(a,b,c,cons_eins);
*/
    {
    /* via ppp with change of basis */
    OP d = CALLOCOBJECT();
    OP e = CALLOCOBJECT();
    OP f = CALLOCOBJECT();
    erg += init_hashtable(e);
    erg += init_hashtable(d);
    erg += init_hashtable(f);
    erg += tsp___faktor(a,f,cons_eins);
    erg += tep___faktor(b,d,cons_eins);
    erg += ppp___(f,d,e,cons_eins);
    FREEALL(d);
    FREEALL(f);
    erg += t_POWSYM_ELMSYM(e,c);
    FREEALL(e);
    }
/*
    if (t==1) t_HASHTABLE_ELMSYM(c,c);
*/
    ENDR("plet_schur_elmsym_pre101201");
}

INT ppe___();
INT plet_schur_elmsym(a,b,c) OP a,b,c;
/* AK 061201
*/
{
    INT t=0,erg = OK;
    CTTTTO(HASHTABLE,INTEGER,PARTITION,SCHUR,"plet_schur_elmsym(1)",a);
    CTTTTO(INTEGER,HASHTABLE,PARTITION,ELMSYM,"plet_schur_elmsym(2)",b);
    CTTTO(EMPTY,HASHTABLE,ELMSYM,"plet_schur_elmsym(3)",c);
 
    if (S_O_K(c) == EMPTY)
         { t=1; init_hashtable(c); }
/*
    pse___(a,b,c,cons_eins);
*/
    {
    /* via ppe with change of basis */
    OP f = CALLOCOBJECT();
    erg += init_hashtable(f);
    erg += tsp___faktor(a,f,cons_eins);
    erg += ppe___(f,b,c,cons_eins);
    FREEALL(f);
    }

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