File: AMIN.RA of Tape: Sources/Fortran/os8-f4-3
(Source file text)
/R=AMIN0(I,...),AMIN1(R,...) SINGLE PREC. MIN. VALUE /I= MIN0(I,...) MIN1(R,...) / / / VERSION 40A 22-MAY-80 WVDM / / SECT AMIN0 ENTRY AMIN1 ENTRY MIN0 ENTRY MIN1 BASE 0 AMIN1, SETX XR LDX 1,3 /DON'T INTEGERIZE RESULT MINCOM, STARTD FLDA 0 /ADDRESS OF JA .+2+2*N FSTA 3 FLDA 30 /RETURN ADDRESS FSTA RETN FLDA% 3 / JA .+2+2*N FSUB 0 /-JA . FSUB TWO /- 2 LDX 1,1 ALN 1 /DIVIDE BY TWO FNEG /-N ATX 1 LDX 0,2 /FOR ARG PICKUP FLDA% 0,2+ /ADDRESS OF FIRST ARG FSTA 3 STARTF NEW, FLDA% 3 /SAVE NEW MIN FSTA MIN SAME, JXN MORMIN,1+ /ANY MORE ARGS ? FLDA MIN /GET RESULT JXN RETN,3 /DON'T FIX JLT NEGFIX /NEGATIVE FIX ALN 0 FNORM JA RETN NEGFIX, FNEG ALN 0 FNORM FNEG RETN, JA . MORMIN, STARTD /NEXT ARG ADDRESS FLDA% 0,2+ FSTA 3 STARTF FLDA MIN /COMPARE FSUB% 3 JLE SAME /SAME MIN JA NEW /NEW MIN TWO, 0;2 MIN, 0;0;0 MIN0, MIN1, SETX XR LDX 0,3 /INTEGERIZE RESULT JA MINCOM /GO DO IT XR, 0;0;0;0;0;0;0;0 END