class REP
****
search representation G(k)---> S(Jn)
____Kouji__Kodama
1998/04/22 K.Kodama Covering Distribution of Yang diagram1997/1 kdmun-oriented band support

1996/10 kdmLINUX version

93/12/31 02:37:04 kdmbug fix of checkEq. It failed to check on link.Change InitConj.

93/12/30 03:19:52 kdmImprove checking conjugate rep.checkEqG: When set up first 2 generators, check if it admit representation.

generating all 5-fold coverings with 80386/12MHzknot:k10c121old 26secnew 8sec

knot:q101a1old 33secnew 14sec

knot:q111a1old 33secnew 13sec


1990/1 RepM Manual set.1989/9 Theta curve support1989/8 Rep Auto search. Modula2 version1983 Manual set. Basic version


Flattened version is here



Public


Readonly Shareds
shared WorkTop,Bottom:INT;
shared Dir:BOOL;
shared GenMax:INT;
**** gen. number --> condition of the gen.
shared Rback:INT;
**** area for equivalence check of rep.
shared Relator:ARRAY{WORD};
shared RepCount:INT;
**** #of finded representation
shared Work:INT;
shared WorkTop,Bottom:INT;
shared YangList:ARRAY{INT};
**** for covering distribution_(yang)
shared base:INT;
****area for generators
shared cdBranch:COVERING_DIST_BR;
shared cdH1Br:COVERING_DIST_H1;
shared cdH1Unbr:COVERING_DIST_H1;
shared cdLink:COVERING_DIST_LK;
shared cdYang:COVERING_DIST_YANG;
shared checkTra:ARRAY{INT};
**** [1..REPmaxC] list of gen. to check if the rep. is transitive.
__List_it_in_the_order_of_used_by_setF,setY.
Be careful about the order, because it is used to update representation table.
shared freq0,freq1,freq3:INT;
shared freq0,freq1,freq3:INT;
shared freq0,freq1,freq3:INT;
shared g0,g1,g3:INT;
shared g0,g1,g3:INT;
shared g0,g1,g3:INT;
shared gen2compo:ARRAY{INT};
shared longPtr:INT;
**** area for longitudes
shared merPtr:INT;
**** area for meridian
shared orbitmPtr:INT;
**** area for br.index
shared orbitpPtr:INT;
**** area for compo~.number
shared rep_tbl:REP_TABLE;
shared rep_tbl2:REP_TABLE;
shared sPtr:INT;
****
shared set0,set1,set3:BOOL;
shared set0,set1,set3:BOOL;
shared set0,set1,set3:BOOL;
shared setG:ARRAY{REP_OP};
**** [0..2*REPmaxC]
shared sg_compo:ARRAY{INT};
shared sg_freq :ARRAY{INT};
****
shared sg_set:ARRAY{BOOL};
shared sl:ARRAY{INT};
**** compo--> non-zero if settled.
shared sr:ARRAY{BOOL};
**** rel. number-->true if used
shared stack:REP_STACK;
****
shared windLon:INT;
****winding of longitude~
shared yangPtr:INT;
**** area for Yang diagrams

Writable Shareds
shared WorkTop,Bottom:INT;
shared Dir:BOOL;
shared GenMax:INT;
**** gen. number --> condition of the gen.
shared Rback:INT;
**** area for equivalence check of rep.
shared Relator:ARRAY{WORD};
shared RepCount:INT;
**** #of finded representation
shared Work:INT;
shared WorkTop,Bottom:INT;
shared YangList:ARRAY{INT};
**** for covering distribution_(yang)
shared base:INT;
****area for generators
shared cdBranch:COVERING_DIST_BR;
shared cdH1Br:COVERING_DIST_H1;
shared cdH1Unbr:COVERING_DIST_H1;
shared cdLink:COVERING_DIST_LK;
shared cdYang:COVERING_DIST_YANG;
shared checkTra:ARRAY{INT};
**** [1..REPmaxC] list of gen. to check if the rep. is transitive.
__List_it_in_the_order_of_used_by_setF,setY.
Be careful about the order, because it is used to update representation table.
shared freq0,freq1,freq3:INT;
shared freq0,freq1,freq3:INT;
shared freq0,freq1,freq3:INT;
shared g0,g1,g3:INT;
shared g0,g1,g3:INT;
shared g0,g1,g3:INT;
shared gen2compo:ARRAY{INT};
shared longPtr:INT;
**** area for longitudes
shared merPtr:INT;
**** area for meridian
shared orbitmPtr:INT;
**** area for br.index
shared orbitpPtr:INT;
**** area for compo~.number
shared rep_tbl2:REP_TABLE;
shared rep_tbl:REP_TABLE;
shared sPtr:INT;
****
shared set0,set1,set3:BOOL;
shared set0,set1,set3:BOOL;
shared set0,set1,set3:BOOL;
shared setG:ARRAY{REP_OP};
**** [0..2*REPmaxC]
shared sg_compo:ARRAY{INT};
shared sg_freq :ARRAY{INT};
****
shared sg_set:ARRAY{BOOL};
shared sl:ARRAY{INT};
**** compo--> non-zero if settled.
shared sr:ARRAY{BOOL};
**** rel. number-->true if used
shared stack:REP_STACK;
****
shared windLon:INT;
****winding of longitude~
shared yangPtr:INT;
**** area for Yang diagrams

Features
Free
Fs1(inout g,inout cn:INT):BOOL
**** set g
Fs2(inout g,inout cn:INT):BOOL
****
__set__g
Fs4(inout g,inout cn:INT):BOOL
**** set g
Fs5(inout g,inout cn:INT):BOOL
**** set g
FsNewG(inout g,inout cn, g1, cn1:INT)
Hom
InitSet(TCode:TCODE)
InitVar(TCode:TCODE)
NextRep(TCode:TCODE, h1B,h1U,hT,brI,cvL,
Rel
RelSr(inout rn:INT, gc:INT, p0,p1,p2:INT)
**** gc:= p0 p1 p2
RepSearch(TCode:TCODE, n,
SetRep
SetYang(g:INT)
SwLog
T1
Tra
**** check transitive
WriteRep(TCode:TCODE, eff:BOOL)
WriteRepLog(TCode:TCODE,eff:BOOL)
**** if true then write the result, else write the state of manual set.
checkStack
printD_F(i:INT)
printD_G
****
printD_compo(str:STR, num:INT)
printD_gen(i:INT, str:STR)
setRelG(rn:INT)
**** Assume the relation be the form of crossing: (a b a~ c~) or theta: (a b c~) or un-ori.band: a b

The Sather Home Page