home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / useful / dev / obero / oberon-a / source / library / util.mod < prev   
Encoding:
Text File  |  1994-08-08  |  1.6 KB  |  82 lines

  1. (***************************************************************************
  2.  
  3.      $RCSfile: Util.mod $
  4.   Description: Utility procedures
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 1.3 $
  8.       $Author: fjc $
  9.         $Date: 1994/08/08 16:26:06 $
  10.  
  11.   Copyright © 1994, Frank Copeland.
  12.   This file is part of the Oberon-A Library.
  13.   See Oberon-A.doc for conditions of use and distribution.
  14.  
  15. ***************************************************************************)
  16.  
  17. MODULE Util;
  18.  
  19. (*
  20. ** $C= CaseChk       $I= IndexChk  $L+ LongAdr   $N= NilChk
  21. ** $P= PortableCode  $R= RangeChk  $S= StackChk  $T= TypeChk
  22. ** $V= OvflChk       $Z= ZeroVars
  23. *)
  24.  
  25. PROCEDURE MaxShortint * (a, b : SHORTINT) : SHORTINT;
  26.  
  27. BEGIN
  28.   IF a > b THEN RETURN a END; RETURN b
  29. END MaxShortint;
  30.  
  31. PROCEDURE MinShortint * (a, b : SHORTINT) : SHORTINT;
  32.  
  33. BEGIN
  34.   IF a < b THEN RETURN a END; RETURN b
  35. END MinShortint;
  36.  
  37. PROCEDURE MaxInt * (a, b : INTEGER) : INTEGER;
  38.  
  39. BEGIN
  40.   IF a > b THEN RETURN a END; RETURN b
  41. END MaxInt;
  42.  
  43. PROCEDURE MinInt * (a, b : INTEGER) : INTEGER;
  44.  
  45. BEGIN
  46.   IF a < b THEN RETURN a END; RETURN b
  47. END MinInt;
  48.  
  49. PROCEDURE MaxLongint * (a, b : LONGINT) : LONGINT;
  50.  
  51. BEGIN
  52.   IF a > b THEN RETURN a END; RETURN b
  53. END MaxLongint;
  54.  
  55. PROCEDURE MinLongint * (a, b : LONGINT) : LONGINT;
  56.  
  57. BEGIN
  58.   IF a < b THEN RETURN a END; RETURN b
  59. END MinLongint;
  60.  
  61. PROCEDURE PowerOfTwo * (power : SHORTINT) : LONGINT;
  62.  
  63. VAR
  64.   result : LONGINT;
  65.  
  66. BEGIN
  67.   result := 1;
  68.   WHILE power > 0 DO
  69.     result := result * 2;
  70.     DEC(power);
  71.   END;
  72.   RETURN result;
  73. END PowerOfTwo;
  74.  
  75. PROCEDURE ROUND * (x : REAL) : LONGINT;
  76.  
  77. BEGIN
  78.   RETURN (ENTIER(x + 0.5));
  79. END ROUND;
  80.  
  81. END Util.
  82.