[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.11.8 Meta Symbolics Functions

5BC94 (addt+) ( meta → meta&+ )
5BC67 (addt-) ( meta → meta&- )
5CD16 (addt*) ( meta → meta&* )
5CD2A (addtNEG) ( meta → meta&NEG )
5CD3E (addtINV) ( meta → meta&INV )
5BCC1 (repl/) ( meta&ob → meta&/ )
5BCEE (repl*) ( meta&ob → meta&* )
5ACD6 (M1st+?Drp) ( meta&+ → meta )
5BC5D (meta+) ( meta&NEG → meta&- )
5BC8A (meta-) ( meta&NEG → meta&+ )
5BCB7 (meta*) ( meta&INV → meta&/ )
5BCE4 (meta/) ( meta&INV → meta&* )
5BD3E (drpmeta+) ( meta&NEG&ob → meta&- )
( meta&ob → meta&+ )
5BD57 (drpmeta-) ( meta&NEG&ob → meta&+ )
( meta&ob → meta&- )
5BD70 (drpmeta*) ( meta&INV&ob → meta&/ )
( meta&ob → meta&* )
5BD89 (drpmeta/) ( meta&INV&ob → meta&* )
( meta&ob → meta&/ )
5BBE5 (metaneg) ( meta&NEG → meta )
( meta → meta&NEG )
5BC3F (metainv) ( meta&INV → meta )
( meta → meta&INV )
5BC03 (metaneglft) ( meta → meta' )
metaneg on left sub-expression.
5BC21 (metainvlft) ( meta → meta' )
metainv on left sub-expression.
5EA9F pshzerpsharg ( meta → M_last M_rest )
Pushes last sub-expression in meta. If meta is a valid expression M_rest will be empty.
63F92 pZpargSWAPUn ( meta → M_rest M_last )
<REF>pshzerpsharg then <REF>psh .
63F56 plDRPpZparg ( meta&ob → M_last M_rest )
Drops ob then calls <REF>pshzerpsharg .
5E68E (pargop) ( meta → M_last&op M_rest )
Pushes last sub-expression ignoring first object in meta. Thus op is +, -, etc. and M_last is their second argument.
5EAC2 (larg) ( meta → M_rest M_last )
Splits last sub-expression from meta.
5E6F2 (parg&) ( meta1 meta2 → meta1&M_last M_rest )
5CCEE (larg&) ( meta1 meta2 → meta1&M_rest M_last )
5CBF9 (drppargtop&) ( meta&ob → M_last&M_rest )
57F4B (swappargunrot) ( meta1 meta2 → M_rest meta2 M_last )
1CF42 (drppargsym) ( meta&ob → 'M_rest"MetaLast' )
Buids objects with PSYMBN. Will give invalid expressions if ob is not a two-argument function.
5F926 (splitup) ( meta #n #m → meta #level )
Calculates stack level of last object to be included when splitting last #m sub- expressions from meta starting from stack level n. (2 1 would give level of first object in the last sub-expression.)
5F96E (splitdown) ( meta #n #m → meta #lowlevel #args+1 )
Seeks stack level n-1 downwards for extra operators for #m expressions. #lowlevel is the stack level of the extra operator. #args indicates how many expressions the lowlevel operator is still missing.
558BE (?spliteq) ( meta1&meta2&= → meta2 meta1 )
If meta contains =, splits two sides, otherwise DUP.
58C02 (count+) ( meta → meta #0 )
( meta &+&+..&+ → meta #n )
58C0E (count*) ( meta → meta #0 )
( meta &*&*..&* → meta #n )
Same as count+ for *.
5BE56 (MetaMulInv)
Simplifiy combinations of INV and * (using /).
58A61 (colinv1) ( [expr1 INV expr2 INV *] → [expr1 expr2 /] )
58A93 (colinv2) ( [expr INV *] → [expr /] )
58AAC (colinv3) ( [expr1 INV expr2 *] → [expr1 expr2 /] )
5971D (MetaDNEG) double negate
Double negation.
5976B (MetaDINV) double invert
Double inversion.
597B5 (Meta*1) mult by one
Multiply by one.
5983B (Meta^1) pow by one
Raise to power of one.
59885 (Meta1/) div by one
Divide by one.
5990F (Meta+1-1) add 1 subtract 1
Add one and subtract one.
596D3 (MetaRCOLCT) restricted collection
Restricted collection.
5C6D9 (Meta<-T) move nearest right term to left
Move nearest right term to the left.
5C68D (MetaT->) move nearest left term to right
Move nearest left term to the right.
5C623 (Meta(())) parenthesise nearest term
Put parentheses over nearest term.
5C589 (Meta(<-) include left term
Include left term.
5C5D6 (Meta->)) include right term
Include right term.
5BE81 (Meta<-->) commute terms
Commute terms.
5BECE (Meta<-A) associate left term
Associate left term.
5BF53 (MetaA->) associate right term
Associate right term.
5C137 (Meta->()) remove prefix
Remove prefix.
5C0B9 (Meta<-D) delete left term
Delete left term (via expansion).
5C102 (Meta<-D!) delete left term
Delete left term (above - ^ expansion).
5BFD8 (MetaD->) delete right term
Delete right term (via expansion).
5C3C2 (Meta<-M) merge common factor on left
Merge common factor on left side.
5C4CF (MetaM->) merge common factor on right
Merge common factor on right side.
5C261 (Meta-()) double negate & remove prefix
Double negate, then remove prefix.
5C204 (Meta1/()) double invert & remove prefix
Double inversion, then remove prefix.
5C348 (MetaL*) ( LN(a^b) → b*LN(a) )
Transform LN(A^B) to LN(A)*B.
5C375 (MetaL()) ( b*LN(a) → LN(a^b) )
Transform LN(A)*B to LN(A^B).
5C2CE (MetaE^) ( EXP(a*b) → EXP(a)^b )
Transform EXP(A*B) to EXP(A)^B.
5C31B (MetaE()) ( EXP(a)^b → EXP(a*b) )
Transform EXP(A)^B to EXP(A*B).
5C670 (Meta->TRG) change EXP to trig. fns.
Change EXP to trigonometric functions.
5C53C (MetaAF) add fractions
Add fractions.
5C845 (Meta->DEF) define function
Define function (SIN, SINH, ASIN...)
5C91D (MetaTRG*) expand trig fns. of a sum
Expand trigonometric function of a sum.
5C73D (Meta->()C%) remove 1st RE,IM; CONJ
Remove first RE, IM or CONJ.
5CDF2 (Meta<-Dall)
5CEF1 (MetaD->all)
5CE15 (Meta<-Aall)
5CE4C (MetaA->all)
5CFF5 (Meta<-Mall)
5D009 (MetaM->all)
5CF5A (Meta<-Tall)
5CF23 (MetaT->all)
5CEBA (Meta(<-all)
5CE83 (Meta->)all)
5CF91 (Meta->()all)
5CFC3 (Meta->()C%all)
5CD52 (evalcase:) ( meta → ? )
Evaluates next object. If it drops current stream then continue, else SKIP next. Example:
:: evalcase: Meta<-D Meta<-Daga ;
5CD7A (revalcase:) ( meta → ?omeg )
Evaluates next object for sub-expressions until current stream is not dropped by ob. Example: Meta<-Daga =
:: revalcase: Meta<-D COLA RDROP ;
COLA RDROP is there to mark successful operation.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Carsten Dominik on May, 30 2005 using texi2html