File: HELP07.HF of Tape: Sources/Focal/s4
(Source file text) 

***** FUNCTIONS:



FOR MOST FUNCTIONS, A SAMPLE LINE IS SHOWN AND THEN EXECUTED:
FABS( )  ABSOLUTE VALUE
EXAMPLE (WRITTEN THEN EXECUTED):
03.40 TYPE FABS(-3),FABS(2),!!!!
   3.0000   2.0000



FATN( )  ARCTANGENT    ARGUMENT RANGE:  0<A<10^6
05.25 TYPE FATN(1),!!!!;COM:  OUTPUTS RADIAN ANGLE WHOSE TANGENT = 1.00
PRECISION DOES NOT EXCEED 6 DIGITS AND DROPS FOR NEAR-ZERO ARGUMENTS
   0.7854
ANOTHER WAY TO GET THIS NUMBER IS: TYPE PI/4$   0.7854



-------  TANGENT   'FTAN( )' IS NOT AVAILABLE
TANGENT IS COMPUTED AS THE QUOTIENT (SINE/COSINE)
05.55 TYPE FSIN(1)/FCOS(1),!!!!;COMMENT:  OUTPUTS TANGENT OF 1 RADIAN
   1.5574
(COULD BE IMPLEMENTED IN ANOTHER OVERLAY LIKE FCARIT
   - - - IF SOMEBODY FEELS LIKE IT!!!)



FCOS( )  COSINE
06.27 TYPE FCOS(1),FCOS(3/2),!!!!; COM: OUTPUTS COSINES OF 1 & 1.5 RADIANS
   0.5403   0.0707


FEXP( )  EXPONENTIAL
08.24 TYPE FEXP(1),FEXP(2.17),!!!!; COM: NATURAL BASE TO THE POWER (X)
   2.7183   8.7583



FITR( )  INTEGER
SERIOUS ROUNDING ERRORS OCCUR FOR NUMBERS OF MORE THAN 5 DIGITS.
THE PROBLEM MAY BE HANDLED BY ADDING EMPIRICAL CONSTANTS TO THE
ARGUMENT.
09.18 TYPE FITR(3/2),FITR(23.719),FITR(-2.99),!!!!
   1.0000  23.0000 - 2.0000



FLOG( )  NATURAL LOGARITHM
10.14 TYPE FLOG(1),FLOG(4.237),FLOG(10),!!!!
   0.0000   1.4439   2.3026



FRAN( )  RANDOM NUMBER
11.22 TYPE FRAN( ),FRAN( ),FRAN( ),FRAN( ),FRAN( ),!
   0.5255   0.9827   0.2605   0.0001   0.5004
THE PSEUDO-RANDOM NUMBERS PRODUCED ARE PART OF A VERY LONG AND WELL
DISTRIBUTED BUT DETERMINISTIC SERIES.
HOWEVER,FRAN( ) DOES NOT GENERATE TRULY RANDOM NUMBERS.



FSGN( )  SIGN
12.34 T %1.0 FSGN(2.78),"  ",FSGN(-299),"  ",FSGN(0),"  ",FSGN(-1),!!!!
  1   -1    0   -1



FSIN( )  SINE OF AN ANGLE GIVEN IN RADIANS
13.52 TYPE FSIN(1),FSIN(0),FSIN(37-2.22),!!!!
   0.8415   0.0000 - 0.2207



FSQT( )  SQUARE ROOT OF A POSITIVE NUMBER
14.40 TYPE FSQT(4),FSQT(391),FSQT(.0038953),!!!!
   2.0000  19.7737   0.0624



FIN( )   CHARACTER INPUT FUNCTION
ASKS FOR A CHARACTER FROM THE TERMINAL (OR A FILE); EXAMPLE:
09.14 SET X=FIN( )
SETS X TO THE DESCIMAL ASCII CODE OF THE INPUT CHARACTER
ANOTHER WAY OF LOOKING AT THE TERMINAL IS VIA THE SECRET
VARIABLE $. THIS VARIABLE IS THE TELETYPE INPUT BUFFER AND THUS
IT CAN BE GLANCED AT DURING PROGRAM EXECUTION,
WITHOUT STALLING IT.


