home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / MISC / MATH / RPN095.ZIP / RPNMAN.TXT < prev    next >
Encoding:
Text File  |  1990-11-21  |  33.4 KB  |  973 lines

  1.  
  2.  
  3.  
  4.                          SJ Scientific presents
  5.  
  6.                          an RPN based scientific
  7.  
  8.                             calculating tool
  9.  
  10.  
  11.                   R RRRR          PPPPPP         NN     NNN
  12.                    R    R          P    P         NN     N
  13.                    R    R          P    P         N N    N
  14.           SJ .     RRRRR           PPPPP          N  N   N
  15.                    R   R           P              N   N  N
  16.                    R    R          P              N    N N
  17.                    R     R         P              N     NN
  18.                   RRR    RR       PRP            NNN     NN
  19.  
  20.  
  21.                          Written by J.I. Landman
  22.                              Copyright 1989,1990
  23.                              SJ Scientific
  24.  
  25.       (SJ Scientific is a partnership wholly owned by Sofia Villanueva
  26.        and Joseph I Landman, whose purpose is the dissemination of tools
  27.        useful for students/professionals using personal computers)
  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.                            Table Of Contents:
  72.                            ++++++++++++++++++
  73.  
  74.                  Page                            Description
  75.                  ----                            -----------
  76.  
  77.                  3                               Introduction
  78.                  4                               Program Description
  79.                  5                               System requirements
  80.                  5                               Legal Stuff
  81.                  6                               A Note to New Users
  82.                  8                               Starting Out
  83.                  8                               Program Usage
  84.                 11                               Function List
  85.                 15                               Ordering Info
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.            Introduction:
  142.            =============
  143.  
  144.               RPN is a calculating tool written by J.I. Landman to be used
  145.            primarily by scientists and engineers.  RPN is basically a
  146.            calculator, with quite a bit of power.
  147.               RPN is a  useful and powerful  tool for those  who regularly use
  148.            Hewlett Packard  calculators (such as  the HP-42S,  after which RPN
  149.            was modeled), and wish a similar amount of functionality on their
  150.            PC's.
  151.               RPN  is  rather bland  looking  when first  invoked.   But looks
  152.            aren't important.  I am afraid that I am more interested in the
  153.            utility of a tool than its appearance, as I would hate for my
  154.            wonderful creation to sit unused but beautiful upon someone's
  155.            machine.  This might be changed in the future.  But for the moment,
  156.            I have attempted to make RPN be as user friendly/fault tolerant
  157.            as possible.
  158.              As well, RPN can do things that few other programs for a PC can
  159.            do.  RPN handles complex numbers in a transparent fashion, indeed
  160.            it is intrinsically a complex number calculator.  With 1 or 2 noted
  161.            exceptions, ALL the functions that normally operate upon the set of
  162.            real numbers have been extended and researched (in my handy dandy
  163.            copy of "Handbook of Mathematical Functions" Abramowitz and Stegun)
  164.            to deal with the complex plane.
  165.              I am also intrigued by the possibility of a 1 word synonym
  166.            replacing several commands.  So I have included this within the
  167.            program.  The Synonym as it is implemented, is a wonderful thing.
  168.            one may store useful numbers within it, as well as commands.  More
  169.            on this later.
  170.              I have found the stack paradigm to be a useful tool in my
  171.            calculating tasks, so I have implemented a simple stack of complex
  172.            numbers,  16 entries deep. (8 of which are visible on screen).
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.              In all fairness, this calculator reflects my prejudices about
  184.            computation in general.  I find it suits most of my needs very well
  185.            (I am a graduate Physics student).   I hope that it will suit other
  186.            physical scientists/researchers/engineers/students as well.
  187.              Please do feel free to correspond with me about what you like
  188.            or dislike, and what features you would like to see.  I am very
  189.            amenable to suggestions for improvement of this tool.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.            Note:  Within this document and my program, I make liberal use
  197.                   of the word RPN.  I have explained the meaning of RPN, but
  198.                   I know not whom owns the copyrights (if any) to that word
  199.                   idea, etc.
  200.                     However...  I do also use the words NOS TOS ... .  These
  201.                   are ideas that I found within my HP-15C manual.  Thus my
  202.                   very limited research leads me to believe that I should
  203.                   cite Hewlett Packard as the holder of copyrights for those
  204.                   ideas.
  205.                     Indeed the very inspiration for this program was my brand
  206.                   new HP-42s calculator.  I very much wanted a similar program
  207.                   on my PC.  So I wrote one.
  208.                     So I wish to thank HP for the terminology TOS,NOS, and for
  209.                   their marvelous calculating tools.
  210.  
  211.  
  212.                   (HP-42s, NOS, TOS are copyrights of Hewlett Packard Corp)
  213.  
  214.  
  215.  
  216.            What RPN was written in
  217.            =======================
  218.  
  219.              RPN is written in MicroSoft QuickBasic version 4.5
  220.            The choice of this language was rather simple, BASIC though
  221.            scoffed at by so called professional programmers, is a powerful
  222.            language.  (since QB is NOT available on Vaxen and IBM mainframes
  223.            I  am beginning  the process  of porting  this program  to fortran,
  224.            though I am investigating recoding it to live happily on the Vax)
  225.              As a result of its beautiful debugging [Quickbasic]
  226.            environment, I have been able to test the program to a very fine
  227.            level.  For each function I have added, I have checked MANY
  228.            values in the real and complex plane against what is printed in
  229.            A&S, and as well, against my HP-42s.  I had found problems with
  230.            several algorithms in A&S (well I wrote the code...), so I reworked
  231.            the math  as to  correct them.   There may  yet be  little critters
  232.            hiding somewhere, but I have not  found any recently... (yes I have
  233.            been looking).
  234.              I would be cautious in general about using functions near
  235.            the limits of their domains.  For example, from L'Hopitals rule
  236.            we know that sin(x)/x goes to 1 in the limit of x approaching 0.
  237.            RPN craps out around x=10^(-170) or so (thats 10.0d0**(-170) for
  238.            the more fortranesq reader).  But those who use RPN are quite
  239.            familiar with  the idea that  one should be  careful about dividing
  240.            by very small numbers.
  241.              For  those   interested,  I   am  relying   upon  the   built  in
  242.            emulator library, and thus have  not coded the lower level function
  243.            calls  myself.   I  will  try  to  put  in  taylor  and  asymptotic
  244.            expansions  in  the  near  future, in  an  effort  to  increase the
  245.            accuracy.  I have replaced the old magnitude function to deal with
  246.          the case of one component of the complex number being much larger
  247.          than the other.  I use an exact expression for 1 case, and a taylor
  248.          expansion for the other.  This gives more exact results in general.
  249.  
  250.            SYSTEM REQUIREMENTS
  251.            ===================
  252.  
  253.            I recommend first of all some sort of IBM PC compatible computer.
  254.            I have  no idea whether   this or  any program compiled  in QB will
  255.            work on every compatible,  or PC emulator (eg  MacPC etc).  I wrote
  256.  
  257.  
  258.  
  259.  
  260.            this on my "souped up" PC (well, I have an 8087...)
  261.  
  262.              You will need 1 or more disk drives.  A hard disk is fine, or a
  263.            ram disk, etc.   (I use my hard disk)  A note: The program only
  264.            reads or writes disks during diary operations.
  265.  
  266.              You will need some sort of display and adapter (not necessarily
  267.            graphics).
  268.  
  269.              Most definitely you will need a keyboard, some electric current,
  270.            and the desire to play with this program.
  271.  
  272.              Once you have this you are all set.  Please do note, I will and I
  273.            do assume a certain level of knowledge in mathematics and the use
  274.            of PC's.
  275.  
  276.              The software can use the 8087 numeric coprocessor, or it will
  277.            do a very nice job of emulating it if you do not have it.
  278.  
  279.              RPN needs at least 160K of main memory (RAM).  It requires
  280.            DOS 2.1 or higher (my machine uses DOS 3.3, but I used no advanced
  281.            DOS functions).
  282.  
  283.              It does require an 80 column display so it will run on any of
  284.            MDA,HGC,CGA,EGA, or VGA (my VGA works very well with it)
  285.  
  286.              You can see how versatile this program is already!
  287.  
  288.  
  289.  
  290.  
  291.            A Note to new users.
  292.            ____________________
  293.  
  294.  
  295.            Scope and Domain of program
  296.            ===========================
  297.  
  298.              The source code is not available, and the copy of the program
  299.            you have is an unregistered evaluation copy.  I place this program
  300.            into the public domain, under the "Shareware" concept.  That is if
  301.            you find this program of utility for you or your work, then please
  302.            do read on, otherwise, feel free to pass this along to several
  303.            friends who may find some use for this sort of tool.  I do encourage
  304.          you to upload this to BBS's far and wide, intact (eg the way you
  305.          downloaded it from a BBS, received it from a friend, etc).
  306.            The scope of the program is that of an extensible complex number
  307.          calculator.  I will be adding features such as integration by
  308.          various means, differentiation, etc, as soon as I recode this 
  309.          into fortran.  It is USER EXTENDIBLE by using the SYNONYM command.
  310.          This is EXTREMELY powerful (caps for emphasis!).
  311.  
  312.  
  313.  
  314.       GENERAL INFORMATION
  315.       ====================
  316.         (and legal stuff)
  317.  
  318.               i) Me
  319.                    I am a graduate student at Wayne State University
  320.                    studying Physics.  I am working toward my PhD.  (I have
  321.                  my masters as of June 1990).
  322.                    Being a graduate student, I am living on the miserly
  323.  
  324.  
  325.  
  326.  
  327.                    pittance given by the university for many hours of hard
  328.                    labor.  Thus the MANY months of development time I have
  329.                    put into it are worth quite a bit to me, and they should be
  330.                    to you as well.
  331.  
  332.                    So If you need to contact me for ANY reason...
  333.  
  334.                    My school mail box
  335.                            J. Landman
  336.                            Graduate Student,
  337.                            Physics and Astronomy Dept, Physics Bldg,
  338.                            Wayne State University,
  339.                            Detriot, MI 48202
  340.                          (313)-425-5159 (voice)
  341.                          landman@msupa.bitnet
  342.                          landman@msupa.pa.msu.edu
  343.                          07480jln at MSU
  344.                          07480jln@msu.bitnet
  345.                          msuhep::landman
  346.  
  347.              ii) You
  348.                    You are free to use and copy this program and
  349.                    documentation, provided you distribute all the original
  350.                    files, and make no alterations to them.  If you wish to use
  351.                    this in a corporate, or laboratory environment, you
  352.                    must arrange for a site license from SJ Scientific.
  353.                    The rates are:
  354.                                   $12.50 for the first 2 computers.
  355.                                   $10  for each additional computer over the
  356.                                       initial 2.
  357.             (considering the cost of a new calculator this is quite good)
  358.                    If you find this program to be of utility for your work,
  359.                    I would encourage you to contribute to my efforts, and
  360.                    and register this copy of RPN, as your conscience would
  361.                    bother you for the rest of your days if you did not...
  362.                       If  you  would  be interested  in  receiving  the latest
  363.                    version
  364.                    of RPN,  please send me a blank formatted disk, a large
  365.                    Self Addressed Stamped Envelope,  and $10.00 in the form of
  366.                    a check or money order (to cover my overhead, $12.00 if you
  367.                    do not have a disk, $15.00 if you do not have an envelope
  368.                    either).  Obviously, I will register you as a user.
  369.  
  370.  
  371.             iii) Registration
  372.                       If  you  wish to  register  yourself  as a  user  of the
  373.                    program,  then please  send  me your  name,  address, phone
  374.                    number,  and  $12.50.   This  entitles  you  to  the latest
  375.                    version of  RPN.  If you  are seeking a  site licence, then
  376.                   you must register  each copy of the  program as noted above.
  377.                   (see "ii").
  378.                      I  will attempt  to provide  upgrades at  more or  less a
  379.                    quarterly basis.  It may be  more frequent, it may be less,
  380.                    depending upon  my schedule  of classes,  research, etc.  I
  381.                    make  no  guarantees  as  to  the  frequency  or  number of
  382.                    updates.
  383.  
  384.            iv) Where I am going with all of this
  385.                       I am targeting this program for the people studying
  386.                    physical sciences and related topics.  I am VERY open to
  387.                    suggestions.  So please feel free to comment.
  388.  
  389.                     If you find  or write useful  synonym libraries (or useful
  390.                    diary  files), I  would  be happy  to  include them  in the
  391.                    utility files of the distribution.
  392.  
  393.  
  394.  
  395.  
  396.  
  397.             v)   Liabilities
  398.                   See the other document file within this package.
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.            Now for useful things...
  451.  
  452.  
  453.            STARTING OUT (running the program)
  454.            ============
  455.  
  456.              Somehow place RPN into the default directory.  This can be
  457.            accomplished any number of ways.
  458.  
  459.  
  460.  
  461.  
  462.            for a hard disk system, if the program is in C:\RPN
  463.                    type CD \RPN <enter>
  464.            for a floppy drive system, first make sure you have RPN on the
  465.            diskette in the default drive.
  466.            for example if RPN is on drive B,
  467.                    type B: <enter>
  468.  
  469.            Now type RPN <enter>. Where
  470.            <enter> is the enter/return key.  You are now in the program.
  471.  
  472.  
  473.  
  474.            USING RPN
  475.            =========
  476.  
  477.            1) How to enter expressions
  478.  
  479.            RPN is a notation developed by a Polish Mathematician in order to
  480.            simplify computation and order of operations.  It is also called
  481.            postfix by computer science types.  Hewlett Packard calculators
  482.            are famous for their implementation of postfix.
  483.               We are used to a notation called infix where operators (such as
  484.            +,-,/,* etc) are placed between 2 numbers.  For example 1 + 1.
  485.            As well, on most infix calculators (such as TI, Panasonic,
  486.            Sharp, etc) you may form very complex expressions with the use of
  487.            parenthesis'.  For example ((( a + b )^(3/2))(F(x))
  488.            To  enter  the  equivalent  RPN  expression,  you  would  enter the
  489.            following line at the prompt.
  490.  
  491.                           a b + 3 2 / ^ F(x) * <enter>
  492.  
  493.                ( <enter> is the enter or return key on your keyboard )
  494.            This has a simple interpretation. Read from left to right. Push
  495.            numbers onto the stack, and operators operate upon the first 2
  496.            elements of the stack.
  497.            So "a b +" pushes a, then b onto the stack. Then it applies the
  498.            addition operator which  takes the stack  top (TOS) and  adds it to
  499.            the next element  in the stack  (NOS). Then it  pops the stack, and
  500.            replaces the top of the stack with the sum that it computed.
  501.            "3 2 /" pushes 2  then 2 onto the stack,  then divides the NOS (the
  502.            3) by the TOS (should be 2).
  503.            " ^ "  takes the next  on stack to  the power of  top of stack, and
  504.            pops the stack.
  505.            "f(x) *" pushes f(x) onto the stack, then multiplies to produce
  506.            the final result.
  507.            Do note that this is NOT the only way to use the RPN notation for
  508.            this problem.  For example, let us assume that x,y,z,t are synonyms
  509.            for  certain numbers.   Suppose I  had  to add  all of  the numbers
  510.            together
  511.            for my operations.  We could type
  512.                  x y z t + + +<enter>
  513.            or
  514.                  x y + z + t +<enter>
  515.  
  516.            or
  517.                  x y z + + t +
  518.  
  519.            Polynomials are rather easy to enter using Horners rule.
  520.                                    2     3       4
  521.            let f(x)=a + a * x + a*x +a *x  + a *x
  522.                      0   1       2    3       4
  523.            we can rewrite this as
  524.  
  525.  
  526.  
  527.  
  528.                  f(x)=a  + x*(a + x*(a  + x*(a  +x*a )))
  529.                        0       1      2       3     4
  530.            or using RPN
  531.  
  532.  
  533.                  a4 x * a3 + x * a2 + x * a1 + x * a0 +
  534.  
  535.            by now you have the basic idea!
  536.  
  537.  
  538.  
  539.            COMPLEX NUMBERS:
  540.               RPN handles complex numbers in a transparent fashion.  To enter
  541.            complex numbers, note the following: Let a,b be real numbers.
  542.            a complex number is entered into RPN as follows: a+bi
  543.            "i" is the indicator of a complex part of a number.
  544.            Allowable variations are as follows
  545.                    a or b: Real numbers
  546.                    ai or bi: Imaginary numbers
  547.                    a-bi: complex numbers
  548.                    -a+bi:   "      "
  549.                    -a-bi:   "      "
  550.  
  551.            example:
  552.                    to get 0+1i (better known as i) as the display, type
  553.                    -1  sqrt <enter>
  554.                or 
  555.                   1i
  556.  
  557.                to enter 1+5i + 3-4i type
  558.                    1+5i 3-4i + <enter>
  559.  
  560.  
  561.            Editing:
  562.            --------
  563.               I have written  a simple line  editor for RPN  input.  It allows
  564.            the arrow,  function, escape, insert,  and delete keys  to be used.
  565.            Pressing the  up or  down arrow after  some RPN  commands have been
  566.            entered,  scrolls back through the command buffer, also 16 elements
  567.            deep.  The Insert  and delete keys perform  as expected, and the
  568.            backspace functions   as a true  backspace.  The  left and right
  569.            arrows move you around on  the command line to allow corrections
  570.            etc.  The escape  key erases the current  command input line, or
  571.            while  executing  long  synonyms   or  files,  terminates  their
  572.            execution. The function keys  perform the indicated operations.  I
  573.            like it  (and it was  one bear  to debug!), and  I hope  you do as
  574.            well.
  575.  
  576.            Error Messages:
  577.            ---------------
  578.               I worked awful hard to get useful error messages to the user.
  579.            The error handler reports the error number and the problem (If
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.            it understands it...)  So far I have been successful at identifying
  597.            what errors are caused by what process.  If you encounter one that
  598.            simply gives the error number and no message, then please let me
  599.            know the circumstances of the problem, that I may investigate.  The
  600.            System is very fault tolerant.
  601.  
  602.       2) FUNCTION LIST
  603.  
  604.          USAGE: simply type the name, and unless otherwise noted the function
  605.                 will act on the top of the stack.  The results are left in the
  606.                 Top Of Stack (eg TOS).
  607.            (commas separate synonymous commands)
  608.  
  609.  
  610.         a) Basic math operations     (C# = Complex number, R# = Real number)
  611.            =====================     (TOS = Top Of Stack, NOS = Next On Stack)
  612.                                      this notation  is from  the HP  15c users
  613.                                      guide  published   by  HP.   (tm  Hewlett
  614.                                      Packard).   The notation  is  compact and
  615.                                      convenient.
  616.  
  617.            operator                                description of operation
  618.            --------                                ------------------------
  619.  
  620.            +                                       addition  (TOS+NOS)
  621.  
  622.            -                                       subtraction  (NOS-TOS)
  623.  
  624.            *                                       multiplication (TOS*NOS)
  625.  
  626.            /                                       division (NOS/TOS)
  627.  
  628.            ^                                       exponentiation (NOS^TOS)
  629.  
  630.            !                                       factorial (TOS)
  631.  
  632.            !!                                      double factorial (TOS)
  633.  
  634.            1/X,INV                                 inversion (TOS)
  635.  
  636.            ABS                                     Absolute magnitude (TOS)
  637.  
  638.            CONJ,~                                  complex conjugate (TOS)
  639.  
  640.            EXP                                     exponentiation (TOS)
  641.  
  642.            LN                                      natural log (TOS)
  643.  
  644.            LOG                                     base 10 log (TOS)
  645.  
  646.            MAG                                     magnitude of C# (TOS)
  647.  
  648.            ARG                                     argument of C#
  649.  
  650.  
  651.            NEG,-1*,NEGATE,NEGATIVE                 negate both imaginary and
  652.                                                    and real parts (TOS)
  653.  
  654.            RNEG                                    negate real part (TOS)
  655.  
  656.            SQRT,ROOT                               square root (TOS)
  657.  
  658.  
  659.  
  660.  
  661.  
  662.            SWAP                                    swap TOS and NOS
  663.  
  664.            CSWAP                                   swap the real and
  665.                                                    imaginary parts (TOS)
  666.  
  667.            FIX                                     set the number of digits
  668.                                                    in the decimal
  669.  
  670.  
  671.         b) Trigonometric Operators
  672.            =======================
  673.  
  674.            operator                                description
  675.            --------                                -----------
  676.  
  677.            ACOS,ARCCOS                             Inverse cosine (TOS)
  678.  
  679.            ASIN,ARCSIN                             Inverse sine (TOS)
  680.  
  681.            ATAN,ARCTAN,ATN                         Inverse tangent (TOS)
  682.  
  683.            COS,COSINE                              cosine (TOS)
  684.  
  685.            SIN,SINE                                sine (TOS)
  686.  
  687.            TAN,TANGENT                             tangent (TOS)
  688.  
  689.  
  690.         c) Hyperbolic Operators
  691.            ====================
  692.  
  693.            operator                                description
  694.            --------                                -----------
  695.  
  696.            ACOSH,ARCCOSH,INVCOSH                   Inv Hyperbolic cosine (TOS)
  697.  
  698.            ASINH,ARCSINH,INVSINH                   Inv Hyperbolic sine (TOS)
  699.  
  700.            ATANH,ARCTANH,INVTANH                   Inv Hyperbolic tangent(TOS)
  701.  
  702.            COSH                                    Hyperbolic cosine (TOS)
  703.  
  704.            SINH                                    Hyperbolic sine (TOS)
  705.  
  706.            TANH                                    Hyperbolic tangent (TOS)
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.         d) Constants
  719.            =========
  720.  
  721.            operator                                description
  722.            --------                                -----------
  723.            a0,ab,abohr                             Bohr Radius in meters
  724.  
  725.  
  726.  
  727.  
  728.  
  729.            c                                       speed of light in m/s
  730.  
  731.            e                                       electronic charge in
  732.                                                    coulombs
  733.  
  734.            ev                                      Electron Volts in c/m
  735.  
  736.            h                                       Plancks constant in J s
  737.  
  738.            hbar                                    Diracs constant (h/(2 pi))
  739.  
  740.            pi                                      3.14159265....
  741.  
  742.            euler                                   Eulers constant
  743.  
  744.  
  745.         e) System Commands
  746.            ===============
  747.  
  748.            operator                                description
  749.            --------                                -----------
  750.            DIARY                                   saves a diary of commands
  751.                                                    to disk
  752.  
  753.            QUIT,EXIT                                 terminate   session   and
  754.                                                    return to dos
  755.  
  756.            READ DIARY filename.ext                 reads a diary file from
  757.                                                    disk     of     the    name
  758.                                                    filename.ext
  759.  
  760.            REFRESH                                 Toggles the refresh flag to
  761.                                                    allow/disallow   refreshing
  762.                                                    the  stack   display  after
  763.                                                    every operation.
  764.                                                    The default is to see every
  765.                                                    operation.  This is a bit
  766.                                                    slow, but it is fun to see.
  767.  
  768.  
  769.            SYN,SYNONYM  command  synonym               creates  a  synonym  in
  770.                                                    memory,   for   the   entry
  771.                                                    'command'.  When the parser
  772.                                                    encounters     the    entry
  773.                                                    'command', it replaces it
  774.                                                    with    the    string    of
  775.                                                    operators or numbers
  776.                                                    found in the synonym.
  777.  
  778.                                  eg SYN F sqrt sqrt defines F  as the  4th root
  779.                                                   
  780.                                                 YOU MAY OVERRIDE THE INTERNAL
  781.                                                 FUNCTIONS WITH A SYNONYM!!!!
  782.          SYN-                                    removes a synonym from 
  783.                                                  storage.
  784.  
  785.          STORE,STO synonym element_of_stack     will store the contents of
  786.                                                  stack pointed to by the last
  787.                                                 number into the synonym.
  788.                                                 If synonym does not exist, 
  789.                                                 then it is created.
  790.                                  eg STORE x 3 will store the 3rd element of
  791.                                   the stack into synonym x.  To use the 
  792.                                   value stored into x, just type x where
  793.                                   you need it!!!
  794.                                                  
  795.          UNFORMAT                                toggles the formatted and
  796.                                                  unformatted modes of numeric
  797.                                                 display.  to force 7 digits
  798.                                                 of decimal display from the 
  799.                                                 unformatted display, you
  800.                                                 must do the following.
  801.                                  UNFORMAT FIX 7 
  802.                                                 to flip back to an
  803.                                                 unformatted display, just type
  804.                                                 the unformat command.
  805.  
  806.  
  807.  
  808.        3)  DESCRIPTION OF SYSTEM OPERATORS
  809.  
  810.               Before I get deeply involved into this description, I must make
  811.            a  note  to  you  that all  of  the  numerical  operators  with the
  812.  
  813.  
  814.  
  815.  
  816.            exception of the    Summation  operator, are operable on the entire
  817.            complex  plane.   This  obviously   includes  the  real  axis,  and
  818.            imaginary axis.  The other rather  obvious exception to this is the
  819.            inverse of 0  (or 0+0i).  I  will work on  some method for properly
  820.            handling infinities as they crop up.
  821.              Constants push themselves onto the stack.  They are usually real.
  822.  
  823.  
  824.            DIARY:
  825.            ======
  826.               Diary saves every command that you type in to an ascii file
  827.            of your own designation.  These files are editable by any word
  828.            processor capable of reading ascii files (obviously).  You may
  829.            change them as you wish, to include more or fewer operations.
  830.            I would strongly advise against including any system level commands
  831.            with the exclusion of SYN, or REFRESH.
  832.  
  833.            EXIT or QUIT:
  834.            ====    =====
  835.               EXIT or QUIT are very simply the methods of leaving RPN to DOS.
  836.            There is no difference between then, just a matter of preference
  837.            as to what you use.
  838.  
  839.            READ DIARY filename.ext:
  840.            ========================
  841.               READ DIARY filename.ext reads the diary files created by DIARY,
  842.            or by your own word processor.  The files are simply series of
  843.            operators, numbers or commands.  As each  line of the file is read,
  844.            it is  displayed at  the bottom of  the screen  (where you normally
  845.            enter the commands).   This simple interpreter  will be extended in
  846.            future releases.
  847.  
  848.            SYN or SYNONYM command synonym:
  849.            ===    ========================
  850.               SYN or SYNONYM command synonym places the single word command
  851.            into the synonym look up table.  When the parser encounters this
  852.            word command, the parser replaces the word command by the string
  853.            synonym.  If entered on one line, then the synonym is assumed to
  854.            be the rest of the line after command.  An example.
  855.                    SYN ADD +
  856.            will put the command ADD in the synonym list.  To use this new
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.            synonym, we simply  include it in the input line.  For example...
  870.                    1 1 ADD
  871.            will be interpreted as "1 1 +" by the parser.
  872.               Synonyms may be very complicated.  For example.
  873.                    SYN F LN 1/X NEG EXP
  874.            (this function F has the interesting property that F(F(x)=x,
  875.              Synonyms may contain numbers and other synonyms.
  876.  
  877.            WARNING!!!  DO  NOT  ATTEMPT   TO  MAKE  RECURSIVE  DEFINITIONS  OF
  878.  
  879.  
  880.  
  881.  
  882.            SYNONYMS!!!!
  883.            eg do NOT  attempt the following  unless you wish  to terminate the
  884.            execution of the synonym by pressing <escape>.
  885.  
  886.                 eg:
  887.                    SYN R1 1 + R1
  888.              This does the following. pushes 1  onto the TOS.  Adds the NOS to
  889.            TOS and pops  the stack, placing  the sum in  TOS.  Then the parser
  890.            expands the synonym  R1 (eg self referent)  and executes that... ad
  891.           nauseam.
  892.              This will simply never stop executing until you press the escape
  893.           key.
  894.              The length of  synonyms should be  kept to 80  operators or less.
  895.           If you have a need for more, please send me a letter, and I will
  896.           recompile the parser to accommodate it.
  897.  
  898.  
  899.           SAVE object filename.ext
  900.            ========================
  901.              This command saves the object to filename.ext  Object can be
  902.            the 1st 3 letters of STAck, SYNonyms, or BOTh.  This command
  903.            writes a diary file out to disk, and can be read back in to restore
  904.            a session by using READ DIARY filename.ext.
  905.  
  906.  
  907.        NOTE:  In the event of file name collision, RPN will ask you if you
  908.            wish to Append to the existing file of the same name you had
  909.            specified, or  simply overwrite  it.  If  you wish  neither, simply
  910.            press  enter.  Append is much safer than Overwrite, in that you may
  911.            recover from mistakes.
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.                   tm=trademark
  921.  
  922.            (1)    HP42s,HP15c, etc  tm Hewlett Packard Corp,
  923.            (2)    TI55 etc  tm Texas Instruments Corp.
  924.            (3)    Panasonic tm Panasonic Corp.
  925.            (4)    Sharp tm Sharp Ltd.
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.            Ordering Info
  940.  
  941.            Name:_____________________________________________________
  942.  
  943.            Company:__________________________________________________
  944.  
  945.  
  946.  
  947.  
  948.  
  949.            Title:____________________________________________________
  950.  
  951.            Dept:_______________________  office num:____________
  952.  
  953.            Street:___________________________________________________
  954.  
  955.            City:_______________________  State:_____________ Zip:_________
  956.                                                                   
  957.                                                                            st
  958.            I would like to register _____ copies of RPN at $12.50 for the 1  2,
  959.                                                     and    $10  for each
  960.            additional copy.
  961.  
  962.            I have enclosed a check or money order for $______
  963.            made out to Joseph Landman, or Sofia Villanueva. 
  964.  
  965.            Mailing address:
  966.                  Physics and Astronomy Building,
  967.                  666 Hancock Avenue,
  968.                  Wayne State University,
  969.                  Detriot MI 48202
  970.  
  971.         Comments:  
  972.           (please include so that you will help us to improve our product,
  973.            and better meet the needs of our users!)