[BACK]Return to abstract_ring-domain.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Numbers

File: [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Numbers / abstract_ring-domain.ads (download)

Revision 1.1, Sun Oct 29 17:45:25 2000 UTC (23 years, 8 months ago) by maekawa
Branch point for: MAIN

Initial revision

generic

  with function "<" ( a,b : number ) return boolean;
  with function ">" ( a,b : number ) return boolean;

  with function "/" ( a,b : number ) return number;

  with function  Rmd ( a,b : number ) return number;            -- a mod b
  with procedure Rmd ( a : in out number; b : in number );      -- a := a mod b

  with procedure Div ( a : in out number; b : in number );      -- a := a/b
  with procedure Div ( a,b : in number;                         -- a = b*q+r
                       q : out number; r : out number );        -- q := a/b
  with procedure Div ( a : in out number; b : in number;        -- a := a/b
                       r : out number );                        -- r := a mod b

package Abstract_Ring.Domain is end;

-- DESCRIPTION :
--   An Euclidean domain is a ring where for any pair (a,b), b /= 0,
--   there exists a quotient q and a remainder r, such that a = b*q + r.
--   Note that here we only have the remainder and division operations.
--   Any package that makes usage of the full euclidean domain must as
--   well have the ring, instantiated with the same number type.