ASMB,L,R,C
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
*   NAME: PART OF MATH LIBRARY
*   SOURCE:  24998-18XXX  SEE NAM FOR LAST THREE DIGITS 
*   RELOC: PART OF 24998-12001
*   PGMR: BG & JTS
* 
      HED ".YINT" - TRIPLE PRECISION TRUNCATION.
      NAM .YINT,7 24998-1X133 REV.2001 780424 
* 
      ENT .YINT 
      EXT .TENT,.TADD,.ENTR 
* 
*     .YINT RETURNS THE TRIPLE PRECISION NUMBER OF INTEGER VALUE
*     WHICH HAS THE MAXIMUM MAGNITUDE LESS THAN OR EQUAL TO THE 
*     ARGUMENT, I.E.
*                   .YINT(X) = SIGN(FLOOR(ABS(X)),X)
* 
*     CALLING SEQUENCE: 
* 
*                   JSB .YINT 
*                   DEF *+3 
*                   DEF <RESULT>
*                   DEF <ARG> 
*                   <RETURN>
* 
*     METHOD:  RESULT = FLOOR(X) IS TAKEN USING .TENT .  IF X<0 AND 
*     BITS WERE TRUNCATED, 1.0 IS ADDED.
* 
RESLT BSS 1 
ARG   BSS 1 
.YINT NOP 
      JSB .ENTR     COPY ADDR 
      DEF RESLT 
      JSB .TENT     TAKE FLOOR(X) 
      DEF *+3 
      DEF RESLT,I 
      DEF ARG,I 
      LDA ARG,I 
      SZB           IF NO BITS WERE TRUNCATED, DONE.
      SSA,RSS       IF X>= 0, DONE. 
      JMP .YINT,I 
      JSB .TADD     ELSE ADD 1.0
      DEF RESLT,I 
      DEF RESLT,I 
      DEF ONE 
      JMP .YINT,I   EXIT
* 
ONE   DEY 1.0 
      END 
                                                                          