class SL2P_STACK
****
2002-12 K.Kodamaattr lst:ARRAY{SL2P};




Public


Readable Attributes
attr bottom:CARD; .. Included as bottom
**** 0<bottom<pt<st.size [ 0..(static work).. Bottom..(stack work) ]
attr cnj:SL2P_CNJ_CLS;
attr p:INT;
**** prime attr lst:ARRAY{SL2P};
attr
attr pt:CARD; .. Included as pt
**** stack pointer. assume that stack.has_ind(pt). [ 0..(static work).. Bottom..(stack work) ]
attr st:ARRAY{GT}; .. Included as st
**** stack group GT [ 0..(static work).. Bottom..(stack work) ]

Writable Attributes
attr bottom:CARD; .. Included as bottom
**** 0<bottom<pt<st.size [ 0..(static work).. Bottom..(stack work) ]
attr cnj:SL2P_CNJ_CLS;
attr
attr pt:CARD; .. Included as pt
**** stack pointer. assume that stack.has_ind(pt). [ 0..(static work).. Bottom..(stack work) ]
attr st:ARRAY{GT}; .. Included as st
**** stack group GT [ 0..(static work).. Bottom..(stack work) ]

Features
CMul(w:ARRAY{INT})
**** +1
Conjugate( P,Q :INT)
**** +1 -- Fetch Q P Q~
Drop .. Included as Drop
**** -1
Dup .. Included as Dup
**** +1
Eq1:BOOL
**** -1 -- check if unit
Eq:BOOL
**** -2 -- if st[pt]=st[pt-1]
Fetch(i:CARD) .. Included as Fetch
**** +1
Fetch(i:INT)
**** +1
Gen:BOOL
**** 0/-2
GenConj:BOOL
**** 0/-4if Gen then return true; else Pd(2);return false; end;
GenConjDispose
**** -4
GenY:BOOL
**** 0/-2
GenYang:BOOL
**** true: +0, false: -2
InitConj
**** Assume thet a conj. class id/Yang-diagram is on the stack top. 1+3 : 0:c, -1:work, -2:n, -3:class.
InitGen
**** +2
InitGenY(Ynum:CARD)
**** +2
InitYang
**** +2
Inv
**** 0
Mul
**** -1 -- fetch(a); fetch(b); Mul implies a*b
Over .. Included as Over
**** +1
Pd .. Included as Pd
**** -1
Pd(n:CARD) .. Included as Pd
**** -n
Pu .. Included as Pu
**** +1
Pu(n:CARD) .. Included as Pu
**** +n
Rot .. Included as Rot
**** 0
Store(i:CARD) .. Included as Store
**** -1
Store(i:INT)
**** -1
Swap .. Included as Swap
**** 0
Unit
**** +1
WriteStackLog
**** -1
Yang
**** +1
create(prime_number:INT):SAME
create:SAME .. Included as create
resize .. Included as resize


Private

get_element:GT .. Included as get_element
attr p:INT;
**** prime attr lst:ARRAY{SL2P};

The Sather Home Page