CALC VERSION 3 ---- ------- - CALC Ver. 1 was never released. This release replaces Ver. 2 (DECUS No. 20-7). CALC Ver. 3 is functionally identical to Ver. 2, with the exception of the following fix and the improvement to MCR20 detailed below. - CALC Ver. 2 would print an error when trying to calculate SQRT(.1)-2. It was found that the precedence of stack operations were not proper, causing this error. It has been fixed. - Ver. 2 required that the user be CONNECTed to the directory containing CALC.EXE in order to use CALC. This has been rectified by a rewrite of MCR20 and minor changes to CALC.FOR (the main program). MCR20 is a MACRO-20 subroutine which obtains the command line from TOPS-20. It checks the line and decides if the run is a one-shot or a continuous session. If it's a one-shot, MCR20 returns the argument (CALC expression hopefully) to the calling program. The following examples will cause CALC to evaluate the given expression and exit immediately: @CALC 2+2 @CALC SQRT(3*3+4*4) @CALC (-8+SQRT(8*8-4*1*16))/(2*1) The following examples will cause CALC to enter continuous mode, prompting with CALC> @CALC (no argument) @RUN CALC @RUN CALC @RUN CALC.EXE @GET CALC.EXE @START MCR20 uses the TOPS-20 COMND JSYS and parses for a file name. Thus CALC may be renamed and/or MCR20 could be utilized by other programs. It should be noted that the syntax: @RUN CALC expression is disallowed by TOPS-20 (Ver. 3 at this writing) and thus by extension, disallowed by CALC.