home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pmos2002.zip / DEF / RATIONAL.DEF < prev    next >
Text File  |  1994-05-02  |  1KB  |  51 lines

  1. DEFINITION MODULE Rationals;
  2.  
  3.     (********************************************************)
  4.     (*                            *)
  5.     (*        Arithmetic on rational numbers        *)
  6.     (*                            *)
  7.     (*  Programmer:        P. Moylan            *)
  8.     (*  Last edited:    2 May 1994            *)
  9.     (*  Status:        OK                *)
  10.     (*                            *)
  11.     (********************************************************)
  12.  
  13. TYPE Rational = RECORD
  14.             num: INTEGER;
  15.             denom: CARDINAL;
  16.         END (*RECORD*);
  17.  
  18. PROCEDURE Zero (): Rational;
  19.  
  20.     (* Returns a representation of zero. *)
  21.  
  22. PROCEDURE Unity (): Rational;
  23.  
  24.     (* Returns a representation of the number 1. *)
  25.  
  26. PROCEDURE Add (x, y: Rational): Rational;
  27.  
  28.     (* Returns x+y. *)
  29.  
  30. PROCEDURE Subtract (x, y: Rational): Rational;
  31.  
  32.     (* Returns x-y. *)
  33.  
  34. PROCEDURE Multiply (x, y: Rational): Rational;
  35.  
  36.     (* Returns x*y. *)
  37.  
  38. PROCEDURE Divide (x, y: Rational): Rational;
  39.  
  40.     (* Returns x/y. *)
  41.  
  42. PROCEDURE Reciprocal (x: Rational): Rational;
  43.  
  44.     (* Returns 1/x. *)
  45.  
  46. PROCEDURE Compare (x, y: Rational): INTEGER;
  47.  
  48.     (* Returns 0 if x=y, <0 if x<y, and >0 if x>y. *)
  49.  
  50. END Rationals.
  51.