FOUT( )  CHARACTER OUTPUT FUNCTION
EXAMPLE:
09.25 SET A=FOUT(X)
OUTPUTS THE CHARACTER WHOSE CODE EQUALS X
CONTROL CHARACTERS ARE NORMALLY CONVERTED TO THE ^X FORM
WHEN DOING OUTPUT TO THE TTY:. THIS FEATURE CAN BE INHIBITED
BY ISSUEING AN O I TTY: (WITHOUT ,E!!!)


IF AN 'L' WERE TYPED IN RESPONSE TO LINE 9.14, X WOULD BE SET
EQUAL TO 204.  THEN LINE 9.25 WOULD CAUSE AN 'L' TO BE OUTPUT.
THE 'A' ON LINE 9.25 IS A DUMMY VARIABLE.



FIND(  )  CHARACTER SEARCH FUNCTION
LOOKS FOR ASCII CHARACTER WITH SPECIFIED CODE IN AN
INPUT STREAM.  EXAMPLE:

1.1 O I TEXT,E
1.2 S Z=FIND(154)
1.3 O I TTY:,E;Q

	THIS ECHOES FILE TEXT.FD FROM DSK: ON THE TERMINAL
UP TO ^Z. (END OF FILE: DECIMAL CODE 154)
DECIMAL ASCII CODES:

FOR FIN( ) AND FOUT( ):


CODE CHARACTER      CD. CHAR.  CD. CHAR.
---- -----------    --- -----  --- -----
 128 CTRL/SHFT/P     160 SPACE  193 A
      (LEADER)       161 !      194 B
 129 CTRL/A          162 "      195 C
 130 CTRL/B          163 #      196 D
 131 CTRL/C          164 $      197 E
 132 CTRL/D          165 %      198 F
 133 CTRL/E          166 &      199 G
 134 CTRL/F          167 '      200 H
 135 CTRL/G(BELL)    168 (      201 I
 136 CTRL/H(BACKSP)  169 )      202 J
 137 CTRL/I(HORTAB)  170 *      203 K
 138 LINE FEED       171 +      204 L
 139 CTRL/K          172 ,      205 M
 140 CTRL/L(FORMF)   173 -      206 N
 141 RETURN          174 .      207 O
 142 CTRL/N(CRONLY)  175 /      208 P
 143 CTRL/O          176 0      209 Q
 144 CTRL/P          177 1      210 R
 145 CTRL/Q          178 2      211 S
 146 CTRL/R          179 3      212 T
 147 CTRL/S          180 4      213 U
 148 CTRL/T          181 5      214 V
 149 CTRL/U          182 6      215 W
 150 CTRL/V          183 7      216 X
 151 CTRL/W          184 8      217 Y
 152 CTRL/X          185 9      218 Z
 153 CTRL/Y          186 :      219 [
 154 CTRL/Z(EOF)     187 ;      220 \
 155 CTRK/SHFT/K     188 <      221 ]
 156 CTRL/SHFT/L(ESC)189 =      222 ^
 157 CTRL/SHFT/M     190 >      223 _
 158 CTRL/SHFT/N     191 ?      253 ALT MODE
 159 CTRL/SHFT/O     192 @      255 RUBOUT


FOUT(141) WILL OUTPUT A RETURN/LINE FEED; FOUT(142) WILL OUTPUT A
CARRIAGE RETURN ONLY.  CODE 143,144 (CTRL/O,P) ARE FOS8'S BREAK CHARACTERS.
224 THROUGH 250 ARE LOWER-CASE LETTERS ON SOME TERMINALS.  MANY
TERMINALS USE SHIFT/K, /L, AND /M FOR '[', '\', AND ']'.